Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Bookmark Sets #254

Open
mholtzhausen opened this issue Nov 22, 2019 · 13 comments
Open

[Feature Request] Bookmark Sets #254

mholtzhausen opened this issue Nov 22, 2019 · 13 comments
Assignees
Labels
Milestone

Comments

@mholtzhausen
Copy link

Scenario 1:
We have a long-running feature being developed on one of our platforms. It is a multi-month project, and while we are committing code for that on a branch, we also need to maintain, bugfix and feature-up our existing code. Daily I could swap between working on the big feature, or on bugfixes on the current software.
I use bookmarks to group together areas of interest while performing a task. That way I can quickly navigate to the different interacting parts of the code for that task.

But when I switch to my long-running feature, the bookmarks are off, or not related to the task I did yesterday.

Scenario 2:
Authentication does not live only in one place in my code. There is a service, helper functions, guards in different routes and lots of other places that get touched by auth.
I use bookmarks to group together these areas so that when I work on auth, I can easily navigate my way around all the parts touched by auth.

But there is more than one service or feature or flow that I want to bookmark. Too many bookmarks make it difficult to use, and prefixes will only get you that far.

Feature Request
One could have bookmark sets so that only one set of bookmarks is active at any given time. If working on Auth, I activate the 'AUTH' set. When working on my long-running feature, I can use bookmark sets to separate out those bookmarks from my regular day-to-day bookmarks.

BONUS FEATURE
What if you could store a set of bookmarks in a configurable location as part of your project. Then every time you do a git pull you get the benefit of feature-grouped bookmarks other people on your team have made public.
Imagine what this would mean for onboarding new devs.

✌️

@alefragnani
Copy link
Owner

Hi @Nemesarial ,

Your first scenario appears similar to #177 , right?

Your second scenario appears an evolution to #225, because you “activate” certain group of bookmarks. I think it’s a good idea too 👍

Thanks for your suggestions!

@chodorowicz
Copy link

Yeah, bookmarks' sets would be very helpful. In large projects I'd be nice to have set of bookmarked files relevant for particular feature / PR. Good idea 👍

@davelnewton
Copy link

I'd love to have this feature.

In particular, naming bookmark sets would provide a context to specific tasks, e.g., a specific ticket or feature request.

If these were also exportable (pretty much in any way) it would allow diving in to specific "things" in a repeatable way, whether an explanation of a code flow or figuring out what work was done on a previous ticket.

It's obviously low-resolution in that code changes, making bookmarks easily obsoleted, but it's a nice start. It's not much, but I chipped in $10, and am also happy to work on code/implementation.

@alefragnani
Copy link
Owner

Hi @davelnewton ,

First of all, thank you for your donation. Your support is valuable and help me keep pushing the extension forward :+1.

Just recently, when looking at this issue, I wonder if to some of you the Code Tour extension wouldn’t be the perfect solution. I mean, you are able to define sets (called Tours), define unlimited/ordered marks (called Steps). You can even define text selection on each step. I use it on a few startup/learning scenarios in some of my repos, and it works just fine. Let’me know if it works for you too .

I think, prior to have Sets, the extension should have a way to group/organize bookmarks. The #225 and #243 issues describes these ideas.

Hope this helps

@alefragnani
Copy link
Owner

I know it did take too long, but it's finally going to happen 😬 .

It will be based on my Project Manager extension alefragnani/vscode-project-manager#50 (comment), which had a good reception from the users.

Motivation

Organize the bookmarks in a way you could group and filter them, depending on some context.

Concept

  • What was initially called set will be renamed to Tag.
  • Each Bookmark can have more than one Tag assigned

Saving Bookmarks

When you toggle a new bookmark, you just run the command. I would like to keep this simple, and avoid adding another step to apply Tags to the bookmark.

Applying Tags

A new Edit Tags command will be added to context menu in the Side Bar. Once called you will be able to:

  • Apply/Update Tags

Side Bar

A new View as Tags option will be added, so you will be able to choose the best way to display your bookmarks.

When you choose View as Tags, the bookmarks will be grouped by it's Tags, instead of Files. If a bookmark has more than one Tag, it will be displayed on each's Tag node

  - Landing 
    > Some labeled bookmark
    > if (x === y) {
    > function xyz() {
  - Backend
    > ## Readme
  -  Frontend
    > function abc() {
    > Some labeled bookmark

This duplicity will be better understood with the Switching Contexts option

Switching Contexts

One of the ideas behind Tags is to define contexts for each bookmark, like Landing, Frontend, Backend, and so on.

Switching contexts will give you the chance to focus on this kind of bookmarks, depending on its Tags. Once you switch to some context, the bookmarks will be filtered by that Tag.

Only the bookmarks of that context will be available in the Side Bar and Command Palette.

Limitations

  • It must be simple to use (when needed)
  • Avoid structural changes on bookmarks.json file
  • No multi-level visualization on Side Bar

Feedback

Are welcome, of course 😁

@davelnewton
Copy link

@alefragnani This is great :) I'm excited to try it out--thank you!

@vakokako
Copy link

vakokako commented Aug 3, 2022

Super nice feature!

@ldelossa
Copy link

Came here to request something similar to this. Is this dead?

@Kirysha
Copy link

Kirysha commented May 23, 2023

I'm waiting for this too

@chaukhoa97
Copy link

Having any update on this? This can be the perfect bookmark extension if we have this feature.

@incrypto32
Copy link

incrypto32 commented Dec 2, 2023

Hi, any work going on this feature, wold love to have this. I'd love to donate to get this feature done if this can be get done soon

@adgower
Copy link

adgower commented Feb 1, 2024

Can't wait for this feature. If anyone is looking for something that kinda helps with this ref this extension: https://marketplace.visualstudio.com/items?itemName=DeepakPahawa.flowbookmark

@mhnap
Copy link

mhnap commented May 16, 2024

I was waiting for this feature but found the Labeled Bookmarks extension which supports grouping and active/inactive feature as well. Seems it's not so popular and not maintained, but maybe will suit somebody.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests