Visual Studio C#语句崩溃

编辑真正长的代码块时(无论如何它都应该被重构,但这超出了这个问题的范围),我经常渴望能够折叠语句块,就像可以折叠功能块一样。 也就是说,如果代码大纲中包含在大括号中的所有内容都显示减号图标,那就太好了。 它似乎表现为函数,类,区域,名称空间,使用,但不适用于条件或迭代块。 如果我可以将诸如if,switch,foreach等类似的东西折叠起来,那将是太棒了!

谷歌搜索了一下,我发现显然VS中的C ++概述允许这个,但是C#在VS中概述的不是。 我真的不明白为什么。 即使记事本++会这样折叠,如果我选择C#格式,所以我不明白为什么Visual Studio不会。

有谁知道一个VS2008加载项会启用这种行为? 或者某种隐藏的设置呢?

编辑补充说:插入区域当然是一种选择,它已经发生在我身上,但坦率地说,我不应该把东西包装在已经包裹在花括号中的区域中......如果我要编辑现有的代码,我只是重构它,无论如何有更好的分离关注。 (用新方法而不是区域“包装”;)


从Visual Studio 2017开始,语句折叠是内置的。

从VS 2010版本开始,有几个扩展可用于VS之前版本的VS任务:

  • C#大纲
  • C#大纲2012(@MSDN)
  • C#大纲2013(@MSDN)
  • C#大纲2015(@MSDN)
  • Visual Basic和C#Outliner
  • 最后的扩展只支持VS 2015和VS 2017,但它是最强大的。
    它支持折叠块内的语法着色,它具有更高的容错性和优化性。

    如果在使用浏览器下载扩展程序后似乎没有安装扩展程序,请尝试使用内置的Visual Studio扩展管理器。


    我不知道加载项,但你提到的地区,我看到做这样的事情没有错......

    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
    }
    

    编辑:在回答问题的编辑:你说得对,坚持一堆地区到处都不理想,重构可能是要走的路。 但似乎你正在寻找一些神奇的东西来“组织”你的代码,我不认为这存在。


    您可以在Visual Studio中折叠特定的文本块,但必须关闭自动大纲。

    右键单击您的代码窗口并选择(轮廓|停止轮廓)

    然后,选择一些文本,右键单击并选择(大纲|隐藏选择)

    当您再次启用自动轮廓时,您的自定义“区域”将不再折叠。

    链接地址: http://www.djcxy.com/p/50033.html

    上一篇: Visual Studio C# statement collapsing

    下一篇: Can sigwaitinfo() wait for a super set of the process signal mask?