Visual Studio C# statement collapsing

Starting with Visual Studio 2017, statement collapsing is built-in.

There are several extensions that perform this task for pre-2017 versions of VS, starting with VS 2010 version:

  • C# outline
  • C# outline 2012 (@MSDN)
  • C# outline 2013 (@MSDN)
  • C# outline 2015 (@MSDN)
  • Visual Basic and C# Outliner

The last extension supports only VS 2015 and VS 2017, but it's the most powerful one.
It supports syntax coloring inside collapsed blocks, it is more fault-tolerant and optimized.

If the extension doesn't seem to install after you used a browser to download it, try using the built-in Visual Studio extension manager.


I'm not aware of add-ins, but you mentioned regions and I see nothing wrong with doing something like this...

foreach (Item i in Items)
{
  #region something big happening here
  ...
  #endregion

  #region something big happening here too
  ...
  #endregion

  #region something big happening here also
  ...
  #endregion
}

EDIT: In response to the question's EDIT: You're right, sticking a bunch of regions everywhere isn't ideal and refactoring is probably the way to go. But it seems that you're looking for something magical that will "organize" the code for you, and I don't think that exists.


You can collapse specific blocks of text within visual studio, but you have to turn off automatic outlining.

Right click in your code window and select (Outlining | Stop Outlining)

Then, select some text, right click and select (Outlining | Hide Selection)

When you turn on automatic outlining again, your custom "Regions" will no longer collapse.