如何在Visual Studio 2010的解决方案资源管理器中找到文件?


172

我有多个项目的庞大解决方案。有时我需要导航到解决方案资源管理器中的文件。使用VS 2010的“ 导航到 ”功能,我可以在Visual Studio 2010中按名称打开任何文件,但是我也希望能够在解决方案资源管理器中选择该文件?


4
问题是关于VS2010,但如果有人正在看VS2013,请执行以下操作:Ctrl-; 可以在解决方案资源管理器或Ctrl-中找到VS2012 / 13的“导航到”功能。
约翰

1
有关VS 2012及更高版本的本机方式,请在下面查看Aaron Carlson的答案。
德里克·莫里森

Answers:


198

在解决方案资源管理器中有一个选项可以跟踪活动(打开和查看)的项目。如果该文件在视图中,则将在解决方案资源管理器中选择该文件。

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


33
此设置导致我打开文件时项目和解决方案节点不断扩展。在完成较大项目的15分钟后,我扩展了太多节点,以致解决方案资源管理器变得不可用。DPack解决方案比IMO更好。
卡雷尔·卡拉

@ karel-kral,我添加了一个答案,该答案使用宏来切换此设置,从而解决了扩展节点问题。
马丁·霍林斯沃思

如果您有其他可用的解决方案,此处列出的resharper或dpack解决方案可以解决Martin提到的问题,并且使此答案不是您的首选。
Rob Sedgwick 2014年

