Is there a Visual Studio shortcut to highlight the current file in Solution Explorer?
You can enable this option to always highlight the current (active) file:
Tools -> Options -> Projects and
Solutions -> Track Active Item in
Solution Explorer
To my knowledge there's no shortcut to go to it directly, however you could bind your own key combination by going to Tools -> Options -> Environment -> Keyboard, search for View.TrackActivityInSolutionExplorer then assign a shortcut to it. The downside to this approach is that it toggles the option on and off rather than perform a one time highlight of the active file.
Alternately, you can use a macro to accomplish what you originally asked about. This blog post provides such a macro: Visual Studio Macro: Locate Item in Solution Explorer on Demand.
Tools – Options – Projects and Solutions – Track Active Item in Solution Explorer
the option for auto-sync is:
Tools|Options|Projects and Solutions|General|Track Active Item in Solution Explorer
this will give an outline of the class or file you are currently working on
You can use Resharper:
Shift + Alt + L
Related
After upgrading to Visual Studio 2015, holding control while clicking on a symbol navigates to that symbol definition. In prior versions, this would instead select the entire word.
How can I disable the navigation event when CTRL + Click(ing) a symbol, so that it highlights the word?
I do have Resharper (Ultimate 9.2) installed. The configuration option under Environment -> Search & Navigation -> Go to Declaration on Control + Click in the editor is not checked.
All the search engine results make mention of this being a feature of the Productivity Power Tools extensions in previous versions of Visual Studio. I do not have that extension installed.
I found my solution in the "Options - Text Editor - General" settings. This was on VS 2017 thou.
To disable navigation to symbol definitions in VS2015,
this one worked for me.
With Resharper Ultimate 2016.3.1, I could fix the issue by disabling "Rich mouse navigation in the editor". It can be found in Resharper Options window, under Environment > Search & Navigation.
Maybe updating Resharper could solve the issue.
Also, Productivity Power Tools is not installed on my machine.
In vs 2017 this setting is available in Tools -> Options -> Text Editor -> General -> Enable mouse click to perform Go to Definition.
You can uncheck it!
Go to ReSharper Options > Environment > Search & Navigation, then uncheck the following options:
Rich mouse navigation in the editor
Enable 'Smart go to declaration'
I finally solved it following the info I found on this page..
edit
Ensure you are using Visual Studio as your resharper keyboard scheme.
Environment -> Keyboard & Menus
Tools -> Options -> Environment -> Keyboard
To stop the go to declaration, select it and input a new key short cut for it. In this image I have demonstrated that I changed this short cut to ctr num 1 and could not change it to ctr num 3. On testing crt click does not no take me to the declaration.
Find the shortcut you want to remove, in this case Edit.NavigateTo and remove.
An update for Productivity Power Tools + VS2017. Instead of having settings for this feature, a separate plugin gets installed. So after installing PPTs, you'll have a new extension called Ctrl+Click Go To Definition. Not sure why we need that tool considering it's baked into VS, but...
Anyway, Disabling that extension (plus the other things mentioned in other comments for VS and Resharper) fixed my ctrl+click woes.
To switch to the Visual C# keyboard mapping scheme
On the Tools menu, click Options.
Expand Environment, and then click Keyboard.
Select Visual C# 2005 from the Apply the following application
keyboard mapping scheme drop-down list.
or you can do
Keyboard: CTRL + W
also plugin can be used
Keyboard Shortcut Exporter
you can import/export keymapping file
Is there a keyboard shortcut in Visual Studio (aside from CTRL+TAB and selection) that would take me from inside a document directly into the solution explorer? I don't want to customize any shortcuts or change any default behavior.
CTRL+ALT+L
should shift focus to the Solution Explorer.
For visual studio 2012 use:
CTRL+[ + S this selects your current document in the solution explorer.
When using VS 2012 with the Visual C# 2005 keyboard mapping scheme:
CTRL+W, S
I find this easier to memorize: All shortcuts beginning with CTRL+W are for opening or navigating to W indows:
CTRL+W, S: S olution Explorer
CTRL+W, E: E rror list
CTRL+W, R: R esourceview
CTRL+W, A: Command window (A ction ...)
CTRL+W, T: T askview
CTRL+W, Q: Find Symbol Results
CTRL+W, X: Toolbo x
CTRL+W, C: C lassview
CTRL+W, P: P roperties
CTRL+W, B: B ookmarks
...
In Visual Studio 2012 you can now use CTRL+; as this is the default keyboard shortcut for the solution explorer search box.
On my windows 7 machine : Ctrl+ALT+L locks the computer.
For me
: Shift+ALT+L
works. (This could also be a resharper configuration)
shortcut ctrl [, S will focus current open file/document in solution explorer.
setting checkbox to true in "Track active in Solution Explorer" will automatically focus current open file/document in solution explorer (Tools->Options->Projects and solutions->General->"Track Active Item in Solution Explorer"=true
The default keyboard shortcut for opening/jumping to Solution Explorer is Ctrl + Alt + L.
Extended above : command name for sync tab with solution explorer is "SolutionExplorer.SyncWithActiveDocument"
Visual Studio
2015 and 2017 (by default) VS 2017 Shortcuts
Ctrl + [, S
Runs Keyboard Shortcut
SolutionExplorer.SyncWithActiveDocument
ReSharper
In Visual Studio 2015 and 2017 (by default) Resharper Docs
Shift + Alt + L
Which runs Resharper's Keyboard Shortcut
Resharper.Resharper_LocateInSolutionOrAssemblyExplorer
Both
Focus Solution Explorer
Highlight document
Scroll / expand nodes (as required to show that document)
Difference
Resharper's version also works with decompiled code. Locating decompiled symbols in the Assembly Explorer window.
To customise / it doesn't work :
Tools > Options > Environment > Keyboard
Search shortcut name (e.g. SolutionExplorer.SyncWithActiveDocument)
Assign (in Global) to Keyboard shortcuts as you like
I had this problem on a new machine build with VS 2013 and R# 8.2.
Keyboard option Resharper.Resharper_LocateInSolutionExplorer was correctly set to Shift+Alt+L, but it seemed to be only opening a parent folder and not selecting the actual file. As recommended in another post I enabled "Track active in Solution Explorer" in the VS Options.
This didn't fix the problem and wasn't what I want because in very large solutions I don't want the solution explorer jumping around to the current file in use. I disabled the Track feature and restarted VS, the LocateInSolutionExplorer feature then started working correctly. Some sort of shortcut precedence issue?
ctrl + [ + S.
This shortcut will highlight the currently opened document in solution explorer.
For AZERTY keyboards like mine, the default shortcut is Ctrl+), Ctrl+S
Ctrl+Alt+L works fine even in VS 2019.
But if you have reassigned the above key to some other command (by mistake in my case) then the name of the command is View.SolutionExplorer
You can search it in the Tools -> Options -> Environment -> Keyboard
or just do Ctrl+Q and search keymap.
And then search View.SolutionExplorer in the Show commands containing: and assign whichever key you want.
We just upgraded from VS2013 to VS2017, and I had to go looking for how to auto-select the active tab in the Solution Explorer. I often have to look for a document by finding a text-string from a screen, and love to have it select the document so I can see where it is.
Tracking the active document has been default behavior for a long time. VS2017 brought over ALL my other preferences, but not this one. Glad I found this thread--Thank you.
In every Visual Studio.NET version you can set keyboard shortcuts using menu Tools -> Options -> Environment -> Keyboard and then find the command you want to assign a shortcut to by entering part of it in "Show commands containing".
For one thing, the listbox is ridiculously short and hard to navigate - is there an alternative?
Then, how do I find out the correct command name for a specific action?
Specifically, I'm using ReSharper 5.1 with Visual Studio 2010 and want to have the Alt + Enter shortcut back (it used to be there in older versions by default) that opens the ReSharper context menu when the cursor is over a curly underline ReSharper uses to highlight errors or warnings.
How do I find out the command name for that (except by an educated guess)?
The way I do this is to perform an action while recording a macro (using Tools / Macro / Record temporary macro).
When I have finished with the action, I look at the source code of the macro and it usually helps to find the correct command.
For example, I have just let R# add some magic through Alt-Enter, and the macro recorder has:
DTE.ExecuteCommand("ReSharper_QuickFix")
You can rebind all of the ReSharper shortcuts by using the ReSharper -> Options -> Visual Studio Integration page. Select a keyboard scheme and hit "Apply Scheme".
I have a huge solution with multiple projects. Sometime I need to navigate to a file in Solution Explorer. Using the VS 2010 'Navigate To' feature I can open any file by name in Visual Studio 2010 but I want to be able to select the file in Solution Explorer as well?
There's an option to track the active (open and viewed) item in the solution explorer. If the file is in view, the file in the solution explorer will be selected.
Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer
VS2012 added a new command called SolutionExplorer.SyncWithActiveDocument. The default shortcut for c# is Ctrl+[,S
This command will navigate to the active file in the Solution Explorer.
Also, it seems that you need to have the "Track Active Item in Solution Explorer" option turned off.
With ReSharper installed Shift+Alt+L will find the current file in Solution Explorer in Visual Studio 2008+.
I found the track option to be a little annoying.
I prefer to use DPack. It contain "Locate In Solution Explorer" operation, plus many other features (some are less powerful in VS2010, like their browsers), and it's free.
Note that ReSharper also have the locate feature that works batter than DPack's (in some cases, DPack's locate won't work if the file is collapsed behind folders), but you don't want to buy ReSharper only for this feature.
Brian Schmitt has a great Locate File in Solution Explorer – Visual Studio Macro post for this. The macro is extremely simple and quick. Basically it toggles the setting
Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer
so that the current file ends up selected in the Solution Explorer but, because it is not left on, you don't get irritated by Solution Explorer nodes being expanded for all the files you access.
Public Sub LocateFileInSolutionExplorer()
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
DTE.ExecuteCommand("View.SolutionExplorer")
End Sub
Bind a Keyboard ShortCut to this custom macro to effectively create what should be a built-in Visual Studio feature.
If you have ReSharper and want to add "Locate in Solution Explorer" to the tab's context menu:
Go to Tools -> Customize -> Commands -> Context Menu
Select "Other Context Menus | Easy MDI Document Window".
Click "Add Command".
Choose "Resharper" -> "ReSharper_LocateInSolutionOrAssemblyExplorer" (in VS2019, the category name was changed to "Extensions")
"OK" -> "Close"
Now, when right click on any tab and you'll see a new option: Locate in Solution Explorer.
UPDATE:
Following the comment from #jeremy-paskali, you can set a keyboard shortcut for this command:
Go to Tools -> Customize -> "Keyboard..."
Search for "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" in the "Show commands containing" field and select it.
Review the currently assigned shortcuts in the drop down below.
Make any changes, if needed.
"OK" -> "Close"
Visual Studio 2012 has a new shortcut Ctrl [, S. Yes you have to type Ctrl [ and then release and then immediately type S (or click the little sync icon at the top of Solution Explored). It will synchronize to the item.
Of course you can change the shortcut. I think I'll try Alt+L for locate.
If you want to change the shortcut, it's command name under Options\Environment\Keyboard is SolutionExplorer.SyncWithActiveDocument.
Usually this is more useful than always tracking, which in older versions always was a disaster because it would track 100 items in a row and then be jumping all over the place...
I know its little too late, but hope it helps someone else. The best option now is to install Microsoft Visual Studio add on called - Productivity Power Tools.
http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef
With this comes "Solution Navigator" (alternative to Solution Explorer, with a lot of benefits) - which then you can use to filter the files to only show "Open". You can even filter files to show "Edited" and "Unsaved".
In the event you want to only track the current file through a
keyboard shortcut - the activity is
"View.TrackActivityinSolutionExplorer" (assign keys here -> Tools -
Options - Environment - Keyboard)
Credit (James' comment)
This worked for me
There are several build-in ways you can accomplish this nowadays:
Configure VS to track the active item in Solution Explorer: This can be accomplished by selecting "Track active item in Solution
Explorer" at
Tools > Settings > Projects and Solutions > General
Use "Sync with active document": This can be accomplished in 2 ways.
Firing the SolutionExplorer.SyncWithActiveDocument command by using the default key combination CTRL+]+S
CTRL+)+S if you happen to be using an AZERTY keyboard like me.
By using the "Sync with active document" button on top of the Solution Explorer. The button looks like 2 apposing arrows on top of each other.
If you're version is older then VS2019 Version 16.10.2 then this button looks like this:
From VS2019 Version 16.10.2 onwards this button will look like this:
And yet again Microsoft has changed the button icon in more recent versions of VS 2022:
In Visual Studio 2010 you can turn on the "Track Active Item in Solution Explorer" option. This will mean whenever you switch between documents the new document gets selected in Solution Explorer. This can be irritating if your solution has lots of folders, because as you move around files in your solution all the folders will be left open.
Visual Studio 2012 introduced the new "Sync with Active Document" feature. Three is a button for it at the top of Solution Explorer, or you can use the shortcut Ctrl + [, S.
This is actually built in to visual studio without the need for ReSharper (which I love BTW).
http://blogs.msdn.com/b/zainnab/archive/2010/03/29/track-active-item-in-solution-explorer-vstipproj0011.aspx
If you want to select the file in the solution explorer on command and don't want to install anything then I would recommend this macro.
I've tested it, setting the shortcut to Alt+T, and I can confirm that it works with VS 2010.
Thanks to Dan Vanderboom for writing it.
For Visual Studio 2017 using a French AZERTY keyboard the command is the same as stated by Aaron Carlson but the keyboard shortcut is different.
The AZERTY keyboard shortcut to navigate to the active file for c# is Ctrl+),Ctrl+S
I checked the shortcut hadn't changed for QWERTY users in VS2017 on this page
http://visualstudioshortcuts.com/2017/
Visual Studio doesn’t offer an easy way to locate the current file you’re editing in the Solution Explorer on demand. You can set the solution explorer to always stay in sync with this simple setting:
Tools > Options > Projects and Solutions > General. Check “Track active item in Solution Explorer”.
Thanks to Cory House
Normally, many files in Visual Studio 2010 are opened in many tabs, while massively working on a project. Many times, I find myself right-clicking on a tab title and searching for Show/Select/Scroll-to this file in Solution Explorer, and I can't find it.
Is there a way to automatically select an opened file in Solution Explorer?
Another option is to bind 'View.TrackActivityInSolutionExplorer' to a keyboard short-cut, which is the same as 'Tools-->Options-->Projects and Solutions-->Track Active Item in Solution Explorer'
If you activate the short-cut twice the file is selected in the solution explorer, and the tracking is disabled again.
Visual Studio 2013+
There is now a feature built in to the VS2013 solution explorer called Sync with Active Document. The icon is two arrows in the solution explorer, and has the hotkey Ctrl + [, S to show the current document in the solution explorer. Does not enable the automatic setting mentioned above, and only happens once.
I don't know if you can do it on-demand, but you can enable the option "Track Active Item in Solution Explorer" (Tools->Options->Projects and Solutions->General) which will always select the active tab item in the solution explorer.
If you're using the ReSharper plugin, you can do that using the Shift + Alt + L shortcut or navigate via menu as shown.
This isn't exactly what you're looking for, but it would automatically select the "active" file in the Solution Explorer:
Tools-->Options-->Projects and Solutions-->Track Active Item in Solution Explorer.
simply Tools--> Options--> Projects and Solutions--> Track Active Item in Solution Explorer
The best option now is to install the Microsoft Visual Studio add on called Productivity Power Tools.
With this comes "Solution Navigator" (alternative to Solution Explorer, with a lot of benefits) - which then you can use to filter the files to only show "Open". You can even filter files to show "Edited" and "Unsaved".
It's in VS2012 - Specifically the 2-Arrow icon at the top of the solution explorer (Left/Right arrows, one above the other). This automatically jumps to the current file.
This icon is only visible if you've got Track Active Item in Solution Explorer disabled.
In Visual Studio 2012, the same can be done using the "Sync With Active Document" option in Solution Explorer
In VS 2019 select Tools > Options and then tick "Track Active Item in Solution Explorer"
The Tab Studio plugin adds "select in solution explorer" to the right click menu on tabs.
I've put in a feature request for this very feature. Although I know this isn't an answer in itself it is a step in the direction of being able to get this feature implemented. Any votes it it may help to get Microsoft's attention.
As far as I'm aware of though there is no way to do this other than possibly writing a macro or creating your own add-in/extension to Visual Studio.
There's a very nice extension to VS2010, which does exactly this: Solution Explorer Tools.
This extension adds a button which selects the current file in the solution explorer, as well as convenient buttons for collapsing and expanding projects.
That's the screenshot of the answer for your question.
In visual studio 2022
Similar to this answer https://stackoverflow.com/a/8473574/13275637
You need to tick Track Active Item in solution Explorer