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

C# 在C(Visual Studio)中仅折叠所有区域(!),c#,visual-studio,visual-studio-2015,code-editor,C#,Visual Studio,Visual Studio 2015,Code Editor,有许多键盘快捷键和菜单命令可以自动展开或折叠当前文档中的所有折叠。Ctrl+M, Ctrl+L递归切换所有折叠,从顶部命名空间到内部方法和注释。基本上所有在左边距有[+]图标的内容。Ctrl+M,Ctrl+O做得稍微少一些,但它仍然涉及类内的方法和注释 我正在寻找一个只考虑可折叠区域的函数。不是名称空间、类、注释或方法。我真的只想折叠那些用#region关键字显式标记的区域 是否有任何隐藏的快捷方式或扩展 我更喜欢Visual Studio 2015的键盘解决方案(目前为RC) 如果有人问为什么

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

我正在寻找一个只考虑可折叠区域的函数。不是名称空间、类、注释或方法。我真的只想折叠那些用
#region
关键字显式标记的区域

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

我更喜欢Visual Studio 2015的键盘解决方案(目前为RC)

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


更新:

2020年的解决方案 由于这个问题已经得到了许多答案,其中一些答案毫无用处,另一些已经过时,因此Visual Studio 2019的工作解决方案可以在以下未被充分理解的答案中找到:

Ctrl+M+O将使所有问题崩溃

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

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

Ctrl+M+M将折叠/展开当前节

这些选项也位于“大纲”下的关联菜单中


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

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

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

默认键盘快捷键列表:


Microsoft的Visual Studio扩展有一个名为“快速启动任务”的功能,可将新命令添加到“快速启动”菜单中。其中一个是塌陷区,它就是这样做的


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

我建议使用免费的Visual Studio扩展“Menees VS Tools extension for Visual Studio”。只需在Visual Studio中的工具-->扩展和更新中搜索即可。安装后,只需按Ctrl+M+K键,区域就会折叠。这是他们的网站


要编辑设置,请在工具-->选项-->菜单项与工具-->常规下进行查看。

在Visual Studio 2017中,我必须在中激活“折叠到定义时折叠区域”

工具->选项->文本编辑器->高级

按Ctrl+M+O时显式折叠全部

通过Ctrl A选择全部,然后按Ctrl M


i、 e.按住Ctrl键的同时按M键两次我不知道这是否是新的,但c#text edior有一个设置:

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


当设置CtrlM CtrlO时,将折叠#区域。

在折叠定义时,勾选设置->文本编辑器->高级->折叠#区域中的复选标记


然后在编辑器中单击鼠标右键>大纲>折叠到防御

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

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

我在marketplace上找到了一个不同的解决方案,它使用键盘快捷键精确地折叠和扩展当前打开的文件中的所有区域:

从扩展页:

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


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


我不这么认为(不过还有待修正)。你试过类视图吗?它会显示所有的类成员(不是文本编辑器顶部的下拉列表),你可以双击跳转到所选的成员。我认为没有这样的事情,Ctrl+M,Ctrl+O是最接近的。类视图窗口在一个平面列表中包含所有的项,而不是“区域化”的。这不是我使用区域的目的。我需要区域按主题快速查找成员,特别是在长类中,对于不同的模型类型,每个类都有少量类似的方法。区域按模型类型对它们进行分组。这是唯一正确的答案。。。CTRL+(M然后是O/L)将只展开/折叠页面上直接回答原始问题的区域。VS2017RC不再适用。Collasping all不会折叠区域。(至少当前版本:15.0.2620.0)对于VS 2017,请参见下面@Myz的答案。这里是Visual Studio 2017的相应扩展:在Visual Studio 2019中不再有效,因为它们改变了快速任务搜索的工作方式。不幸的是,这也破坏了其他一切(几乎),而不仅仅是区域。所以这不是我要找的。VS 2017的Quick Launch Tasks扩展仍然存在,现在可以单独安装,请参阅我的其他评论。这可能不是OP要求的,但正是我想要的。当前版本中的选项是“折叠到定义时的折叠区域”,它位于工具>选项>文本编辑器>C#>高级中。这就是我要找的工作