A fantastic extension I've been using since VSS 2010 and have just installed VSS 2013.
In common with @a5Digital, I too would like a way of navigating 'Peek Definition' but wonder whether this functionality is exposed by the API. There is no mention of 'peek' in the docs for VSConstants.VSStd97CmdID (http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.vsconstants.vsstd97cmdid.aspx). So it doesn't seem possible - or am I missing something?
It wouldn't be in the "97" set, since that was for VS 97, so waaaay too old :) Check the values in the vsstd12cmdid section, which has peek definition + peek navigate (http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.vsconstants.vsstd12cmdid.aspx).
For me it's the best plugin ever for visual studio. It's the fastest way of navigating. Just one suggestion: I think it would be nice if Ctrl+RightClick on a keyword triggered the search for references of a function.
I agree with most of these reviews - this extension is a must. However I there is so much more potential here which would leave me baffled if the author doesn't explore the possibility of augmenting this:
a) allow for another key combo + left click perform a peek definition b) allow for another key combo + left click perform a find all references
If these are exposed via the API (and I believe they are), adding these features should be fairly trivial.
Sending a different command would be pretty easy to add, yup. If you want it to be configurable, that's more difficult, but just hardcoding combinations wouldn't be bad.
If you're curious about implementing it yourself, the source is here: https://github.com/noahric/gotodef. The actual command logic is in DispatchGoToDef in GoToDefMouseHandler.cs, so you could probably modify that function (or add new functions) for peek or find all references. Since the extension is still built to be compatible with VS2010, you'd want to hardcode the cmdset/cmdid for peek definition and do a version check first, though.
If you have any questions, let me know on the Q&A!
Works with VS 2013. It just requires some manual work: 1. Download the .vsix file 2. Unzip it (e.g. using 7zip) 3. Open the vsixmanifest file and add the following block to line 22 <VisualStudio Version="12.0"> <Edition>Pro</Edition> </VisualStudio> 4. Save and Zip all files again 5. Rename the .zip to .vsix and install it
Sadly, there wasn't a non-hacky way to implement the extension, and there's no way to determine which languages "support this feature natively". Since Go To Definition wasn't designed as a queryable command, the extension had to use some broad guessing at what has definitions, and it actually under guesses for certain scenarios (I remember one or two in VB, at least).
I'd be happy to at least modify this standalone version to avoid loading for documents that use your DSL language type and you could file a Connect bug to get it integrated back into the PPT extension . Fee free to either add a Q&A comment here or a github bug (https://github.com/noahric/gotodef/issues) with the details, or make the modifications yourself and send me a pull request on github.
I've modified current VSIX package (just added VS2015 support).
You can download Go To Definition for Visual Studio 2015 here
Download, Unzip, Run GoToDefVS2015.vsix, restart Visual Studio and enjoy it.
I think this would be a very userful feature (at least for me): go to definition from XML comments like those:
/// A loader, that is responsible for retrieving XYZ from the database.
/// E.g: <see cref="MyLoaderClass"/>.
Sometimes I do want to promote to document rather than just peeking definition.
Please refer and reply to this discussion:
I used to use the "Go to definition" feature of pre-2012 versions of Visual Studio to navigate identifiers that came from build errors (which happens excessively often when something goes wrong while comipiling templates).
It is counter productive to have to copy/paste identifiers from the build output to a code window that does not deserve polluting, only to then use the addin.
Would it be possible to make this addin work in the context of any text window, like the build output?
It may be possible, but definitely not straightforward. The extension itself doesn't actually do the "Go to definition" logic, it just basically triggers a press of F12 (the GoToDefinition command). If F12 does work in the output window, then it's just a matter of getting the extension there and figuring out what to underline on ctrl+mouseover.