Заполнение текста DynamicCombo в Visual Studio расширяемость - PullRequest
0 голосов
/ 03 мая 2019

Я разработал инструмент поиска в Visual Studio для своей компании, он все хорошо работает с DynamicCombo (https://github.com/Microsoft/VSSDK-Extensibility-Samples/tree/master/Combo_Box). Я пытаюсь расширить инструмент поиска, добавив возможность пользователю выбирать текст и затем нажатием ярлыков инструмента поиска DynamicCombo будет автоматически заполнен и поиск будет выполнен. Мне удалось получить выделенный текст и выполнить команду инструмента поиска, но DynamicCombo не обновляется новым элементом и текст не изменяется.

Вот так я настраиваю DynamicCombo

var menuCommandID = new CommandID(new Guid(toolWindowSet), cmdIdSearchBox);
OleMenuCommand searchBoxCommand = new OleMenuCommand(new EventHandler(SearchTerm), menuCommandID)
{
   ParametersDescription = "$" // accept any argument string
};
searchBoxCommand.CommandChanged += SearchTerm;
commandService.AddCommand(searchBoxCommand);

После получения выделенного текста, это как вызвать DynamicCombo. Это вызывает функцию для правильного выполнения поиска, но не заполняет DynamicCombo.

OleMenuCommand cmd = null;
if (GetService(typeof(IMenuCommandService)) is OleMenuCommandService commandService)
{
    cmd = commandService?.FindCommand(new CommandID(new Guid(toolWindowSet), cmdIdSearchBox)) as OleMenuCommand;
    cmd?.Invoke(searchTerms, new IntPtr());
}
...