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
7条答案
按热度按时间kqlmhetl1#
VS 2019&VS 2022:
1.选择行,最后一个选中的行是光标所在的位置,即使该行为空,没有可见的选择,也会考虑该行。
1.Shift + Alt + L,Shift + Alt + S=〉升序排序。
1.Shift + Alt + L,Shift + Alt + S(相同的选择相同的键)=〉降序排序。
也可以从菜单(@sharpener)调用该命令:编辑|高级|行排序
此快捷方式适用于最常用的方案:Visual C++6键盘Map方案(可能还有其他方案)。您可以在***选项中检查您的方案|键盘|应用以下附加键盘Map方案:***。
您可以在***选项中查看快捷方式|键盘|显示包含以下内容的命令:Edit.SortLines|所选命令的快捷方式:***。
bwleehnv2#
Visual Studio的一个不错的插件是Code Maid
您选择一些行并从上下文菜单“排序行”中选择
瞧,你的行按字母顺序排列得很好:
ergxz8rk3#
**编辑:**请注意,此解决方案不适用于VS2013或更高版本,因为对宏的支持已被删除。
你不一定需要编写一个VS插件来做到这一点:Visual Studio内置了宏。若要开始,请使用“工具”、“宏”、“记录临时宏”。
下面是我根据Record Temporary Macro给我的代码编写的“Sort Lines”命令:
mznpcxlj4#
刚刚发现一个很好的免费插件:Menees VS Tools 2012(或2010 ver)-做的正是这一点和一些更多的文本技巧.有一些小的负面,当我安装它,但在评论页面上留下评论后,它得到了修复在几天内.等待去!=)
现在有一个2017版本:Menees VS Tools 2017
tzdcorbm5#
这仍然出现在搜索的顶部,所以我会添加这个最新的解决方案。如果你正在运行当前的VS Code(为什么不呢?),你可以通过点击ctrl-shift-p(Mac是cmd-shift-p)并在随后的搜索框中输入“sort”来使用内置的排序器。有很多选项。
6fe3ivhb6#
您可以将代码复制到Sublime Text中,选择代码部分并按F9(或转到编辑〉排序行)。然后您可以将其复制回Visual Studio。
col17t5w7#
我个人使用的是Mads Kristensen的Web Essentials扩展。你只需要选择你想排序的行,然后Alt+3或Alt+4(asc/desc)。