VS 2012:将解决方案资源管理器滚动到当前文件

505

在VS2010中,查看文件时Solution Explorer会自动滚动到该文件。

但在VS2012中,在IDE内查看不同的文件时,并不会自动滚动并选择该文件。

是否有可能恢复此功能?是否有相应的设置?如果有,如何设置在哪里?


1
请参见https://dev59.com/TnA75IYBdhLWcg3wK1wp。 - dyesdyes
1
使用“在解决方案资源管理器中查找”扩展(http://visualstudiogallery.msdn.microsoft.com/d2fc1e94-b85c-4a15-8569-390db1e04f47),将“在解决方案资源管理器中查找”菜单命令添加到打开文档选项卡的上下文菜单中。 - S.Serpooshan
如果您有ReSharper,我在这里发布了一个上下文菜单解决方案链接 - Shay
9个回答

848

是的,您可以在以下位置找到它:

工具->选项->项目和解决方案->跟踪解决方案资源管理器中的活动项

默认情况下是关闭的(正如您所注意到的),但一旦打开,切换文件时,解决方案资源管理器将展开文件夹并突出显示当前文档。


25
尽管我检查过了,但在大多数情况下它并不起作用。 我认为在VS 2012中有缺陷。 当解决方案资源管理器处于“自动隐藏”模式(或未固定)时,它会丢失活动文件位置并移动到顶部! 这真是令人讨厌 :( - Mahmoud Moravej
8
点赞!这在2010年是默认开启的,我讨厌它!幸运的是,你可以使用上述方法在2010年将其关闭。谢谢! - user677526
2
@MahmoudMoravej,有一个关于这个问题的错误报告 https://connect.microsoft.com/VisualStudio/feedback/details/777003/solution-explorer-being-in-the-auto-hide-mode-doesnt-stay-in-sync-with-the-active-item - Trident D'Gao
2
欢迎来到 Visual Studio 的世界,这里的 bug 被报告后就再也不会被修复了!说真的,我今天看到了这个 bug,而它在 2 年前就已经被报告了。 - jcollum
7
如果 Visual Studio 完美无缺,那么谁会购买 Resharper 呢? - vezenkov
显示剩余6条评论

330

1
这在Visual Studio 2013中也适用,即使是Express版本也一样。 - Duncan Awerbuck
3
这应该作为上下文菜单中的一个选项可用! - Vishal Shah
7
我从这个帖子的另一个答案中了解到,在解决方案资源管理器顶部也有一个图标,可以“与活动文档同步”。我不确定这是在2012年还是2013年引入的,但它在2013年可以使用。 - arichards
1
在VS2012(未经测试的情况下,2013年,2015年也适用)中,可以使用"Track Active ..."选项或快捷方式/图标。但两者都不可行。您将收到消息:键盘组合绑定到命令(SolutionExplorer.SyncWithActiveDocument),该命令目前不可用。 - IvanH
3
我使用的是Win10上的VS2015和ReSharper,这是目前唯一可行的方式。如果您愿意使用不同的快捷键,请在键盘选项中寻找“SolutionExplorer.SyncWithActiveDocument”。 - ScottRhee
显示剩余4条评论

117

如果您已安装了ReSharper,点击Shift+Alt+L将把焦点移动到“解决方案资源管理器”中的当前文件。

还需要启用“跟踪解决方案资源管理器中的活动项”,如接受答案所述。

工具->选项->项目和解决方案->在解决方案资源管理器中跟踪活动项


20
@Joe: Sarah没有提到她是否在使用ReSharper,所以我不同意。 - Eduard Dumitru
1
这应该是正确的答案。更实用和通用。 - hopper
11
如果您没有使用resharper,那么这不是正确的答案。 - Don Rolling
10
当它依赖于昂贵的第三方插件时,它怎么可能变得更通用呢? - Nick Cox
2
这个问题是关于Visual Studio的。使用Resharper的人基本上生活在一个完全不同的世界里,所以这个答案并没有回答这个问题。 - Dominic Cronin
显示剩余2条评论

53

有很多种方法可以做到这一点:

转到当前文件:

  • Visual Studio 2013

    VS 13有自己的快捷键来完成这个操作:Ctrl+\S (按下Ctrl+\,释放两个键,再按下S键)

    您可以在“键盘设置”(工具->选项->环境->键盘)中搜索SolutionExplorer.SyncWithActiveDocument来编辑此默认快捷键

    此外,在“解决方案资源管理器”中还有一个新的图标,有关详细信息,请参见这里.

    Sync with Active Document Button in VS2013 - Solution Explorer

  • Visual Studio 2012

    如果您使用的是VS 2012,则可以通过一个很棒的插件将这个新功能从VS2013添加到VS2012中:这里。默认快捷键是strg+alt+ü。我认为这个最好,因为导航到解决方案资源管理器映射到了strg+ü.

  • Resharper

    如果您使用的是Resharper,请尝试使用Shift+Alt+L

如果你想要在导航到解决方案资源管理器时使用Strg+Alt+L这种方式,那么这是一种不错的映射方法。

始终跟踪当前文件:

  • Visual Studio >= 2012:

    如果你想始终在解决方案资源管理器中跟踪当前文件,你可以使用接受的答案中提供的方法(工具->选项->项目和解决方案->在解决方案资源管理器中跟踪活动项目),但我认为在大型项目中,这可能会让人感到非常烦人。


3
对于阅读此答案的非德国人,请将Strg替换为Ctrl,将ü替换为;以适用于VS2012解决方案。 - Kyle Kanos
我认为这个答案是最好的(除了使用“streuern”而不是“control”和其他非英语键盘快捷键)。 - Mohammed Noureldin
在Visual Studio 2017中使用: "Ctrl + ',',S" :) - Igor

31
如果尚未安装ReSharper但想在Visual Studio 2013中使用快捷键Shift+Alt+L将焦点移到解决方案资源管理器中的当前文件,则请按照以下步骤进行操作:
  1. 前往“工具”->“选项”,并在“搜索选项”文本框中搜索“键盘”:

enter image description here

  1. 在“显示包含命令”的框中输入“solutionexplorer”,然后在下面的列表中查找SyncWithActiveDocument命令: enter image description here

  2. 单击“按下快捷键”的文本框,然后按下:Shift+Alt+L并单击“指定”按钮即可完成操作: enter image description here

要验证,打开任何文件,然后按Shift+Alt+L快捷键,您将在解决方案资源管理器中看到该文件。享受吧!


注意:对于 Visual C++ 6 方案下的 VS2012,使用 Shift + Alt + L 来执行 Edit.LineCut 操作(参见此处)。 - Kyle Kanos

31

在VSS中,有三种方法可以实现同步活动文件。

  1. 您可以单击“解决方案资源管理器”上的“Active sync”图标。

VSS Active sync with icon in solution Explorer

  1. 在“工具”中选择“Active sync”复选框(Tools > Options > Projects and Solutions > General)。勾选“跟踪解决方案资源管理器中的活动项”复选框。当您在主窗口中选择一个文件时,它将自动转到资源管理器中的活动文件。

VSS_Tools_Active_sync

  1. 通过使用快捷键(Ctrl + [ + S),您可以导航到活动项目。

注意:只能同时使用1或2中的其中一种方法。因此,您必须使用第一种或第二种方法之一。


17

我发现解决方案资源管理器中的Sync with Active Document按钮是最有效的(这可能是vs2013的功能!)

输入图像描述


1
之前它是可以工作的,但现在“与活动文档同步”对我不起作用了。我使用“工具->选项->项目和解决方案->“在解决方案资源管理器中跟踪活动项目””禁用并启用它。 - Waqar

7
在Visual Studio 2017中,快捷键是:Ctrl+´,S

enter image description here


1
我也非常喜欢那个解决方案! - Christian Müller

6

Visual Studio 2019

工具 => 选项

在此输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接