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

Add Bookmarks pad #1836

Open
siegfriedpammer opened this issue Dec 2, 2019 · 5 comments
Open

Add Bookmarks pad #1836

siegfriedpammer opened this issue Dec 2, 2019 · 5 comments

Comments

@siegfriedpammer
Copy link
Member

Add a bookmarks pad that allows keeping a list of items from the assembly list treeview for quick navigation.

@greenozon
Copy link

Please consider using shortcuts e.g as in VS - F2 and CTRL+F2
devs used to that combo, so will give it a like :)

@wzengguang
Copy link

I hope to add bookmark feature. thanks a lot.

@niello
Copy link

niello commented Mar 6, 2021

Bookmarks for individual lines of code will be very useful too

@RTX2080S
Copy link
Contributor

RTX2080S commented Aug 4, 2023

Hello @siegfriedpammer , I can take up this one, just wanted to make sure no one else is working on it right?

@christophwille
Copy link
Member

We didn't get around to designing the feature during our developer days. Some notes though:

  • What to bookmark: line in decompiled source? Tree nodes?
  • What is the identity of the assembly and how do you remember the bookmark (most likely IL to line number in C#) Note: we support not only bog-standard .dll but also eg. NuGet or zipped.
  • What happens when the language version changes? Some constructs decompile differently in different language versions and thus the bookmark might shift if C#-line-based.
  • What happens to a bookmark if you switch from C# to say IL? Or should we support bookmarks only in C#?
  • What happens to a bookmark if you rebuild your project and the line the bookmark was (IL instruction) is no longer there?
  • What happens if the assembly is removed from the assembly tree? (most likely: auto-remove all bookmarks, or: have a node with bookmarks for unloaded assemblies so you could get them back if the assembly gets re-added)
  • Nice to have "Copy/paste bookmark from assembly x to y" (best effort) - eg you are comparing two assemblies with different versions.
  • In the same vein: Export/Import (entire list, bookmarks for assembly) - so one can share bookmarks with others.

In general:

  • Do not store in ilspy.xml. Same location, but separate file, eg bookmarks.json.
  • Looking at dnSpy visually is ok, source code a big no-no because it is GPL (doesn't mix at all with our MIT license, so best to not know anything about it)

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

No branches or pull requests

6 participants