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

ygo*_*goe 83 c# code-editor visual-studio visual-studio-2015

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

我在寻找那些专门的功能只有对于#regionfoldables而已.不是命名空间,类,注释或方法.我真的只想折叠那些用#region关键字明确标记的区域.

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

对于Visual Studio 2015(RC for now),我更喜欢键盘解决方案.

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

小智 180

在Visual Studio 2017中,我必须在选项 - >文本编辑器 - > C# - >高级中显式激活"折叠到定义时折叠#regions"以在按Ctrl+ M+ 时全部折叠O

  • 这可能不是OP所要求的,但这正是我所寻求的. (14认同)
  • 不幸的是,这也摧毁了其他一切(差不多),而不仅仅是地区.所以这不是我想要的.快速启动任务扩展仍然存在于VS 2017,现在可以单独安装,请参阅我的其他评论. (8认同)
  • 当前版本中的选项是"折叠到定义时折叠#regions",它位于工具>选项>文本编辑器> C#>高级中.这也是我一直在寻找的.这使得Ctrl + M + O像在VS 2015中一样工作 (6认同)

Bre*_*Vdm 55

Ctrl+ M+ O将全部崩溃.

Ctrl+ M+ L将扩展所有.(在VS 2013中 - 切换全部概述)

Ctrl+ M+ P将展开全部并禁用大纲.

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

这些选项也位于"大纲"下的上下文菜单中.

右键单击编辑器 - >概述以查找所有选项.(禁用大纲后,使用相同的步骤启用外观.)

  • VS2017RC不再适用.Collasping all不会崩溃地区.(至少目前的版本:15.0.2620.0) (13认同)
  • 对于VS 2017,请参见下面@Myz的答案。 (2认同)

ygo*_*goe 28

Microsoft 的Visual Studio扩展Productivity Power Tools 2015具有一项称为"快速启动任务"的功能,可向"快速启动"菜单添加新命令.其中一个是CollapseRegions,它就是这样做的.

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

  • 以下是Visual Studio 2017的相应扩展:[快速启动任务](https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.QuickLaunchTasks) (7认同)

小智 28

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

收起#regions 图像


Chr*_*cle 20

我知道这是一个老问题,但这是 Visual Studio 2019 的更新:

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

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

从扩展页面:

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


小智 12

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

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

当它的集合CtrlM CtrlO将折叠 #regions 时。


AzN*_*joE 8

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

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

默认键盘快捷键列表:

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


dev*_*ter 8

折叠定义时,在设置-> TextEditor-> C#->高级->折叠#区域中打勾。

然后右键单击编辑器>概述>折叠至防御