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

Source Link support in Go To Definition #55834

Open
8 of 11 tasks
davidwengier opened this issue Aug 24, 2021 · 11 comments
Open
8 of 11 tasks

Source Link support in Go To Definition #55834

davidwengier opened this issue Aug 24, 2021 · 11 comments

Comments

@davidwengier
Copy link
Contributor

davidwengier commented Aug 24, 2021

Allow Go To Definition to pull sources from Source Link enabled assemblies.

See also #24349

Background:

Process:

Also:

@davidwengier davidwengier self-assigned this Aug 24, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-IDE untriaged Issues and PRs which have not yet been triaged by a lead labels Aug 24, 2021
@davidwengier davidwengier added this to the 17.1 milestone Aug 24, 2021
@jinujoseph jinujoseph added Feature Request and removed untriaged Issues and PRs which have not yet been triaged by a lead labels Aug 31, 2021
@mikadumont mikadumont added this to Proposed in Roslyn-IDE via automation Oct 27, 2021
@jmarolf jmarolf added User Story A single user-facing feature. Can be grouped under an epic. Epic Groups multiple user stories. Can be grouped under a theme. Theme Groups multiple epics. and removed User Story A single user-facing feature. Can be grouped under an epic. labels Dec 2, 2021
@terrajobst
Copy link
Member

@jmarolf I think you want this to be either Epic or Theme, probably Epic, right?

@davidwengier
Copy link
Contributor Author

I feel strangely violated

@jmarolf jmarolf removed the Theme Groups multiple epics. label Dec 5, 2021
@jmarolf
Copy link
Contributor

jmarolf commented Dec 5, 2021

Sorry @davidwengier I am labeling things to see what happens on themeof.net. They don't mean anything yet. Just experiementing

@terrajobst
Copy link
Member

They don't mean anything yet.

Now I feel strangely violated

@jmarolf jmarolf added Epic Groups multiple user stories. Can be grouped under a theme. User Story A single user-facing feature. Can be grouped under an epic. and removed Epic Groups multiple user stories. Can be grouped under a theme. labels Dec 10, 2021
@mikadumont mikadumont moved this from Proposed to In Progress in Roslyn-IDE Dec 14, 2021
@Meligy
Copy link

Meligy commented Aug 24, 2022

Is this supposed to work even partially with "remoteHub.richNavigation.enabled": true? Spotted it in #24349 (comment) but probably does not work for non remote repos.

@davidwengier
Copy link
Contributor Author

@Meligy I'm not sure what that setting means, nor where you would set it. In general Go To Def works regardless of what repo code may come from, but the Source Link aspect would not work if there wasn't Source Link information in the PDBs of the referenced DLLs. If you're having issues with things not working, it's probably best to just log an issue and we can investigate.

@Meligy
Copy link

Meligy commented Aug 24, 2022

Hi @davidwengier. Thanks for the reply and sorry for not providing enough context. I was checking why Omnisharp decompilation support was not showing implementation for BCL methods (for a simply example, Array.Empty<int>()). And my googling led to #24349 (comment). The setting I mentioned my previous reply is what's shown in the VS Code Settings picture in the comment. I wasn't sure if it's related or not, hence the question.

I understand that in Visual Studio (at least for Windows, maybe for Mac but did not check) there are settings to add symbol servers, download symbols from them, and use these for debugging and maybe decompilation. I was hoping there was something similar when consuming Roslyn via VS Code / Omnisharp.

@davidwengier
Copy link
Contributor Author

Unfortunately the components that enable Roslyn to download PDBs and Source Link files are part of Visual Studio, and don't ship with OmniSharp/the C# extension.

@JoeRobich
Copy link
Member

@Meligy The documentation for configuring Symbol and Source Link options for the .NET Core Debugger in the C# extension can be found at https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#symbol-options

@Meligy
Copy link

Meligy commented Aug 25, 2022

@JoeRobich thanks a lot. I was actually wondering more about decompilation without debugging (think: right click a symbol and choose "Go to Definition/implementation"). But this is also very useful. I wonder if once downloaded, this become available to use even without debugging.

@JoeRobich
Copy link
Member

JoeRobich commented Aug 25, 2022

@Meligy If you set omnisharp.enableDecompilationSupport to true and accept the terms, then with a restart you are able to go to decompilation with the C# extension in VS Code. If you had previously rejected the terms, then you can run the "CSharp: Show decompilation terms agreement" command.

@arkalyanms arkalyanms modified the milestones: 17.3, 17.6 P2 Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Roslyn-IDE
In Progress
Development

No branches or pull requests

8 participants