Visual Studio 的菜单命令扩展,无命令-table
Menu-commands extension for Visual Studio without command-table
我正在构建一个 Visual Studio 扩展 (VSIX),其中包含取决于扩展选项的菜单命令。它是动态的,什么命令(多少)取决于选项。
我有一个解决方案,它使用命令-table,例如:Dynamically add menu items
我想跳过命令-table 并完全以编程方式构建菜单,例如:HOWTO: Package with commands created by code
原因是让它更有活力。因此,如果用户 adds/changes/deletes 在扩展的选项中,它将被动态(以编程方式)处理。在保存选项时,菜单命令树将被重建。如果我使用命令-table,我将不得不在那里 add/delete 个节点才能解决它。
我不明白的是如何以编程方式为 "groups" 和 "menus" 添加对象。
所以我支持以 "AddGroup" 或 "AddMenu" 作为方法的 class/interface。
这是完全可能的还是我必须使用命令-table?如果可能的话,我将不胜感激它的代码示例链接。
问候汉斯
MVP Carlos Quintero 已使用 IVsProfferCommmands3.AddNamedCommand 发布示例代码,说明如何通过自动化服务(以前由现已停产的 add-in 扩展模型使用)以编程方式添加菜单项。
https://github.com/visualstudioextensibility/VSX-Samples/tree/master/PackageCommandsCreatedByCode
虽然不再支持 add-in,但自动化界面仍然存在。所以您可以使用这些,请记住这些菜单项(又名命令)是临时的。
此外,这里的示例代码有点过时,使用 Package 而不是 AsyncPackage 和 ProvideAutoLoad 属性。因此,您还需要阅读以下内容:
https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncPackageMigration
https://devblogs.microsoft.com/visualstudio/updates-to-synchronous-autoload-of-extensions-in-visual-studio-2019/
此致,
我正在构建一个 Visual Studio 扩展 (VSIX),其中包含取决于扩展选项的菜单命令。它是动态的,什么命令(多少)取决于选项。
我有一个解决方案,它使用命令-table,例如:Dynamically add menu items
我想跳过命令-table 并完全以编程方式构建菜单,例如:HOWTO: Package with commands created by code
原因是让它更有活力。因此,如果用户 adds/changes/deletes 在扩展的选项中,它将被动态(以编程方式)处理。在保存选项时,菜单命令树将被重建。如果我使用命令-table,我将不得不在那里 add/delete 个节点才能解决它。
我不明白的是如何以编程方式为 "groups" 和 "menus" 添加对象。
所以我支持以 "AddGroup" 或 "AddMenu" 作为方法的 class/interface。
这是完全可能的还是我必须使用命令-table?如果可能的话,我将不胜感激它的代码示例链接。
问候汉斯
MVP Carlos Quintero 已使用 IVsProfferCommmands3.AddNamedCommand 发布示例代码,说明如何通过自动化服务(以前由现已停产的 add-in 扩展模型使用)以编程方式添加菜单项。
https://github.com/visualstudioextensibility/VSX-Samples/tree/master/PackageCommandsCreatedByCode
虽然不再支持 add-in,但自动化界面仍然存在。所以您可以使用这些,请记住这些菜单项(又名命令)是临时的。
此外,这里的示例代码有点过时,使用 Package 而不是 AsyncPackage 和 ProvideAutoLoad 属性。因此,您还需要阅读以下内容:
https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/AsyncPackageMigration https://devblogs.microsoft.com/visualstudio/updates-to-synchronous-autoload-of-extensions-in-visual-studio-2019/
此致,