-
Notifications
You must be signed in to change notification settings - Fork 790
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
Go To Definition - f12 fails, tooltip works #5521
Comments
I already experienced that in a Fable project with 15.7 . In 15.8 it still doesn't work there but it works for me on a backend project so looks like it's bound to specific circumstances? |
@isaacabraham can you provide some more details or upload a repro solution? Using 15.8, .NET Core project: fsx-to-fs in a .NET Framework project: |
@isaacabraham Do you have a repro? I used this throughout the VF# codebase yesterday and could not get GTD to fail. |
I've managed to get a repro in an existing project. The only thing I can see that might be the cause is that the symbol I'm trying to go to definition on lives in a linked |
I can also reproduce on a script where I'm loading in an |
I've seen the same in safe bookstore - f12 mostly doesn't work, the clickable tooltips do |
@isaacabraham in the second GIF, I'm doing the same as this:
But it succeeds. Do you have a repro? I'll take a look at the fable bookstore, which uses linked files. |
@cartermp this is then something either environmental - my install of 15.8.1 is somehow borked, or something specific with the project. But I can't see anything there else unusual - it's a netcore2.0 console app. There's definitely something different in the behaviour of Go To Definition when hitting F12 compared to clicking the hyperlink in the tooltip, because the latter works whilst F12 doesn't. |
@isaacabraham The implementation of go to def and links on the tooltip are completely different (and surprisingly complicated). |
@isaacabraham I just tried with a .NET Core 2.1 console app with a script that navigates to a symbol in a source file for that project: works with f12, ctrl+click, and tooltip go to definition. |
So zip with repro it is. Like always... |
Okay, so the issue is when you attempt to go to definition from one linked file to another. Example:
Tooltip shows and you can go to definition, but cannot use f12 or ctrl+click (which share the same implementation). If files are "normal", or you're going to definition within a linked file, or going to definition between linked/non-linked files, everything seems to work. I also noticed that finding symbols for Find Refs or Rename is inconsistent in this project. For example:
Not a linked file, and the references live in the same file.
Not a linked file, and all references live in the same file. Bug: #5545 |
@isaacabraham can you update the title to accurate reflect that this is between linked files? |
@cartermp I said that the project contained a link file. I don't believe that all of the issues I'm seeing are only related to symbols that live in that linked file. I'll double check this later today. |
My observations are on playing around with the Bookstore app myself. If you can upload a repro that isn't Go to Definition from a linked file to a linked file, I'd appreciate that. |
@cartermp I think the latest version of master in the Azure Storage TP has this issue now (at least, I'm seeing it there). |
Do you have a specific repro there? What I noticed in SAFE was specifically when moving from linked file -> linked file. Is that the same in the Azure Storage TP codebase? |
@cartermp I don't believe that there are any linked files in there. It seems to happen when going to definition of a symbol in another file e.g. In |
I can confirm that this problem still exists in the latest master of the Azure Storage TP. |
Noting this in two additional areas:
|
In the Azure TP it's the forward slashes #4016 |
Fixed by #7376 |
If you F12 on a symbol in another file, it can't navigate to the item. However, if you click the type in the tooltip that follows, it works.
The text was updated successfully, but these errors were encountered: