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

Better handle multiple definitions from Source Link in GTD #59713

Open
davidwengier opened this issue Feb 23, 2022 · 4 comments
Open

Better handle multiple definitions from Source Link in GTD #59713

davidwengier opened this issue Feb 23, 2022 · 4 comments

Comments

@davidwengier
Copy link
Contributor

davidwengier commented Feb 23, 2022

A single type could be spread over multiple source files, but Roslyn currently only supports navigating to one initially. Subsequent navigations correctly bring up the Find References window and allow the user to select .

Right now you can workaround this limitation by executing a GTD on a type symbol, for example, and then F12ing again on the type symbol once you have been navigated.

When a source link file is opened from the Find References window in this way, and presumably once the multiple results work up front, the tab for the document is not correct, and the tab is not opened as readonly.

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-IDE untriaged Issues and PRs which have not yet been triaged by a lead labels Feb 23, 2022
@davidwengier
Copy link
Contributor Author

@jinujoseph jinujoseph added Concept-Continuous Improvement and removed untriaged Issues and PRs which have not yet been triaged by a lead labels Mar 2, 2022
@jinujoseph jinujoseph added this to the 17.2 milestone Mar 2, 2022
@davidwengier
Copy link
Contributor Author

davidwengier commented Mar 16, 2022

https://github.com/TerraFX/TerraFX is a good sample project for this. TerraFX.Interop.Windows.Windows is a ~240k line file split across multiple ~1-3k line partial files, so current navigation experience reported by @tannergooding is pretty poor.

@davidwengier davidwengier modified the milestones: 17.2, 17.3 Mar 23, 2022
@davidwengier
Copy link
Contributor Author

Worth considering https://github.com/dotnet/roslyn/pull/61205/files/90898165014cc3339697e13898261a56c1e1106d#r874908155 when this is done, as it will likely involve more UI affecting oddness

@Sergio0694
Copy link
Contributor

+1 to this, I've just hit this with ComputeSharp.D2D1.Uwp (https://github.com/Sergio0694/ComputeSharp), as I have the PixelShaderEffect<T> type which is split into 6-7 partial files (see here). CTRL + click just opens the first one, and then trying to do that again or pressing F12 just doesn't do anything. Interestingly, I do see the full list of members from the drop down in the top right, but if I try to click on any member from another partial file for the type, I just get this error dialog:

image

So essentially I'm completely unable to open the source for any of those methods and set breakpoints there 🥲

@arunchndr arunchndr 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
None yet
Development

No branches or pull requests

4 participants