1
对于VS2012 +,@ Aaron的答案是最好的。无需安装东西Ctrl + [,s
BritishDeveloper

2
他说,他只是想一直跟踪文件“ Sometimes”。亚伦·卡尔森的答案应标记为正确答案。
RayLoveless

149

VS2012添加了一个名为的新命令SolutionExplorer.SyncWithActiveDocument。c#的默认快捷方式是Ctrl+ [S

该命令将导航到解决方案资源管理器中的活动文件。

另外,似乎您需要关闭“在解决方案资源管理器中跟踪活动项”选项。


4
大规模的监督这没有在Visual Studio 6.0中进行。甚至更早。WTF。
Almo

3
谢谢!在我的VS2013Ctrl+ [S是默认设置,以检查出的文件,并SolutionExplorer.SyncWithActiveDocument没有配置。
hwcverwe

1
@krypru,我已经使用VS2015一段时间了,它仍然对我有用。也许它没有映射到您环境中的同一快捷方式?
亚伦·卡尔森

2
仅供参考,不需要记住快捷键:解决方案资源管理器(我在VS 2015中)顶部有一个图标(双箭头),该图标执行“与Active Document同步”。
制造商史蒂夫

2
VS 2017在工具->选项->环境->键盘下添加了“ ReSharper”键盘映射。这会将内置的VS功能映射到等效的ReSharper快捷方式。设置好之后,您可以使用Shift+ Alt+ L快捷方式。
Andacious

121

Shift+ Alt+ L将在安装了ReSharper的Visual Studio 2008+中的解决方案资源管理器中找到当前文件。


4
当您跟踪时,您不需要此快捷方式。
DavutGürbüz2012年

5
这是一个Reshaper命令。适用于安装了ReSharper的Visual Studio 2010。
Radim Cernej

+1; @DavutGürbüz有时您需要用它来使Visual Studio 2012再次开始自动跟踪。每隔一段时间(尽管选中了“ ...跟踪活动...”复选框,Visual Studio 2012都会停止跟踪。此ReSharper快捷方式无需重新启动Visual Studio即可重新启用它。)
Jeroen Wiert Pluimers,2014年

我看到了@JeroenWiertPluimers。我一直在使用DPack扩展。它非常轻巧,易于使用。您只需右键单击文件选项卡,然后在解决方案资源管理器上选择“查找”。我强烈推荐。它适用于所有版本的VS。ReSharper也很好,但我们不喜欢。因为我们不使用其大多数功能。它使VS更重。跟踪使解决方案资源管理器混乱。DPack是最好的一种。stackoverflow.com/a/4747759/413032
DavutGürbüz2014年

3
不必启用Shift + Alt + L即可跟踪。至少不是在我正在使用的VS 2010中。
Tor Haugen 2014年

36

我发现跟踪选项有点烦人。

我更喜欢使用DPack。它包含“在解决方案资源管理器中查找”操作,以及许多其他功能(某些功能在VS2010中不太强大,例如其浏览器),并且它是免费的

请注意,ReSharper还具有比DPack更好的定位功能(在某些情况下,如果文件折叠在文件夹后,DPack的定位将无法工作),但是您不希望仅为此功能购买ReSharper


最轻松的解决方案(“跟踪活动项”很烦人,ReSharper也不免费)。
伊恩·坎普

@IanKemp,这是一个品味问题。IMO的跟踪令人讨厌,因为:1.有时我喜欢sln树来专注于特定节点。2.一段时间后,sln树完全扩展。
HuBeZa 2014年

28

Brian Schmitt 在解决方案资源管理器中有一个很棒的“ 定位文件”-有关此问题的Visual Studio Macro帖子。宏非常简单快捷。基本上,它切换设置

Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer

这样就可以在解决方案资源管理器中选择当前文件,但是由于未选中该文件,因此不会因扩展针对您访问的所有文件的解决方案资源管理器节点而烦恼。

Public Sub LocateFileInSolutionExplorer()
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.SolutionExplorer")
End Sub

将Keyboard ShortCut绑定到此自定义宏,以有效地创建应为Visual Studio内置功能的东西。


这在VS 2010中确实有效,并且比您想象的要容易设置(添加宏的提示:helixoft.com/blog/archives/6)。
user1068352 2013年

第一行答案中的链接已断开。你能解决这个问题吗?
Tyagi Akhilesh

@TyagiAkhilesh -注意,这个答案(添加自己的宏)是,如果你还在使用2010年VS新版本有一个命令内置时才需要。
ToolmakerSteve

16

如果您拥有ReSharper,并且想将“在解决方案资源管理器中查找”添加到选项卡的上下文菜单中:

  1. 转到工具->自定义->命令->上下文菜单
  2. 选择“其他上下文菜单|简易MDI文档窗口”。
  3. 点击“添加命令”。
  4. 选择“ Resharper”->“ ReSharper_LocateInSolutionOrAssemblyExplorer”(在VS2019中,类别名称已更改为“ Extensions”)
  5. “确定”->“关闭”

现在,右键单击任何选项卡,您将看到一个新选项:在解决方案资源管理器中定位。

更新:

遵循@ jeremy-paskali的评论,您可以为此命令设置键盘快捷键:

  1. 转到工具->自定义->“键盘...”
  2. 在“显示包含的命令”字段中搜索“ ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer”,然后选择它。
  3. 在下面的下拉菜单中查看当前分配的快捷方式。
  4. 如有需要,请进行任何更改。
  5. “确定”->“关闭”

3
在Visual Studio 2015中,如果您随后单击“自定义”窗口底部的“键盘...”按钮,则将转到“选项->环境->键盘”对话框。在此对话框中,您可以导航到“ ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer”,并找到或更改此命令的键盘快捷键。我发现我的VS2015设置为“ Shift + Alt + L”,并且可以正常工作!
杰里米·帕斯卡利

两年多后,他说上下文菜单技巧仍可用于VS 2017和R#2018.2.。谢谢你!
Michael Armes

如果尝试Shift+Alt+L在VS2019中对您不起作用,那么肯定可以完成这项工作。
gosr

11

我知道它为时已晚,但希望它能对其他人有所帮助。现在最好的选择是安装Microsoft Visual Studio附加组件-Productivity Power Tools。

http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef

随之而来的是“ Solution Navigator”(Solution Navigator)(是Solution Explorer的替代品,有很多好处)-然后您可以使用它来过滤文件以仅显示“ Open”。您甚至可以过滤文件以显示“已编辑”和“未保存”。


我正在使用VS 2012和Power Tools。我在任何地方都看不到解决方案导航器。您想详细说明这个主题吗?就像说出在哪里找到解决方案导航器一样。

编辑。微软计划这样做-但最终只迁移了一部分。令我失望的是他们也忽略了这一点。
朋友

10

Visual Studio 2012具有一个新的快捷方式Ctrl [, S。是的,您必须先键入Ctrl [然后放开然后立即键入S(或单击“已解决的解决方案”顶部的小同步图标)。它将同步到该项目。

当然,您可以更改快捷方式。我想我会尝试Alt+L寻找。

如果要更改快捷方式,它的命令名称Options\Environment\KeyboardSolutionExplorer.SyncWithActiveDocument

通常,这比总是跟踪更有用,在旧版本中,这总是很麻烦,因为它将连续跟踪100个项目,然后到处跳转。


太好了!在我的VS2012中,组合键为Ctrl+', s。因此,您必须[使用quote进行更改'。我希望这可以帮助某人。
ferpega

3
“或者单击“解决方案浏览器”顶部的小同步图标”对我来说,在较新版本的VS中最简单的方法。好一个!
Andreas

谢谢@mrt!我在回答中完全忽略了这一点;但是您不必进行一些怪异的自定义步骤(或者记住一个晦涩的快捷方式),从而免除了我的麻烦!!该按钮应在此答案中更明确地指出:)
Arichards

5

如果您只想通过键盘快捷键跟踪当前文件-活动是“ View.TrackActivityinSolutionExplorer”(在此处分配键->工具-选项-环境-键盘)

信用(詹姆斯的评论)

这对我有用


请注意,这会切换选项“在解决方案资源管理器中跟踪活动项目”。如果不想保留该选项(因为它很烦人),则必须键入分配的快捷键两次:一次将其打开(找到选定的项目),然后再次将其关闭。
理查德


0

如果您想在命令中的解决方案资源管理器中选择文件,并且不想安装任何东西,那么我建议您使用此

我已经对其进行了测试,并将快捷方式设置为Alt + T,并且可以确认它可用于VS 2010。

感谢Dan Vanderboom编写它。


0

在Visual Studio 2010中,您可以打开“在解决方案资源管理器中跟踪活动项”选项。这意味着每当您在文档之间切换时,都会在解决方案资源管理器中选择新文档。如果您的解决方案中有很多文件夹,可能会很烦人,因为当您在解决方案中移动文件时,所有文件夹都将保持打开状态。

Visual Studio 2012引入了新的“与活动文档同步”功能。在解决方案资源管理器顶部,三个按钮用于它,或者您可以使用快捷方式Ctrl + [, S

与活动文档按钮同步的屏幕截图


几年前的现有答案是否已经充分涵盖了这一点?
制造商史蒂夫

0

对于使用法语AZERTY键盘的Visual Studio 2017,该命令与Aaron Carlson所述的命令相同,但是键盘快捷键不同。

导航到c#的活动文件的AZERTY键盘快捷键是Ctrl+ )Ctrl+S

我在此页面上检查了VS2017中QWERTY用户的快捷方式没有更改 http://visualstudioshortcuts.com/2017/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.