Visual Studio C# statement collapsing

雨燕双飞 提交于 2019-11-27 05:54:59

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:

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.

Visual Studio 2008 supports regions inside of functions as long as you keep them in the same code hierarchical level

#region Won't work
for(int i = 0; i<Count; i++)
{
//do something
#endregion
}

for(int i=0; i<Count; i++)
{
#region Works fine
//do lots of stuff
#endregion
}

Let me say something different: press(ctrl+m,ctrl+h) or in edit>outlining>hide selection its so useful.

This feature has been added to Visual Studio 2010's C# editor. I can't find the source verifying it was actually put in, but I remember seeing it on one of the Dev 10 team member blogs talking about changes since Beta 1 or something. As a consolation, here's one Microsoft comment suggesting they wanted to add it.

I will add here that in VS 2010 Microsoft has added WPF adorner capabilities using Managed Extensibility Framework (MEF), this will allow us to extend the source code editor to organize them in a much better way to make it more readable and accessible.

For instance the Summary Comments visualizer that Scott Gu demoed at PDC 2008.

So look forward to a better tomorrow for developers :)

Coderush will outline all code blocks for you. Not sure if it allows you to expand/collapse the blocks, but outlining is the next best thing. I use resharper instead of coderush which as far as I know doesn't provide block collapsing either :(

I have found this for Visual Studio 2013 and found it very helpful. It works even if you put simple braces around your code with { ..... }

After sharing I found somebody else also mentioned this link. My vote is for this tool also.

C# Outlining Tool for Visual Studio 2013

In VS2017 you can highlight a section of code, right-click, Outlining > Hide selection. This will collapse the code and provide a toggle to the section highlighted.

# region ,#endregion is the smart option.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!