在 C # (Visual Studio)中只折叠所有 # 区域(!)

有许多键盘快捷键和菜单命令可以自动展开或折叠当前文档中的所有可折叠文件。Ctrl + M, Ctrl + L递归地切换所有可折叠文件,从顶部名称空间到内部方法和注释。基本上所有在左边有[ + ]图标的东西。Ctrl + MCtrl + O做得比较少,但它仍然触及类内部的方法和注释。

我正在寻找一个功能,特别是 只有考虑 #region折叠,没有别的。不包括命名空间、类、注释或方法。我真的只想折叠那些明确标记为与 #region关键字这样的区域。

有什么隐藏的快捷方式或者扩展吗?

对于 VisualStudio2015(目前为 RC) ,我更喜欢键盘解决方案。

如果有人问为什么: 我想得到一个文件的概述,但立即看到所有的细节,当我决定看一个区域内。


更新:

2020年的解决方案

由于这个问题已经得到了很多回答,有些没用,有些已经过时,Visual Studio 2019的工作解决方案可以在这里找到: https://stackoverflow.com/a/58999093/143684链接到 VS 2022版本在评论中。

109532 次浏览

Ctrl + M + O将折叠所有。

Ctrl + M + L将展开所有。(在 VS2013-切换所有大纲)

Ctrl + M + P将展开所有并禁用大纲。

Ctrl + M + M将折叠/展开当前部分。

这些选项也在“大纲”下的上下文菜单中。

在编辑器中右键单击-> 大纲显示以查找所有选项(禁用大纲显示后,使用相同的步骤启用大纲显示)

看起来最接近的是 Ctrl + M Ctrl + S

它将折叠您所在的当前区域,而 Ctrl + MCtrl + E将展开您所在的当前区域。

默认键盘快捷键列表:

Https://msdn.microsoft.com/en-us/library/da5kh0wa(v=vs.140).aspx

Microsoft 的 VisualStudio 扩展 生产力动力工具2015具有一个名为“快速启动任务”的特性,可以向“快速启动”菜单添加新命令。其中之一就是 坍塌区域,它就是这样做的。

相反的命令是 展开区域,它扩展所有区域以快速浏览整个文件。通过按下 CtrlQ热键并键入 Coll rep,可以非常快速地使用这些命令。然后按 Enter(假设您没有其他具有相同前缀的命令)。

我建议使用免费的 VisualStudio 扩展“ Menees VS Tools Extended for VisualStudio”只需在工具中搜索—— > Visual Studio 中的扩展和更新。一旦安装,你只需要点击 Ctrl + M + K,只是区域将被折叠。这是他们的网站 https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

要编辑设置,请查看 Tools-> Options-> Menees VS Tools-> General。

在 VisualStudio2017中,我必须在

Tools -> Options -> Text Editor -> C# -> Advanced

显式地在按 Ctrl + M + O时折叠所有

选择所有通过 Ctrl A,然后 Ctrl M M

M两次,同时按住 Ctrl

我不知道这是否是新的,但是有一个 c # 文本编辑器的设置:

设置-> 文本编辑器-> C #-> 高级-> 折叠定义时的折叠 # 区域。

当它的集合 CtrlM CtrlO将折叠 # 区域。

当折叠定义时,在设置-> TextEditor-> C #-> Advanced-> (部分大纲)坍塌 # 区域中勾选 Checkmark。

然后右键单击编辑器 > 大纲 > 折叠到定义

VS2022的更新: https://github.com/mdmower/CollapseRegionExtension/releases/tag/v1.5(多谢@ygoe)


我知道这是一个老问题,但这里是2019年视觉工作室的更新:

@ ygoe 答案中的 Quick Tasks 解决方案不适用于 VisualStudio2019,因为该版本更改了 Quick Tasks 栏的搜索方式。另外,它从来都不是最初问题的首选解决方案,因为你需要输入一个快速的动作,而不是一个快捷键。

我在市场上找到了一个不同的解决方案,它可以通过键盘快捷键完成当前打开的文件中所有区域的崩溃和扩展: 崩溃区域

延伸页面:

默认的键绑定是(Ctrl + R,Ctrl + Num +)和(Ctrl + R,Ctrl + Num -)。 可以在工具-> 选项-> 环境-> 键盘中更改。

折叠区域: 工具 > 选项 > 文本编辑器 > C # > 高级 > 选中“崩溃到定义时崩溃 # 区域”

Collapse #regions image

对于 VisualStudio2022,下面是一个非常好用的工具:

Https://marketplace.visualstudio.com/items?itemname=enginedesigns 崩溃所有区域

CTRL-M CTRL-R

摧毁所有 # 区域组。

不确定以前的 VisualStudio 版本,但是在 VS2022中我们有了新的快捷方式

CTRL + M + M

它将折叠代码的任何部分,如名称空间、类、区域等,

步骤:

  1. 转到 #region代码。
  2. 选择 #region或在该单词的任何位置单击 #region
  3. 从键盘上单击 CTRL + M + M

如果希望整个命名空间崩溃,可以通过选择或单击 namespace执行相同的步骤。