代码之家  ›  专栏  ›  技术社区  ›  abatishchev Karl Johan

从Visual Studio上下文菜单对所选文本排序

  •  35
  • abatishchev Karl Johan  · 技术社区  · 14 年前

    目前,VS有一个非常有用的特性:排序使用(C)。

    我希望任何随机文本都具有相同的功能,例如配置文件中的XML节点。

    实现这一点有多复杂?对艾丁,对吗?是否可以调用一些用于排序using的vs api?

    5 回复  |  直到 6 年前
        1
  •  13
  •   Eric Sjöström    7 年前

    刚刚找到一个好的免费插件: Menees VS Tools 2012 (或) 2010 ver )-就这样,再加上一些文字技巧。当我安装它时有一些小的否定,但是在评论页面上留下评论后,它在几天内就被修复了。走吧!=)

    现在有一个2017版本: Menees VS Tools 2017

        2
  •  22
  •   Tim Robinson    9 年前

    编辑: 请注意,此解决方案不适用于VS2013或更高版本,因为已删除对宏的支持。

    您不必为此编写vs-addin代码:Visual Studio内置了宏。要开始,请使用工具、宏和记录临时宏。

    下面是一个“排序行”命令,我根据记录临时宏给我的代码拼凑在一起:

    Imports System
    Imports EnvDTE
    
    Public Module TimModule
        Sub SortLines()
            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")
            ' Edit - see comments
            ' Selection.Text = String.Join(Environment.NewLine, Lines)
            Selection.Delete
            Selection.Insert(String.Join(Environment.NewLine, Lines)) 
            DTE.UndoContext.Close()
        End Sub
    End Module
    
        3
  •  14
  •   Knasterbax    8 年前

    Visual Studio的一个不错的加载项是 code maid

    选择一些行并从上下文菜单“排序行”中选择。

    瞧,你的行按字母顺序排列得很好:

    M上下文菜单“排序行”

    enter image description here

    瞧,你的行按字母顺序排列得很好:

    enter image description here

        4
  •  5
  •   William    9 年前

    您可以将代码复制到升华文本中,选择代码部分并单击F9(或转到“编辑”>“排序行”)。然后可以将其复制回Visual Studio。

        5
  •  2
  •   Philip Atanassov    8 年前

    我个人使用 Web Essentials 由Mads Kristensen扩展。 只需选择要排序的行,然后选择alt+3或alt+4(asc/desc)。