没有命令表的 Visual Studio 的菜单命令扩展

汉斯·金德伯格

我正在使用菜单命令构建 Visual Studio 扩展 (VSIX),具体取决于扩展选项。它的动态,什么命令(多少)取决于选项。

我有一个使用命令表的解决方案,例如:动态添加菜单项

我想跳过命令表并完全以编程方式构建菜单,例如:HOWTO: Package with commands created by code

原因是让它更有活力。因此,如果用户在扩展选项中添加/更改/删除,它将被动态处理(以编程方式)。在保存选项时,菜单命令树将被重建。如果我使用命令表,我将不得不在那里添加/删除节点才能解决它。

我无法弄清楚的是如何以编程方式为“组”和“菜单”添加对象。

所以我选择了具有“AddGroup”或“AddMenu”作为方法的类/接口。

这是可能的还是我必须使用命令表?如果可能的话,我会很感激它的代码示例链接。

问候汉斯

埃德·多尔

MVP Carlos Quintero 发布了使用 IVsProfferCommmands3.AddNamedCommand 的示例代码,该代码说明了如何通过自动化服务(以前由现已停产的插件扩展模型使用)以编程方式添加菜单项。

https://github.com/visualstudioextensibility/VSX-Samples/tree/master/PackageCommandsCreatedByCode

虽然不再支持加载项,但自动化界面仍然存在。所以你可以使用这些,记住这些菜单项(又名命令)是临时的。

此外,这里的示例代码有点过时,使用 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/

真挚地,

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章