Получить форму проекта "Проект" Кнопка 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, чтобы получить папку проекта (см. Как получить папки в проектах?)

Затем переберите нужную папку и подпапки.

Другие вопросы по тегам