В настоящее время VS имеет очень полезную функцию: сортировку по использованию (C #).
Я хочу такую же функциональность для любого произвольного текста, например - узлов XML в файлах конфигурации.
Насколько сложно это реализовать? VS Addin, верно? Можно ли вызвать некоторый VS API, который используется для сортировки употреблений?
Изменить: Обратите внимание, что это решение не работает на VS2013 или более поздних версиях, поскольку поддержка макросов была удалена.
Для этого не обязательно кодировать надстройку VS: 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