Получить форму проекта "Проект" Кнопка CommandBar
Я разрабатываю надстройку для VS 2012. Я добавил кнопку и команду Project
командная строка.
Теперь у меня есть кнопка в контекстном меню после нажатия на Project
,
Все, что я хочу сейчас сделать, это перечислить все *.cs
файлы из проекта, по которым была нажата эта кнопка, и имеют доступ для их редактирования.
Мне нужна эта информация в функции "Exec", которая "ловит" мою команду.
Как это сделать?
Части моего кода:
_CommandBars cmdBars = (_CommandBars)_applicationObject.CommandBars;
CommandBar vsBarProject = cmdBars["Project"];
CommandBarPopup pluginProjectFolderPopup = (CommandBarPopup)vsBarProject.Controls.Add(MsoControlType.msoControlPopup, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 1, true);
pluginProjectFolderPopup.Caption = "Plugin";
try
{
Command command = commands.AddNamedCommand2(_addInInstance, "TestRightClickProject", "Plugin test", "Testing right click command on code window", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStyleText, vsCommandControlType.vsCommandControlTypeButton);
if ((commands != null) && (pluginProjectFolderPopup != null))
{
command.AddControl(pluginProjectFolderPopup.CommandBar, 1);
}
}
catch (System.ArgumentException)
{
}
ОБНОВЛЕНИЕ: у меня нет выбора. Я должен использовать надстройки
1 ответ
Посмотрите на ответ на этот вопрос:
Подключаемый модуль Visual Studio 2010 - добавление контекстного меню в обозреватель решений
После того, как вы определите, какой проект выбран (см.
_applicationObject.SelectedItems.Item(1).Project
)
Вы можете использовать ProjectKinds.vsProjectKindSolutionFolder, чтобы получить папку проекта (см. Как получить папки в проектах?)
Затем переберите нужную папку и подпапки.