Разработка плагинов / надстроек Visual Studio 2008 - Начало работы - PullRequest
7 голосов
/ 13 мая 2009

Эй, ребята, в связи с этим вопросом о стековом потоке , как бы мне создать собственный плагин для Visual Studio 2008.

Я проверил Visual Studio Developer Center на MSDN, но объем информации огромен. Существует множество типов проектов, и я даже не знаю, с чего начать.

С чего мне начать искать , если я хочу написать что-то, отвечающее следующим требованиям:

  1. Плагин, который работает как «служба» в Visual Studio и может запрашивать информацию в Visual Studio и обрабатывать события Visual Studio.
  2. Информация, которую я хотел бы получить от VS, - это информация о том, какие проекты открыты в данный момент, у кого они открыты, и другая информация, основанная на файле решения / проекта.
  3. События, которые я бы хотел обработать, это такие вещи, как открытие / закрытие / редактирование / создание / удаление решений / проектов / отдельных файлов.
  4. Я также хотел бы иметь возможность обрабатывать любое взаимодействие с VS для каждого решения. Поэтому я хотел бы справиться с любым взаимодействием с файлами, даже с редактированием кода, но также и с другим взаимодействием, например с меню, или только с самой IDE.

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

Мне просто нужен толчок в правильном направлении, Возможно ли это? На какой части центра разработки Visual Studio мне следует сосредоточиться? Какие API я должен проверить?

ура!

Ответы [ 2 ]

6 голосов
/ 13 мая 2009

Надстройка может сделать большую часть этого. В VS2008 есть шаблон для создания базовой надстройки.

У меня есть надстройка, которую можно скачать, которая подключается к событиям загрузки решения / проекта и т. Д. Она бесплатна и поставляется с исходным кодом (http://www.huagati.com/projectloader/download/huagatiprojectloader.zip). Эта конкретная надстройка определяет, когда загружаются проекты / решения, и предварительно загружает ссылочные сборки, чтобы обойти ошибку CLR, которая может привести к сбою VS2008. В любом случае, исходный код показывает, как обнаружить некоторые события, которые вы ищете.

Кроме этого, основным ресурсом по разработке надстроек и всеми небольшими причудами и хитростями является блог Карлоса Кинтеро (http://msmvps.com/blogs/carlosq/) и серия статей "Howto" на его сайте (http://www.mztools.com/resources_vsnet_addins.aspx).

В блоге Крейга Скибо (http://blogs.msdn.com/craigskibo/) также есть несколько полезных советов.

2 голосов
/ 13 мая 2009
...