Почему кнопки подменю внутри расширения VSIX всегда отключены и как их правильно включить на VS2026?C#

Место общения программистов C#
Ответить
Anonymous
 Почему кнопки подменю внутри расширения VSIX всегда отключены и как их правильно включить на VS2026?

Сообщение Anonymous »

Я создаю второй пилотный модуль, например расширение VSIX, для VS2026 для использования с моим автономным сервером LLM.
Я создал кнопку раскрывающегося меню и кнопки подменю (которые, кажется, всегда выделены серым цветом/отключены).
Я пытался получить некоторую помощь с Chatgpt/Google Gemini, но мне не удалось решить отключенный статус подменю кнопки.
Меню правильно отображается в VS2026-Инструменты и при щелчке правой кнопкой мыши (выбор кода).
Я новичок в проектах VSIX и WPF.
Как правильно включить эти кнопки?
Что делает их отключенными?
Любая помощь приветствуется.
Внешний интерфейс Код WPF:

Код: Выделить всё























AI Assistant























Open Chat







Generate Context







вот как я все регистрирую на сервере:

Код: Выделить всё

        public static async Task InitializeAsync(AsyncPackage package)
{
// Switch to UI Thread immediately
await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(package.DisposalToken);

var commandService = await package.GetServiceAsync(typeof(IMenuCommandService)) as OleMenuCommandService;
// Use DTE2 for better VS 2026 compatibility
var dte = await package.GetServiceAsync(typeof(SDTE)) as EnvDTE80.DTE2;

if (commandService != null && dte != null)
{
// Don't just discard the instance, ensure it's fully constructed
var unused = new CommandHandlers(package, commandService, (EnvDTE.DTE)dte);
}
}

private void RegisterCommands(OleMenuCommandService commandService)
{
// 1. Show Tool Window Command
var showWindowCommand = new OleMenuCommand(
ShowAiToolWindowExecute,
new CommandID(CommandSet, ShowToolWindowCommandId));

showWindowCommand.Supported = true;
showWindowCommand.Enabled = true;
showWindowCommand.Visible = true;
showWindowCommand.BeforeQueryStatus += OnBeforeQueryStatus;
commandService.AddCommand(showWindowCommand);
}

Подробнее здесь: https://stackoverflow.com/questions/798 ... d-how-to-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»