ChatGPT解决这个技术问题 Extra ChatGPT

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

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

问题是关于 VS2010,但如果有人在看 VS2013:查看 Ctrl-;在解决方案资源管理器或 Ctrl- 中找到 VS2012/13“导航至”功能。
对于 VS 2012 及更高版本的原生方式,请查看下面的 Aaron Carlson 的答案。

J
Jeff Mercado

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

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


此设置导致项目和解决方案节点在我打开文件时不断扩展。在处理更大的项目 15 分钟后,我扩展了太多节点,以至于解决方案资源管理器变得无法使用。 DPack 解决方案是 IMO 更好。
@karel-kral,我添加了一个使用宏来切换此设置的答案,该设置可解决此扩展节点问题。
此处列出的 resharper 或 dpack 解决方案可以解决 Martin 提到的问题,如果您有其他任何一个可供您使用,则使此答案不是首选选项。
对于 VS2012+ @Aaron 的回答是最好的。没有安装东西 Ctrl + [,s
他说他只想跟踪“有时”文件,而不是一直。 Aaron Carlson 的答案应标记为正确答案。
M
Mike Chamberlain

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

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

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


Visual Studio 6.0 中并没有进行大规模的监督。甚至更早。哇。
谢谢!在我的 VS2013 中,Ctrl+[S 被默认设置为签出文件,而 SolutionExplorer.SyncWithActiveDocument 未配置。
@krypru,我使用 VS2015 已经有一段时间了,它仍然对我有用。也许它没有映射到您环境中的相同快捷方式?
仅供参考,不需要记住快捷键:解决方案资源管理器(我在 VS 2015 中)顶部有一个图标(双箭头),用于“与活动文档同步”。
VS 2017 在工具下添加了“ReSharper”键盘映射 -->选项 -->环境 -->键盘。这会将内置的 VS 功能映射到等效的 ReSharper 快捷方式。设置后,您可以使用 Shift + Alt + L 快捷方式。
E
Eonasdan

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


当您跟踪时,您不需要此快捷方式。
这是一个重塑命令。使用安装了 ReSharper 的 Visual Studio 2010 为我工作。
+1; @DavutGürbüz 有时你需要这个来让 Visual Studio 2012 重新开始自动跟踪。每隔一段时间(尽管选中了“... Track Active ...”复选框,Visual Studio 2012 会停止跟踪。此 ReSharper 快捷方式将重新启用此功能,而无需重新启动 Visual Studio。
@JeroenWiertPluimers 我明白了。我一直在使用 DPack 扩展。它非常精简且易于使用。您只需右键单击文件选项卡并在解决方案资源管理器中选择定位。我强烈推荐它。它适用于所有版本的 VS。 ReSharper 也不错,但我们不喜欢。因为我们不使用它的大部分功能。它使VS更重。跟踪使解决方案资源管理器变得混乱。 DPack 是最好的。 stackoverflow.com/a/4747759/413032
不必启用 Shift+Alt+L 跟踪即可工作。至少在我正在使用的 VS 2010 中没有。
H
HuBeZa

我发现轨道选项有点烦人。

我更喜欢使用 DPack。它包含“在解决方案资源管理器中定位”操作,以及许多其他功能(有些功能在 VS2010 中没有那么强大,比如他们的浏览器),并且它是免费的

https://i.stack.imgur.com/aaATN.png

请注意,ReSharper 还具有比 DPack 更有效的定位功能(在某些情况下,如果文件折叠在文件夹后面,DPack 的定位将不起作用),但您不想{ 2} 仅适用于此 feature


最轻松的解决方案(“跟踪活动项目”很烦人,ReSharper 不是免费的)。
@IanKemp,这是一个品味问题。 IMO 跟踪很烦人,因为: 1. 有时我喜欢 sln 树将注意力集中在特定节点上。 2. 一段时间后,sln 树完全展开。
我已经安装并为我工作得很好,谢谢!
M
Martin Hollingsworth

Brian Schmitt 有一篇很棒的 Locate File in Solution Explorer – 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

Bind a Keyboard ShortCut 将此自定义宏有效地创建应该是内置的 Visual Studio 功能。


这在 VS 2010 中确实有效,并且比您想象的更容易设置(添加宏的提示:helixoft.com/blog/archives/6)。
答案第一行中发布的链接已损坏。你能修好吗?
@TyagiAkhilesh - 请注意,仅当您仍在使用 VS 2010 时才需要此答案(添加您自己的宏)。较新的版本内置了一个命令。
S
Shay

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

转到工具 -> 自定义 -> 命令 -> 上下文菜单 选择“其他上下文菜单 | Easy MDI 文档窗口”。单击“添加命令”。选择“Resharper”->“ReSharper_LocateInSolutionOrAssemblyExplorer”(在VS2019中,类别名称改为“Extensions”)“OK”->“Close”

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

更新:

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

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


在 Visual Studio 2015 中,如果您随后单击“自定义”窗口底部的“键盘...”按钮,您将被带到选项 -> 环境 -> 键盘对话框。在此对话框中,您可以导航到“ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer”并查找或更改此命令的键盘快捷键。我发现我的 VS2015 设置为“Shift+Alt+L”并且可以正常工作!
两年多后说上下文菜单技巧仍然适用于 VS 2017 和 R# 2018.2。谢谢你!
如果在 VS2019 中尝试 Shift+Alt+L 对您不起作用,那么这肯定可以解决问题。
s
samneric

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

当然,您可以更改快捷方式。我想我会尝试 Alt+L 进行定位。

如果要更改快捷方式,则 Options\Environment\Keyboard 下的命令名称为 SolutionExplorer.SyncWithActiveDocument

通常这比总是跟踪更有用,这在旧版本中总是一场灾难,因为它会连续跟踪 100 个项目,然后在整个地方跳跃......


伟大的 !!!在我的 VS2012 中,组合键是 Ctrl+', s。因此,您必须用引号 ' 更改 [。我希望这对某人有所帮助。
“或单击解决方案探索顶部的小同步图标”对我来说,在较新版本的 VS 中完成此操作的最简单方法。好东西!
谢谢@mrt!我在这个答案中完全掩盖了这一点;但是你让我不必做一些奇怪的自定义步骤(或记住一个不起眼的快捷方式)......!在这个答案中应该更明确地调用该按钮:)
f
friend

我知道它有点太晚了,但希望它可以帮助别人。现在最好的选择是安装名为 - Productivity Power Tools 的 Microsoft Visual Studio 插件。

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

随之而来的是“解决方案导航器”(解决方案资源管理器的替代品,有很多好处) - 然后您可以使用它来过滤文件以仅显示“打开”。您甚至可以过滤文件以显示“已编辑”和“未保存”。


我正在使用 VS 2012 和电动工具。我在任何地方都看不到解决方案导航器。您想详细说明一下这个主题吗?就像告诉解决方案导航器的确切位置一样。
已编辑。微软计划这样做 - 但最终只迁移了其中的一部分。我很失望他们也漏掉了这个。
p
pingo

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

Credit (James' comment)

这对我有用


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

现在有几种内置方法可以实现这一点:

配置 VS 在解决方案资源管理器中跟踪活动项目:这可以通过在解决方案资源管理器中选择“跟踪活动项目”来完成

工具 > 设置 > 项目和解决方案 > 常规

https://i.stack.imgur.com/Y5sYQ.png

使用“与活动文档同步”:这可以通过两种方式完成。如果您碰巧使用像我这样的 AZERTY 键盘,请使用默认组合键 CTRL+]+S CTRL+)+S 触发 SolutionExplorer.SyncWithActiveDocument 命令。通过使用解决方案资源管理器顶部的“与活动文档同步”按钮。该按钮看起来像 2 个并列的箭头。如果您的版本比 VS2019 版本 16.10.2 旧,则此按钮如下所示: 从 VS2019 版本 16.10.2 开始,此按钮将如下所示:


t
thelem

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

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

https://i.stack.imgur.com/iuKyI.png


多年前的现有答案是否已经充分涵盖了这一点?
R
Razor

这实际上是内置于 Visual Studio 中的,不需要 ReSharper(我喜欢 BTW)。

http://blogs.msdn.com/b/zainnab/archive/2010/03/29/track-active-item-in-solution-explorer-vstipproj0011.aspx


R
Robert Whitley

如果您想通过命令在解决方案资源管理器中选择文件并且不想安装任何东西,那么我会推荐这个 macro

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

感谢 Dan Vanderboom 编写它。


P
PhilG

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

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

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


M
MohamedHarmoush

Visual Studio 没有提供一种简单的方法来按需在解决方案资源管理器中找到您正在编辑的当前文件。您可以将解决方案资源管理器设置为始终与此简单设置保持同步:

工具 > 选项 > 项目和解决方案 > 常规。选中“在解决方案资源管理器中跟踪活动项目”。

感谢Cory House