我能否以编程方式在 visual studio 可扩展性中添加新的命名命令?

Can I programatically add a new named command in visual studio extensibility?

Visual Studio 2015.

我曾经在加载项中使用 AddNamedCommand2。现在加载项没有了,我正在努力学习制作 vsix。

我希望能够以编程方式添加命名命令。

这还有可能吗?我曾经使用反射将一堆命名命令添加到加载项中的 visual studio 。我的意思是我可以从命令 Window 中使用我指定的名称 运行 的命令,例如 "Penguin.TestCommand".

请注意,创建命令的首选方式是 .vsct 文件,尽管您无法完全控制名称(前缀)。要获得 "Penguin." 前缀,您的扩展程序必须创建一个顶部菜单,如果您的扩展程序只有一个命令,这就太过分了。

以编程方式,使用 IVsProfferCommands3.AddNamedCommand。在 VS 2013(包括)之前的 Visual Studio 版本中存在一个错误,即在创建命令时,它始终处于禁用状态,您无法执行任何操作来启用它。我私下向 Microsoft 报告了此问题,他们告诉我该错误已针对 VS 2015 修复,尽管我正在等待验证并在我的博客上写一篇文章来记录它。

编辑:查看我为 VS 2015 创建的完整示例 "PackageCommandsCreatedByCode":https://github.com/visualstudioextensibility/VSX-Samples