This is #1 extension I use almost all the time. However I've different behaviour in VS2010 and VS2013. In VS2010 I see nice window like on the top of this page.
In VS2013 however there is no window - when I hit Ctrl+, it shows small text field on the right top part of currently opened document. It still works if I start to type there, but still I would prefer to have whole window to show up. I'd better focus my attention on it.
Unfortunately I don't have a copy of VS2013 so I can't recompile it and upload it here. I've just made a modification to the manifest though which should allow it to work with all future versions from VS2010 onwards. Download the new version here: https://dl.dropboxusercontent.com/u/41796243/VSNav-2013.vsix
Nice idea, but it would be great if the find window where dockable, and if you could associate a keyboard shortcut and command to it. I had to find all xsd files in the whole solution and it was a pain to navigate each time to open the find files dialog and loosing the selected item.
I could make it dockable, I opted not to in the end because I value real estate for the other aspects of Visual Studio.
You can assign a keyboard shortcut to it (Edit.VSFileNav) is the command to search for, which means you can include toolbar shortcuts too. The dialog should also remember the previous selection and search terms when you pop it up again.
I was looking for this feature for a long time. It even becomes more powerful when attaching a hot-key to it (through tools|options|environment|keyboard). With a few enhancement (see suggestions) it will be an A+ extension.
Thanks for this extension. I've been looking for this feature which resembles TextMate on iMAC 'Command+T"). I have two suggestions (copied from TextMate):
- Double click on the file in the list opens it
- Expand the search to look in names even when the typed in characters are not contiguous in the file name. Example: I have two files calles "EditorExtension.cs" and "EditorFragments.xml". Suppose I want to look for one of them but remember only the first part of the file and know which extension I'm looking for. So, entering "editorxml" locates the second file, while "editor" finds both.
These are very useful feature for keyboard hooked developers who prefer using the keyboard to the mouse.
@katrash: I'll add double clicking to open to my list (have some scrolling issues to fix too when the datagrid doesn't have focus).
For your example, use "editor*xml" and it'll bring up the result you're after. I didn't want to add in anything like this by default, as if you have lots of similarly named files you can end up with too many results, it's better if the user explicitly says this is what they want by simply inserting a *.
The minor things that can improve user experience a lot:
* documentation - add information about Edit.VsFileNav command;
* interface - why buttons aren't consistent with current windows theme? I use the classic one;
* interface - save windows size on closing;
* interface - pagedn/pageup/home/end not working.
Sergey, Thanks for the suggestions. I wrote a bit on my block to introduce it a bit better http://wrightdev.wordpress.com/2012/05/30/visual-studio-file-navigation-extension. You're right about the other suggestions, I should try and incorporate some of those. I'm thinking of releasing it as open source at some point as I never have to update it.
I'm glad you find it useful. I don't actually have VS2012 installed on my main Dev machine so I'm not able to upgrade it at this time. It also isn't currently open source but I'd be happy to make it open source if someone else would be willing to upgrade it. Unfortunately I don't spend much time working on it, as I never managed to achieve my original goal with it (e.g. Symbol Searching in a perfomant way) so it feels like a little bit of a failed project, even though what it currently does it does quite well. I'll look at moving it to some open source hosting over the next few weeks if I can and posting a link up here.
Thanks for the extension!! I use this everyday and am loving it.
I have one suggestion.
I usually work with multiple vertical tab groups in VS2013. If the file I was looking for belongs to another tab group, the file becomes visible without getting focus. So I have to manually press Ctrl+Tab to edit the file. It would be great if the file gets auto-focused!
Hi Mavincent - You can download from my dropbox https://dl.dropboxusercontent.com/u/41796243/VSNav-2013.vsix which should work with VS2013 (but I don't have access to test it).
I'm going to look at the main package at some point and see if I can adjust it to work with VS2012/VS2013, unfortunately they changed the format of the manifest file meaning I've got to modify it manually.
Unfortunatly I wasn't able to complete the install.
Here's what I got in the log message :
2014-09-22 08:26:47 - Searching for applicable products...
2014-09-22 08:26:50 - Found installed product - Microsoft Visual Studio 2010 Professional
2014-09-22 08:26:50 - Found installed product - Microsoft Visual Studio Professional 2013
2014-09-22 08:26:50 - Found installed product - Microsoft Visual Studio 2013 Shell (Integrated)
2014-09-22 08:26:50 - Found installed product - Global Location
2014-09-22 08:26:50 - Found installed product - ssms
2014-09-22 08:26:50 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
That's unfortunate - it all comes down to that manifest file. I've tried creating a new one https://dl.dropboxusercontent.com/u/41796243/VSNav.vsix . Would you be able to give that a try? I've tested VS2010, VS2012 and they both work from the single VSIX package now. If VS2013 works then I'll update the main download package for the extension.
Getting it to work with Visual Studio 2015 is similar as the steps described at http://researchaholic.com/2012/10/04/manually-updating-a-vsix-file-to-run-in-visual-studio-2012/
Approach (without using 7-zip): rename vsnav.vsix to vsnav.vsix.zip, unzip, edit extension.vsixmanifest, change VisualStudio Version to "14.0", possibly change SupportedFrameworkRuntimeEdition MaxVersion to "5.0". Rezip, rename back to vsnav.vsix, and run.
The complete extension.vsixmanifest looks like this:
<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
<Description xml:space="preserve">A simple tool used for browsing the files within a solution, supporting filtering as you type, camel case searching and wildcards.</Description>
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="5.0" />
Also if it is already installed for another version of VS, you can uninstall it by following these steps: http://stackoverflow.com/questions/22444799/how-to-uninstall-vsix-visual-studio-extensions and search for "nav" to find it.
If you want to bind showing the VSNav dialog to a shortcut / key combo (I use "ALT+O"), Go to Tools -> Options -> Environment -> Keyboard, search for "vsfilenav". Bind "Edit.VSFileNav" to ALT+O (or whatever you like).
Thanks for posting those details. I'm considering making a new package that supports all the newer installers + hopefully going forward and making a link to the old version available via dropbox instead. That way it's easier for people to install and use the built in extension functionality in Visual Studio.
One minor correction is the shortcut to bind to should be "Edit.QuickFindFile" unless you're on an old version.
The extension runs correctly with VS2012, but you have to modify the VSIX file manually to make it install with VS2012 (http://researchaholic.com/2012/10/04/manually-updating-a-vsix-file-to-run-in-visual-studio-2012/).
I am however currently working on an update which will directly install to VS2012 and also have the following improvements which I'm hoping to release soon.