Добавить элемент в контекстное меню управления исходным кодом Visual Studio - PullRequest
0 голосов
/ 28 февраля 2019

Я хотел бы создать расширение для контекстного меню VS Source Control Explorer. Чтобы добавить параметр в контекстное меню текстового редактора, я знаю, что вам нужно установить IDM_VS_CTXT_CODEWIN на родительском узле группы в файле vsct.

Может кто-нибудь сказать мне правильное значение для контекстного меню Source Control Explorer?

1 Ответ

0 голосов
/ 01 марта 2019

Я не думаю, что определенное руководство по контекстному меню: пара идентификаторов опубликована где-либо.Я обычно пытаюсь найти различные файлы .VSCT в каталоге… .VSSDK \ VisualStudioIntegration \ Common \ Inc, чтобы найти уникальный пункт меню в контекстном меню, выяснить, к какой группе меню он относится, и оттуда вернуться.

Но, учитывая тысячи команд и меню, подключенных к IDE, это может быть сценарий попадания или пропуска.

Когда поиск различных файлов .VSCT по указанному выше пути не удался, я обычно возвращаюсь к использованию ключа реестра EnableVSIPLogging, чтобы обнаружить пару guid: id для данного контекстного меню.

Самый простой способ установить это - установить Расширение Mad's Extensibility Tools , которое добавляет команду «Включить ведение журнала VSIP» в главном меню IDE «View».Как только вы установите это, если вы удерживаете клавиши CTRL + SHIFT, щелкая правой кнопкой мыши в Окне инструментов, вы получите окно диагностического сообщения с указателем и идентификатором контекстного меню.Вы можете использовать их как родительский для группы меню, содержащей вашу команду.

Например:


Сообщение VSDebug

Данные меню:

Guid = {**FFE1131C-8EA1-4D05-9728-34AD4611BDA9**}
GuidID = 962
CmdID = ***4113***
Type = 0x00000400
Flags = 0x04000000

NameLoc = (null)

OK

Где FFE1131C-8EA1-4D05-9728-34AD4611BDA9 - это руководство по контекстному меню, а 4113 - это идентификатор меню.

Обратите внимание: если вы удерживаете клавиши CTRL + SHIFT при выборе фактической команды, появится тот же диалог, но guid и cmdid определят конкретную выбранную команду (пункт меню).

С уважением,

...