Jeffrey
Jeffrey

Reputation: 1667

Forcing the Solution Explorer to select the file in the editor in visual studio 2005

In Visual Studio 2005, whenever I would view a file in the main editor, the Solution Explorer would find and highlight that file. Some time ago, this stopped working and the Solution Explorer would do nothing.

This has become quite a pain since following a chain of "Go To Definition"s can lead you all over your solution. Where is the setting to turn this back on?

Upvotes: 44

Views: 10688

Answers (6)

Owen
Owen

Reputation: 7784

I like to keep this option turned off (especially when working with a big project), but it's useful to be able to find the file in the tree now and then. I found a way to do this here.

I hope I'm not being too verbose here, but here's the guide to making this work that I wrote for my work's wiki:

  1. Go to Tools->Macros->Macro Explorer.
  2. In the Macro Explorer tree that comes up, right-click MyMacros, and then New Module....
  3. Call the new module SyncItem (if you want).
  4. Right-click the new module, then Edit.
  5. Paste this into the code window. (I don't know or care if the Imports lines are necessary; they're just there by default.)

code:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module SyncItem

    Sub SyncSolutionExplorer()
        DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
        DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    End Sub

End Module

The macro is most useful if you bind it to a keystroke. Here's how to do that:

  1. Go to Tools->Options, then select Environment->Keyboard.
  2. Find the new macro in the list (start typing "syncitem" or similar in the search box).
  3. I choose Alt-Shift-T (which this dialog box likes to call Shift-Alt-T) for, um, "Tree," I guess? If you're a fan of Edit.LineTranspose, whatever that is (I think it swaps the current line with the following one), then you might like to pick a different shortcut.

Upvotes: 35

OwenP
OwenP

Reputation: 25378

Click on the Tools → Options menu. Select the Projects and Solutions → General option page.

Make sure "Track active item in Solution Explorer" is checked. That should do it.

Upvotes: 65

rob
rob

Reputation: 8400

Tools -> Options -> Environment -> Keyboard

Assign the command

View.TrackActivityinSolutionExplorer

(I use Alt+L)

then to use always hit Alt+L followed by Alt+L

which turns on the feature and locates the file in the source tree and then turns it off again to stop the location bouncing around when you do not want it to.

Upvotes: 2

Sub-Star
Sub-Star

Reputation: 452

I just discovered that ReSharper can do what Owen suggests. I have disabled the "Track active item in Solution Explorer"-setting, and when I'm working in a source-file I press Shift + Alt + L and the file is selected in the Solution Explorer. I haven't changed the binding, so I guess that is the default. The upside to this is that you don't have to create a macro and then bind it to a keystroke (although not very difficult, it still has to be done). The downside is that ReSharper isn't free, so it's probably not a solution for everybody.

Upvotes: 16

brendan
brendan

Reputation: 29976

Tools->Options->Project and Solutions->General

Check the box "Track Active Item in Solution Explorer"

Upvotes: 3

Sir Rippov the Maple
Sir Rippov the Maple

Reputation: 7581

  1. Navigate to Tools -> Options
  2. Select "Projects and Solutions" in the tree view on the left
  3. Select "Track Active Item in Solution Explorer"

Upvotes: 13

Related Questions