Имеет ли Visual Studio средства с помощью которых можно было бы выполнить сортировку методов в коде? Например, по алфавиту, по доступу и т п?
Если нет, то какие есть решения?
Ответ
Поделюсь своим опытом по автоматическому форматированию C# кода без использования ReSharper-а. Уже долгое время использую расширение CodeMaid для чистки кода. Расширение умеет:
форматировать код
удалять пустые строки
сортировать пространства имен
добавлять пропущенные модификаторы доступа
и другое.
В том числе это расширение умеет и выполнять сортировку элементов класса документа по алфавиту(функция называется Code Reorganizing). Расширение имеет два критерия сортировки:
тип элемента
уровень доступа элемента
Вот так выглядит основная его страница с настройками сортировки
Как видим, мы можем выбрать порядок критериев сортировки(что главнее, тип элемента, или доступ). Каждый критерий имеет дополнительные настройки:
1. Критерий уровень доступа на этой же странице имеется переключатель для настройки порядка сортировки(от public к private или наоборот).
2. Критерий тип элемента настраивается на отдельной странице, где можно выбрать порядок расположения элементов. Например, можно настроить такой порядок: сначала идут конструктор(ы), потом поля класса, потом свойства, потом методы и так далее)
Внутри группы элементы будут сортироваться по алфавиту! Обратный порядок сортировки у меня не работает! Также типы элементов можно объединять в одну группу, чтобы внутри группы элементы имели равный приоритет и сортировались по алфавиту. Для примера, в приведенной настройке выше указано, что конструктор и поля класса должны сортироваться по алфавиту в одной группе(пример не совсем удачный, но это пример). Соответственно, конструктор класса будет отсортировать куда-то "в середину" полей класса.
Вызвать сортировку элементов вы можете через главное меню в VS или через контекстное меню редактора. Пункт меню для текущей версии расширения называется
Reorganize active document
Таким образом, расширение CodeMaid позволяет выполнять сортировку элементов класса исходного кода для C#. Ну и кроме того, расширение будет полезно для использования других возможностей по чистке C# кода.
Комментариев нет:
Отправить комментарий