【问题标题】:Visual Studio 2010 sort functions in the editor alphabeticallyVisual Studio 2010 编辑器中的函数按字母顺序排序
【发布时间】:2011-04-15 10:54:03
【问题描述】:

有谁知道在编辑器(c#)中按字母顺序对类的函数进行排序的方法? 即

public class Foo
{
    public void B() {...}  
    public void D() {...}
    public void A() {...}
}

排序后的类应该是这样的

public class Foo
{
    public void A() {...}
    public void B() {...}  
    public void D() {...}
}

【问题讨论】:

标签: visual-studio visual-studio-2010


【解决方案1】:

创建这个宏。

选择要排序的文本,然后运行宏。

Sub SortSelectedText()
    Dim Selection As TextSelection = DTE.ActiveDocument.Selection
    Dim Lines() As String = Selection.Text.Replace(Environment.NewLine, Chr(13)).Split(Chr(13))
    Array.Sort(Lines)
    DTE.UndoContext.Open("Sort Lines")
    Selection.Delete()
    Selection.Insert(String.Join(Environment.NewLine, Lines))
    DTE.UndoContext.Close()

End Sub

【讨论】:

  • 当然不是简单地对课堂上的文本进行排序。我认为很明显“...”表示函数体中也可能有一些东西......当然不应该排序整个函数应该移动并最终排序。
  • 大声笑,是的。我把它解释为函数都在一行上。
  • +1 无论如何,因为那个宏正是我正在寻找的 ;-)
  • 嗯。如果您可以编写一个来将函数转换为一行巨大的文本,然后再编写一个来撤消它,那么上面的宏就可以工作了:)
【解决方案2】:

您可以查看开源项目 NArrange,它可以对 using 语句以及文件中的所有成员和类进行排序,等等。

http://www.narrange.net/

最新版本是2009-12-05,所以项目可能不会再进化了,但看起来已经足够稳定了。

【讨论】:

  • 尝试一下,谢谢!我知道 Eclipse 可以为 .java 文件执行此操作,并且希望具有相同的功能。直到我的 c# 类开始破坏 1500 行代码,我才意识到我是多么欣赏这个功能:D
【解决方案3】:

MZ-Tools addin 可以做到这一点。

【讨论】:

    【解决方案4】:

    你试过codemaid吗?是开源的。 还有其他像 ReSharper 也非常好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多