How to permanently disable region-folding in Visual Studio 2008
Asked Answered
P

9

114

Anyone know how to turn off code folding in visual studio 2008? Some of my colleagues love it, but I personally always want to see all the code, and never want code folded out of sight. I'd like a setting that means my copy of Visual Studio never folds #regionsor function bodies.

Poult answered 22/9, 2008 at 15:53 Comment(0)
T
145

Edit: I recommend this other answer

Go to the Tools->Options menu. Go to Text Editor->C#->Advanced. Uncheck "Enter outlining mode when files open".

That will disable all outlining, including regions, for all c# code files.

Thailand answered 22/9, 2008 at 15:58 Comment(5)
Unchecking this option disables outlining completely however. Is there another setting somewhere that will just display all regions in the code expanded when a file is opened?Hasty
I think you have to use Macros to do that, but I don't know the code to accomplish it.Thailand
Option location moved in VS 2013: Text Editor -> C# -> View, Outline Statement Blocks.Tangle
Can anyone explain what outlining mode is PLEASE?Robledo
This works in VS 2015 as well, which I'm grateful for!Dear
R
57

The accepted answer turns off ALL code folding. If you want to disable #region folding but collapse comments, loops, methods, etc I wrote a plugin that does this for you.

Make #regions suck less (for free):

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

  • Auto Expand regions when a file is opened
  • Optionally prevent regions from being collapsed (but still be able to collapse other code)
  • Give the #region / #end region lines a smaller, lighter background so they are less noticeable (also an option)
  • Works in C# and VB (but only in VS 2010/2012, not supported for 2008)

Region Tool Screenshot

Rime answered 2/6, 2011 at 0:38 Comment(3)
Any plans for a VS 2013 version? Is the source available? I'm sure someone would be willing to add 2013 support.Villareal
Hoping for VS 2017.Doubleminded
@NickPainter I appreciate that this comment comes about 4 years too late, but you can get it to install on VS2017 by modifying the extension.vsixmanifest file in the DisableRegions.vsix (which is just a renamed zip file) to include additional supported versions. Please bear in mind I only tested this for like 2 mins on 1 install of VS so YMMV, but it appears to work for me. I take no responsibility if you kill your VS install though.Tourism
O
10

You can also disable region-wrapping on generated code (like when you use the Visual Studio shortcut to auto-implement an interface).

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

Octuple answered 16/9, 2009 at 16:37 Comment(1)
I found this at Tools > Options > Text Editor > C# > Advanced > Implement Interface. Uncheck Surround generated code with #region. Thanks again.Danforth
E
9

Options / Text Editor / C# / Advanced / Enter outlining mode when files open

Extemporary answered 22/9, 2008 at 15:57 Comment(0)
O
9

It's not permanent, but the keystrokes Ctrl-M Ctrl-L expand the regions in a file

Orfield answered 22/9, 2008 at 15:57 Comment(0)
R
5

Also, a quick way to toggle expand/collapse of all regions is: CTRL + M + L

Randellrandene answered 22/9, 2008 at 16:0 Comment(0)
M
2

I've posted an answer in a related-but-not-duplicate thread that may help some people here. I detailed how to create macros that will deactivate a single unit's #regions by commenting out the #region and #endregion directives, with a companion for reactivating them. With the #regions deactivated the Ctrl+M+O / Collapse to Definitions function does exactly what I want it to. I hope this is useful for someone beside myself.

Shortcut to collapse to definitions except regions

Memo answered 26/11, 2009 at 20:58 Comment(0)
P
1

This option seem to be available only in C# and not in C/C++ (Visual Studio 2005). To disable outlining in C/C++ files you need to make a trick by changing the outlining color to editor's background color. To do this go to Tools > Options > Environment > Fonts and Colors > Collapsible Text > Change "Item Foreground" color to White (or whatever your background color is).

Puto answered 18/2, 2011 at 18:28 Comment(2)
This! This is what I've been looking for! Really appreciate this insight into an annoying "feature" that I've been looking to kill off for months (if not years)!Moffat
@Moffat by using this solution you might go into trouble if you click that white area by mistake and region folds, then to unfold it you need to aim click at an invisible area.Puto
H
0

i resolved the problem for me with an environmentevent:

  1. start macroeditor (alt+f11)
  2. open macroproject / EnvironmentEvents
  3. paste the follwing code:

    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

Greetings Tobi

Humphreys answered 5/6, 2013 at 15:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.