перехват событий обозревателя решений - PullRequest
2 голосов
/ 15 февраля 2011

Мне было поручено создать надстройку, которая не позволяет разработчикам изменять структуру решения: им разрешено редактировать код, но не перемещать файлы, проекты или фильтры или переименовывать объекты. Причина в том, что команды сборки перехватываются надстройкой и передаются в пользовательский инструмент сборки.

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

Спасибо

ps. Это для Visual Studio версий 2005 и 2008. 2010 будет поддерживать другой API (MEF) для этого.

Ответы [ 2 ]

0 голосов
/ 29 июня 2012

В итоге я решил обработать эти проблемы, перехватывая события проекта для ItemAdded, ItemMoved и ItemRemoved в интерфейсе VCProjectEngineEvents, как решение было для c ++.

Для всех, кому нужно побродить по внутренним объектам Visual Stuido (ад), я могу порекомендовать этот сайт .

Вам, скорее всего, придется самим разобраться, но этот сайт - фантастический ресурс для работы с чудесами VS.

0 голосов
/ 15 февраля 2011
...