目前VS有一个非常有用的功能:排序使用(C#)。
我想为任何随机文本提供相同的功能,例如 - 配置文件中的XML节点。
实施起来有多复杂? VS插件,对吗?是否可以调用一些用于排序使用的VS API?
答案 0 :(得分:23)
编辑:请注意,此解决方案无法在VS2013或更高版本上运行,因为已删除对宏的支持。
您不一定需要编写VS插件来执行此操作:Visual Studio内置了宏。要开始使用,请使用工具,宏,记录临时宏。
这是一个'Sort Lines'命令,我根据Record Temporary Macro给我的代码一起入侵:
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
答案 1 :(得分:15)
答案 2 :(得分:14)
刚刚找到一个好的免费插件:Menees VS Tools 2012(或2010 ver) - 正是这样做,还有一些文字技巧。我安装它时有一些小的负面影响,但在评论页面上发表评论后,它在几天内得到修复。快走吧! =)
现在有一个2017版本:Menees VS Tools 2017
答案 3 :(得分:5)
您可以将代码复制到Sublime Text,选择代码部分并按F9(或转到编辑>排序行)。然后,您可以将其复制回Visual Studio。
答案 4 :(得分:3)
我个人使用Mads Kristensen的Web Essentials扩展名。 您只需选择要排序的行和Alt + 3或Alt + 4(asc / desc)。
答案 5 :(得分:1)
这仍然出现在搜索的顶部,因此我将添加此最新解决方案。如果您正在运行当前的VS代码(为什么不呢?),可以通过按ctrl-shift-p(Mac为cmd-shift-p)并在随后的搜索中键入“ sort”来使用内置分类器框。有很多选择。
答案 6 :(得分:1)
VS 2019: