在 C# 中仅折叠所有 #regions(!) (Visual Studio)

Collapse all #regions only(!) in C# (Visual Studio)

有许多键盘快捷键和菜单命令可以自动展开或折叠当前文档中的所有可折叠内容。 Ctrl+M, Ctrl+L 递归切换所有可折叠对象,从顶部命名空间向下到内部方法和注释。基本上所有在左边距有一个 [+] 图标的东西。 Ctrl+M,Ctrl+O是不是有点更少,但它仍然涉及 class.

中的方法和注释

我正在寻找一个专门 关注 #region 可折叠设备的功能,仅此而已。不是名称空间、classes、注释或方法。我真的只想折叠那些用 #region 关键字明确标记的区域。

是否有任何隐藏的快捷方式或扩展?

我更喜欢键盘解决方案,适用于 Visual Studio 2015(目前为 RC)。

万一有人问为什么:我想获得文件的概览,但当我决定查看一个区域内部时会立即看到所有详细信息。


更新:

2020 年的解决方案

由于此问题已收到许多答案,其中一些无用,另一些已过时,Visual Studio 2019 年的工作解决方案可在此处未被充分重视的答案中找到:

Ctrl+M+O全部折叠

Ctrl+M+L会全部展开。 (在 VS 2013 中 - 切换所有大纲)

Ctrl+M+P 将全部展开并禁用大纲显示。

Ctrl+M+M 将 collapse/expand 当前部分。

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

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

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

这将折叠你所在的当前区域,而 Ctrl+M, Ctrl+E 将扩展您所在的当前区域。

默认键盘快捷键列表:

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

Microsoft 的 Visual Studio 扩展程序 Productivity Power Tools 2015 有一项称为“快速启动任务”的功能,可将新命令添加到“快速启动”菜单。其中之一是 CollapseRegions,它就是这样做的。

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

我推荐使用免费的 Visual Studio 扩展 "Menees VS Tools Extension for Visual Studio." 只需在 Visual Studio 中的工具 --> 扩展和更新中搜索即可。安装后,您只需按 Ctrl+M+K 即可折叠区域。这是他们的网站 https://marketplace.visualstudio.com/items?itemName=BillMenees.MeneesVSTools2013

要编辑设置,请查看工具 --> 选项 --> Menees VS 工具 --> 常规。

在 Visual Studio 2017 我必须在

激活 'Collapse #regions when collapsing to definitions'

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

当按下 Ctrl+M+O[=11= 时明确折叠所有]

Select 全部通过 Ctrl A 然后 Ctrl MM

在按住 Ctrl 的同时按两次 M

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

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

当其设置CtrlMCtrlO 将折叠#regions。

勾选设置 -> 文本编辑器 -> C# -> 高级 ->(大纲部分)折叠定义时折叠#regions。

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

我知道这是一个老问题,但这是 visual studio 2019 年的更新:

@ygoe 的回答中的快速任务解决方案不适用于 Visual Studio 2019,因为该版本改变了快速任务栏的搜索方式。此外,它从来都不是原始问题的首选解决方案,因为您需要键入快速操作而不是使用键盘快捷键。

我在市场上找到了一个不同的解决方案,它可以使用键盘快捷键完全折叠和展开当前打开的文件中的所有区域:Collapse Region

来自扩展页面:

Default key bindings are (Ctrl+R, Ctrl+Num+) and (Ctrl+R, Ctrl+Num-). Can be changed in Tools->Options->Environment->Keyboard.

要折叠区域:工具 > 选项 > 文本编辑器 > C# > 高级 > 检查 "Collapse #regions when collapsing to definitions"

对于 Visual Studio 2022 年,以下是运行良好的工具:

https://marketplace.visualstudio.com/items?itemName=EngineDesigns.CollapseAllRegions

CTRL-M CTRL-R

折叠所有#region 组。