This extension is a really good idea, and it works pretty well... usually.
After some time using the Visual Studio 2012, F12 starts to give me a error message "The given key was not present in the dictionary", on .Net members or methods and even on my own objects. F12 become absolutely useless.
Go To Definition - Native works though.
I have to restart the Visual Studio in order to get it to work again...
This is a bit annoying. At least, if you can't determine if it's a .Net element or a "custom" one, it should revert to the default behavior instead of displaying an error message and not working at all.
Great extension, thanks!
Now that MS is pushing more and more the UWP, we not only have to deal with the .NET Framework but also the .NET Core.
One possibility in the app conversion is to move most of the code in a "shared project" which will be either over .NET Framework 4.x for Desktop app (cmd, WPF, Winforms) or over .NET Core for UWP and portable/Xamarin App
Could you somehow add the support of this?
Pressing F12 in these scenario still get to the metadata page.
At a first step, having the F12 working for the code in a "Shared project" with the .NET Framework code would be already helpful! Eventually, a full support would allow a simple comparison between the implementations under the hood.
Our build system prefers binary references instead of project references, but the project is still loaded in the same solution. It would be fantastic if this could be made to work by looking to see if the referenced DLL is the same as the OutputPath and assembly as one of the currently loaded projects and then do a go to definition source lookup in that other project. This would solve a huge head-ache for us. Possible?
Solution X as two projects. A and B
A OutputPath=C:\binaries\ (which would create C:\binaries\A.dll)
B has a reference to A.dll with a HintPath of C:\binaries\A.dll
If Ref12 could figure that out and know that the source is in the A project instead of just loading the metadata screen for A.dll types. Success! :)
When I install this extension in VS2015 and hit F12, I get:
Method not found: 'Microsoft.CodeAnalysis.Document Microsoft.CodeAnalysis.Text.Extensions.GetOpenDocumentInCurrentContextWithChanges(Microsoft.VisualStudio.Text.ITextSnapshot)'.
I am using Resharper; this extension also intercepts the "Go To" command. I would like to keep the default command intact, because one might not be interested in the reference code all the time when using F12. But having the ability to use a different shortcut, for instance Shift+R+F12 would make the extension more usable.
Resharper does a similiar thing; F12 shows metadata. If the symbol is abstract, one can use Shift+F12 to go to the concrete implementation. Just my two cents...
Anyway, nice idea. Keep up the good work.
@Matthias Friedrich m Did you find a solution for working with it AND with resharper ? this plugin only works when I disable resharper. and I don't understand how the goto native command should help here. the problem is not with the native command but with the new ref12 command.
You should have **add** command to *your* functionality rather than OVERRIDE existing functionality. look how many problem it causes. Resharper uses it
Just add a command : "goto reference Source" or something like that.
It all looks that you did it backwards.
Resharper is already using F12.
When I click right click on `List<T>` :
If I click "goto definition" , it goes to
If I click the "native" it goes to :
so how can I make this extension work ? only if i turn off R# , it works
The tool seems to be trying to get make a call to http://index/assemblies.txt just before http://source.roslyn.codeplex.com/assemblies.txt and http://referencesource.microsoft.com/assemblies.txt.
Is it supposed to do this or is it a bug? On my machine I don't have an index so it it returns a Http 502 error for this
I useF12 A LOT to just take a brief look at the class. Now going to a browser and loading ALL the source code, it's impossible to digest all that information. Could you please change the key to not be F12, or at least allow me to change it?