如何在Visual Studio VB.NET中禁用区域折叠或展开所有区域?

56

在 Visual Studio C# (2008) 中,Ctrl+M+L 可以展开所有区域。

菜单中也有一个设置:

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

为了在打开文件时不要折叠。我在VB.NET中没有看到相应的选项。

是否有一种方法可以展开所有区域,而不仅仅是焦点所在的区域在VB.NET中?

或者有一个可以实现这个功能的宏或插件吗?我只是讨厌不能看到所有的代码。


我重置了设置,但仍无法正常工作。它在C#中可以工作,但在vb.net中不行。在vb.net中唯一有效的是通过ctril-M-M折叠/展开光标所在区域。我已经阅读了网上其他人遇到类似问题的帖子,例如这个,尽管它与VS 2005有关。http://www.eggheadcafe.com/forumarchives/NETVisualBasic/Oct2005/post24342618.asp 这个解决方案对我有用,其中涉及使用宏。(如果有人创建了宏,那么问题就是真实存在的。我确信区域能够正常工作) - Tony_Henrich
请查看以下链接:https://marketplace.visualstudio.com/items?itemName=Shanewho.IHateRegions#overview - CAD bloke
这里是:https://github.com/fsdsabel/ExpandRegions/releases(其他扩展已经被放弃或在2019年似乎无法使用) - David
8个回答

28

在Visual Studio 2012和2013中,有一个关闭折叠的选项(称为“大纲模式”)。

您可以在以下位置找到它:

Text-Editor->Basic->VB Specific

然后取消勾选"启用大纲模式"。

但是这样你将失去全部折叠/展开功能。


39
对于C#开发人员,可以在“文本编辑器”->“C#”->“高级”下找到此选项:“打开文件时进入大纲模式”。取消选中此选项将禁用区域。 - Jan_V
9
很不幸,似乎你不能在没有默认全部折叠的情况下使用“大纲模式”。 - Nyerguds

10
如果您愿意删除区域,可以尝试以下方法:

Ctrl+F

  • 快速替换
  • 查找选项
  • 使用:正则表达式

查找内容:

^\s*#(end)?region.*$

替换为:

[leave replace box empty]

解释:

  • ^ - 匹配行的开头
  • \s* - 匹配零个或多个空格字符
  • # - 匹配一个 # 字符
  • (end)? - 可选地匹配字符串 end
  • region - 匹配字符串 region
  • .* - 匹配零个或多个其他字符
  • $ - 匹配行的结尾

这将有效地找到所有的 #region#endregion 行,无论它们是否缩进,以及它们后面是否有描述文本。


7
在编辑菜单中,大纲子菜单包含所有选项,其中包括切换所有大纲(默认情况下为Ctrl+M+L)。
也许你的按键映射被更改了。
如果您愿意,甚至可以选择菜单:
Edit -> Outlining -> Stop Outlining

更改快捷键的相应命令是 Edit.ToggleAllOutliningEdit.StopOutlining - bugybunny

3
在VB.Net中,进行搜索和替换时请选中“使用隐藏”和“使用正则表达式”:
替换:
^.*\#(end)*(:Wh)*region.*\n

随着:


同样适用于C#,http://www.brianschmitt.com/2010/01/clear-visual-studio-regions.html - quadroid

2
我写了一个扩展程序来实现这个功能(以及更多),它适用于VB和C#。有关更多信息,请参见此答案: 在Visual Studio中隐藏区域

1

这很奇怪。VB.Net和C#的默认配置应该将概述功能绑定到Ctrl+MCtrl+L组合键。

可能是您的配置文件处于奇怪的状态。尝试将配置文件重置为VB.Net设置,看看是否能解决问题。

工具导入/导出设置重置所有设置VB.Net配置文件


1

一旦我改变了:

#Region Form Level Events
#End Region

翻译为中文:

To(请注意添加引号):

#Region "Form Level Events"
#End Region

出现了减号标记,我可以折叠/展开区域。

-3
我想到了一个小技巧:

Ctrl+F

  • 快速替换
  • 查找:

#Region

  • 搜索范围:当前文档(或整个项目或任何需要展开区域的地方)
  • 搜索隐藏文本

然后按下 Return 并保持按下,直到 VS 通知搜索结束。 结果,所有的 '#region' 都在几秒钟内被展开了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接