【问题标题】:"Folding" long sections of code in Visual Studio 2008在 Visual Studio 2008 中“折叠”长段代码
【发布时间】:2019-03-22 04:59:40
【问题描述】:

我在 VB.NET (VS2008) 中有很长的函数,我想将它们缩小。我知道#region 指令,但它们在函数内部不起作用。

我想知道是否有人知道 Visual Studio 2008 的任何插件,可以让我折叠 if 语句、循环和 try catch 语句。我找到了一些适用于 Visual Studio 2005 的插件,但没有找到适用于 Visual Studio 2008 的插件。

【问题讨论】:

    标签: visual-studio-2008 ide plugins


    【解决方案1】:

    您可能想阅读 Martin Fowler 的书Refactoring: Improving the Design of Existing Code,以及Code Complete: 2nd Edition

    refactoring book http://ecx.images-amazon.com/images/I/21ZceZ5jBTL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA115_.jpg

    如果您的函数和子例程很长,则意味着需要重构的工作复杂性更大。

    更新

    我刚读完“Uncle” Bob Martin 的书Clean Code,我不得不说它在“必读”类别中与其他两本紧挨着。

    【讨论】:

    • 我认为不成文的规则是尽量将功能保持在大约一屏文本中,除此之外的任何内容和部分都可以被分解以提高可读性
    【解决方案2】:

    我正在 VB.net 2008 中编写一些冗长的函数” == Code Smell

    不治标不治本,将方法组件化。

    【讨论】:

    • “治标不治本”——这就是我喜欢听到的!
    • 虽然我很想解决一个问题,但我需要尽快解决,所以重写代码并不是一个真正的选择
    【解决方案3】:

    对于许多人来说,地区是一个主观的东西。

    我非常不喜欢任何隐藏意义的东西。如果您发现自己“编写冗长的函数”,请尝试将功能重构为单独的对象和方法。从长远来看,它使代码更易于理解和维护。

    在区域中隐藏代码是个坏主意,IMO。

    【讨论】:

    • 我完全同意。我有一个宏 (ctrl+m+m) 可以扩展文件中的所有区域。
    • 我不得不坚决反对。我有很多代码可以很容易地通过它的作用分解成块,所以我#region/#endregion 它们然后在我不使用这些块时折叠它们。举个例子,一个主 GUI 可以被分解成一个处理菜单和工具栏的块,一个处理与 GUI 相关的对象管理的块,一个处理表单启动的块,等等。当我在工具栏上工作时,我通常不想看到或使用启动代码,所以我将它折叠起来。
    • “子程序”不就是为此而发明的吗?
    【解决方案4】:

    好吧,我终于找到了一个工具,可以在 subs 和函数中折叠代码。这并不理想,因为您必须指定要折叠的区域,但它可以完成这项工作。 该软件称为 smartoutline。一旦您通过了损坏的安装程序。

    http://submain.com/products/smartoutline.aspx

    安装程序在管理员权限方面存在一些问题,因此要安装它,您需要创建 Windows 安装程序的快捷方式,指定 msi 作为参数,然后以管理员身份运行它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2018-07-31
      • 2010-11-20
      • 2021-05-09
      相关资源
      最近更新 更多