C# 如何将Visual Studio配置为默认折叠所有区域?

C# 如何将Visual Studio配置为默认折叠所有区域?,c#,.net,visual-studio,region,C#,.net,Visual Studio,Region,当我在一个新的代码窗口中打开一个代码文件时,我按Ctrl+M,O来折叠那里的所有内容。据我所知,这可以在默认情况下完成,无需每次按任何键。我想我做过一次,但不记得这个选项在哪里 您是否尝试过Tools\Options\Text Editor\C\Advanced,并在文件打开时检查“进入大纲显示”模式?这是可能的。转到“工具”菜单,然后选择“选项” Text Editor \ C# \ Advanced 打开文件时,该选项称为“进入大纲显示模式”。 启用大纲模式时,默认情况下会折叠区域

当我在一个新的代码窗口中打开一个代码文件时,我按Ctrl+M,O来折叠那里的所有内容。据我所知,这可以在默认情况下完成,无需每次按任何键。我想我做过一次,但不记得这个选项在哪里

您是否尝试过Tools\Options\Text Editor\C\Advanced,并在文件打开时检查“进入大纲显示”模式?

这是可能的。转到“工具”菜单,然后选择“选项”

Text Editor
 \ C#
   \ Advanced
打开文件时,该选项称为“进入大纲显示模式”。
启用大纲模式时,默认情况下会折叠区域。

最后一种方法是,如果无法使用设置,也可以编写宏来执行此操作。看看这个例子

以下是链接中的主要信息:

您可以通过进入工具->宏->宏IDE打开宏IDE。 在项目MyMacros中应该有一个名为EnvironmentEvents的模块。 此代码应添加到EnvironmentEvents模块:

Private opened As Boolean

    Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, ByVal LostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
        If GotFocus.Document Is Nothing Then
            Return
        End If
        If GotFocus.Document.FullName.EndsWith(".cs") And opened = True Then
            DTE.ExecuteCommand("Edit.CollapsetoDefinitions")
        End If
        opened = False
    End Sub

    Private Sub DocumentEvents_DocumentOpened(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentOpened
        opened = True
End Sub

对于记录,我发现取消选中“进入大纲模式”选项将禁用所有大纲,这是不可取的


我确实找到了这个扩展:,我讨厌的区域扩展。可用于VS2010-2015,到目前为止,似乎像广告宣传的那样有效。

您的意思是扩展吗?我认为默认情况是将其折叠。如果您一开始没有检查大纲,您可能会发现自己处于重新检查的位置,并希望测试它是否有效。在这种情况下,您已经打开的任何文件都将保持其未压缩状态。事实上,VS在重新启动时会保持该状态,因此您可能会认为您的更改不起作用。但是,如果您打开了其他未打开的文件,它将默认为折叠。作为此答案的补充,宏已在Visual Studio 2012中删除。因此,我无法在VS2015上找到它。现在怎么办?你应该把链接中的关键信息直接放在帖子里。我知道这是一个较老的答案,所以技术上还可以,但就目前的预期而言,这是一个低质量的答案。所以更新一下就好了。@DangerZone我肯定应该把链接中的相关信息添加到答案中。我现在已经用这些信息更新了答案。谢谢。@Peter Ivanov:好的,一旦你打开一个文件,大纲状态就会保存在.suo中。该设置仅影响未缓存视图状态的文件。