如何在Visual Studio 2008中永久禁用区域折叠

时间:2008-09-22 15:53:41

标签: c# visual-studio-2008 text-editor outlining

任何人都知道如何在visual studio 2008中关闭代码折叠?我的一些同事喜欢它,但我个人总是希望看到所有代码,并且永远不希望代码折叠在视线之外。我想要一个设置,这意味着我的Visual Studio副本永远不会折叠#regions或函数体。

9 个答案:

答案 0 :(得分:133)

修改:I recommend this other answer

转到工具 - >选项菜单。 转到文本编辑器 - > C# - >高级。取消选中“文件打开时输入大纲模式”。

这将禁用所有c#代码文件的所有大纲,包括区域。

答案 1 :(得分:53)

接受的答案会关闭所有代码折叠。如果你想禁用#region折叠但是折叠注释,循环,方法等,我写了一个为你做这个的插件。

让#regions减少(免费):

http://visualstudiogallery.msdn.microsoft.com/0ca60d35-1e02-43b7-bf59-ac7deb9afbca

  • 打开文件时自动展开区域
  • (可选)阻止区域折叠(但仍然可以折叠其他代码)
  • 为#region / #end区域线条提供更小,更轻的背景,使它们不那么明显(也是一个选项)
  • 适用于C#和VB(但仅限于VS 2010/2012,2008年不支持)

Region Tool Screenshot

答案 2 :(得分:10)

您还可以在生成的代码上禁用区域包装(例如,当您使用Visual Studio快捷方式自动实现接口时)。

alt text http://dusda.com/files/regionssuck.png

答案 3 :(得分:9)

选项/文本编辑器/ C#/高级/在文件打开时输入大纲模式

答案 4 :(得分:7)

它不是永久性的,但按键Ctrl-M Ctrl-L会扩展文件中的区域

答案 5 :(得分:3)

此外,切换所有区域的展开/折叠的快捷方法是:CTRL + M + L

答案 6 :(得分:2)

我在一个相关但不重复的帖子中发布了一个答案,可以帮助这里的一些人。我详细介绍了如何通过注释#region和#endregion指令来创建将停用单个单元的#regions的宏,以及用于重新激活它们的协同程序。 #regions取消激活后,Ctrl + M + O / Collapse to Definitions功能完全符合我的要求。我希望这对我身边的人有用。

Shortcut to collapse to definitions except regions

答案 7 :(得分:1)

此选项似乎仅在C#中可用,而在C / C ++(Visual Studio 2005)中不可用。要禁用C / C ++文件中的大纲,您需要通过将大纲颜色更改为编辑器的背景颜色来制作技巧。要执行此操作,请转到工具>选项>环境>字体和颜色>可折叠文字>将“项目前景”颜色更改为白色(或任何背景颜色)。

答案 8 :(得分:0)

我用环境问题为我解决了这个问题:

  1. 启动macroeditor(alt + f11)
  2. open macroproject / EnvironmentEvents
  3. 粘贴以下代码:
  4. 
        Private Sub DocumentEvents_DocumentOpened(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentOpened
            If (Not Document Is Nothing) Then
                If (Document.FullName.ToLower().EndsWith(".cs")) Then
                    Try
                        DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                    Catch ex As Exception
                    End Try
                End If
            End If
        End Sub
    
        Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, ByVal LostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
            If (Not GotFocus Is Nothing) Then
                If (Not GotFocus.Document Is Nothing) Then
                    If (GotFocus.Document.FullName.ToLower().EndsWith(".cs")) Then
                        Try
                            DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                        Catch ex As Exception
                        End Try
                    End If
                End If
            End If
        End Sub
    
    

    问候 托比