Расширение Visual Studio 2017 для пользовательского рефакторинга C # во всем решении

#c# #visual-studio #visual-studio-2017 #refactoring #visual-studio-extensions

#c# #visual-studio #visual-studio-2017 #рефакторинг #visual-studio-extensions

Вопрос:

Я хотел бы разработать расширение Visual Studio 2017, чтобы применить некоторый пользовательский рефакторинг и очистку кода ко всему устаревшему решению C #.

Тип рефакторинга, который я хотел бы применить, не поддерживается Visual Studio или другими расширениями рефакторинга, которые я рассмотрел (например, ReSharper и т.д.). Я полагаю, я могу разобраться с самой логикой рефакторинга.

Однако я не знаю, с чего начать. Я видел ряд статей, которые иллюстрируют, как начать работу с проектом рефакторинга C # в Visual Studio 2015. Однако в Visual Studio 2017 все выглядит совсем по-другому. Для начала есть только шаблон «VISX Project», а не конкретный шаблон рефакторинга. В документации и примерах VSSDK-Extensibility-указано, что вы можете добавить «Точки расширения языковой службы и редактора» и «Добавить рефакторинг или языковые анализаторы для исправления и улучшения кода», но на самом деле я не видел никаких шагов, как этого добиться.

Каковы следующие шаги для создания пользовательского рефакторинга, который я могу выполнить в своем решении? Обратите внимание, что я не хочу добавлять подсказку в редактор, которую я могу выбрать в каждом конкретном случае.

Ответ №1:

Убедитесь, что у вас установлен пакет SDK для платформы компилятора .NET:

введите описание изображения здесь

С ним у вас будет шаблон проекта для рефакторинга кода:

введите описание изображения здесь

Комментарии:

1. Ах, вот оно что! Добавление этого дает мне тип проекта рефакторинга кода, а также элемент рефакторинга при добавлении в проект VISX.

Ответ №2:

Взгляните на Roslyn examples, с помощью которых вы будете выполнять фактический рефакторинг. Вероятно, пример «ImplementNotifyPropertyChanged» станет для вас хорошей отправной точкой.

Для части VSIX, не связанной с рефакторингом, используйте любое обычное руководство по написанию расширений Visual Studio.

КСТАТИ: Ваш вопрос немного широковат для этой страницы.

Комментарии:

1. Спасибо за указатель на примеры Roslyn. У меня все еще возникают проблемы с устранением разрыва между моим пустым проектом VISX и следующим шагом. В документации, кажется, предлагается, чтобы я сделал «Добавить элемент», а затем выбрал из «Расширений», но там нет ничего, что для меня выглядит как рефакторинг. В примерах Roslyn показана часть рефакторинга, но я не уверен, что с ними делать, поскольку они не могут быть запущены как плагин Visual Studio — или я снова что-то упускаю…

2. Перепроверено назад и вперед: в этом руководстве есть скриншот, где предлагается добавить рефакторинг. В моей Visual Studio есть команда Add и т.д., Но нет анализатора, исправления кода и рефакторинга…

3. Был заинтересован в этом; создал пример и попробовал его, но сам пример мне не подходит :-/