使用 Visual Studio 2012 将键盘快捷键附加到解决方案资源管理器中的“全部折叠”项目

Posted

技术标签:

【中文标题】使用 Visual Studio 2012 将键盘快捷键附加到解决方案资源管理器中的“全部折叠”项目【英文标题】:Attach a keyboard shortcut to 'Collapse All' items in solution explorer with Visual Studio 2012 【发布时间】:2012-09-16 02:16:29 【问题描述】:

就像我在这个问题的标题中所说,是否可以附加键盘快捷键以使用 Visual Studio 2012 折叠解决方案资源管理器中的所有项目?

在以前的版本中; 2010 年,我能够创建一个宏来启用此功能,但在 Visual Studio 2012 中,不再支持宏。

我可以在解决方案资源管理器中右键单击项目并选择“全部折叠”,但我更喜欢只输入“Ctrl+Shift+C”来完成相同的工作。

【问题讨论】:

您真的在上下文菜单中看到了吗?如果你这样做了,你应该能够去工具 --> 自定义 --> 命令 --> 上下文菜单并分配一个键盘快捷键。我看到一个“全部折叠”图标,但在上下文菜单中看不到它,所以我无法分配快捷方式。 嗨@Samuel,这有什么成功吗?我仍在寻找解决方案。 没有@JohnnyO。 :( 每次微软发布新版本的 Visual Studio 时,都会删除一些不错的功能。如果没有宏,我们现在很难弄清楚如何实现这个功能。 谢谢@Samuel。我也在 VS 2010 中使用了宏。 VS 2010 的扩展也提供此功能,但我没有看到 VS 2012 的任何内容。 我找到了这个链接,你可以使用 resharper 来附加一个快捷键:yassershaikh.com/… 问题是焦点必须在解决方案资源管理器中的一个项目上。 【参考方案1】:

FWIW,这是迄今为止我能想到的最好的。

备选方案 1

    Ctrl+¨ 将焦点置于解决方案资源管理器上方的搜索框。 按 Shift+Tab 将焦点移至工具栏。 使用向左箭头将焦点移到左侧,直到您点击全部折叠按钮(四次。YMMV)。

备选方案 2

    Ctrl+Alt+l(或任何您的个人快捷键)聚焦解决方案资源管理器。 按 Shift+Alt 以聚焦解决方案资源管理器工具栏。这会将焦点放在工具栏上的 Home 按钮上。 使用右箭头将焦点向右移动,直到您点击全部折叠按钮(三次)。 按 Enter

备选方案 3

    Ctrl+Alt+l(或任何您的个人快捷键)聚焦解决方案资源管理器。 按住向左箭头直到到达顶部节点(Solution节点)。 按向上箭头将焦点置于解决方案资源管理器上方的搜索框。 按 Shift+Tab 将焦点移至工具栏。 使用向左箭头将焦点移到左侧,直到您点击全部折叠按钮(两次。YMMV)。

【讨论】:

+1 啊啊啊啊,Visual Studio 2014 中的键盘快捷键序列是什么??? Ctrl+Shift+。 3次,转身,等10秒,把头踢在桌面上!看起来我们只是几个使用太多键盘快捷键的怪胎。 :) Alternative 2 在 VS 2013 中仍然有效。Shift+Tab 在 VS 2013 中无法按预期工作。【参考方案2】:

正如您在下面的屏幕截图中看到的,有一个名为 Collapse All 的选项和一个快捷键。

现在这个快捷键对你不起作用了!

当然,除非您使用Tools > Options > Keyboard 进行设置。命令名称为CollapseInSolutionExplorerAction。使用此命令名称搜索并指定您选择的快捷键。

就是这样,您可以使用快捷键了!

Source

【讨论】:

这就是 ReSharper collapse all 命令。 OP 询问了 Visual Studio 2012 按钮。 这张截图看起来也像 2010 年。 2012 年,解决方案资源管理器中有一个“全部折叠”按钮,但我不知道它映射到什么命令 新命令是“CollapseInSolutionExplorer”,但与以前版本的 Visual Studio 相比,它在使用宏时无法正常工作。只有在解决方案资源管理器中选择了所需的节点时,该命令才有效。换句话说,如果您将焦点放在代码编辑器中作为示例,则该命令将不起作用。总比没有好,但在所有情况下您都必须对鼠标进行操作。 我试过 'ctrl+alt+L' 将焦点放在解决方案资源管理器上,然后多次使用左箭头将焦点设置在解决方案资源管理器的根节点上,然后使用快捷方式,您说要确保所有节点都已折叠。我不知道 VS 2014 中的哪些功能会被删除?! :( 更正。命令是 ProjectAndSolutionContextMenus.Project.CollapseProjects。【参考方案3】:

Visual Studio 2012 / ReSharper 8.0.1:

命令是“ProjectAndSolutionContextMenus.Project.ReSharper_CollapseInSolutionExplorer”。

【讨论】:

【参考方案4】:

我建议您尝试 Visual Studio 的 CodeMaid 扩展。它提供了一个命令“递归折叠所有项目”,该命令具有可自定义的快捷方式(默认情况下,它是 Ctrl+M,-)。它还有其他一些不错的功能,比如在 .cpp 和它的 .h 文件之间切换、加入行等。

【讨论】:

与 ReSharper 不同,CodeMaid 是完全免费的。【参考方案5】:

当我第一次安装 VS2012 时,我已经在网上搜索了一种方法来做到这一点..

我刚刚找到解决方案,所以我分享它:)

您可以通过将您的 Visual Studio 版本添加到现有扩展中来做到这一点...

Download the extension for VS 10 将扩展名从 vsix 更改为 zip 解压并打开文件 extension.vsixmanifest

找到这个 xml 部分:SupportedProducts 添加这个:

<VisualStudio Version="11.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>

您也可以尝试 Visual Studio 2013 的版本 12 ...

压缩它,并将扩展名从 zip 更改为 vsix。

现在可以安装了。

安装后,转到工具 -> 自定义并点击键盘按钮。

搜索“CrossProjectMultiProject.CollapseProjects”并设置您喜欢的快捷方式。

有一个很好的编码。 如果对您有帮助,请 +1

ps。对不起我的英语不好,我是法语;-)

【讨论】:

以上是关于使用 Visual Studio 2012 将键盘快捷键附加到解决方案资源管理器中的“全部折叠”项目的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Visual Studio Express 2012 - 键盘快捷键不起作用

如何仅使用键盘在 Visual Studio 中导航调用堆栈?

用于在Visual Studio中签入当前文件的键盘快捷方式

Visual Studio如何使用键盘导航?

我可以在 Visual Studio 2012/2013/2015/2017/2019 中录制/播放宏吗?

带有 Visual Studio 2010 的 MFC-SDI 应用程序:新的键盘快捷键不起作用