Надстройка Visual Studio для разработки на C # - PullRequest
3 голосов
/ 06 июля 2010

Я хочу написать свою первую надстройку Visual Studio 2010. Моя цель - создать надстройку, которая поможет автоматически генерировать код для таких вещей, как:

  • реализовать конструкторы суперкласса
  • создание методов делегирования для составного объекта
  • и т.д.

Конечно, чтобы знать, что генерировать, моя надстройка должна знать файл кода, в который пользователь собирается вставить сгенерированный код. (классы, базовые классы ...)

Моей первой мыслью было использование C # -парсера . Это правильный путь? Нет ли какой-либо части .NET-Framework, COM-объекта или чего-то еще «встроенного»?

Заранее спасибо.

P.S .: Замечено, что метод CSharpCodeProvider класса Parse() еще не был реализован Microsoft. -_-

Ответы [ 2 ]

3 голосов
/ 06 июля 2010

Вы можете получить много информации с сайта MS Visual Studio Extensibility . Это сообщение из блога Visual Studio также может помочь вам начать работу с файлом кода в памяти.

2 голосов
/ 06 июля 2010

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

Если вы пытаетесь реализовать такие функции самостоятельно, удачи, это определенно выполнимо, но кривая обучения может быть довольно крутой.В противном случае вы могли бы взглянуть на ReSharper , который уже реализует функции, которые вы пытаетесь кодировать (и многое другое).Кроме того, он также имеет очень хорошо разработанный API по сравнению с EnvDTE (хотя и не очень хорошо документирован), что позволяет использовать его внутренний анализатор / анализатор C #.

...