【问题标题】:How to get list of Visual Studio commands?如何获取 Visual Studio 命令列表?
【发布时间】:2012-08-07 13:14:41
【问题描述】:

我们正在开发一个 VS 扩展,它需要一系列 Visual Studio 命令,如此屏幕截图中的命令:

例子:

  • Action.Add
  • Action.Add.NETFrameworkLaunchCondition
  • Action.AddAction
  • ...等

我们在哪里可以找到或如何访问此列表?

【问题讨论】:

    标签: c# visual-studio-2010 vsix visual-studio-extensions


    【解决方案1】:

    您可以通过 DTE 界面访问它。通过GetService(typeof(SDTE))(或其他适当的机制)获取EnvDTE.DTE接口,然后:

    EnvDTE.DTE dte = ...;
    var commands = dte.Commands.Cast<EnvDTE.Command>();
    
    foreach (var command in commands.OrderBy(c => c.Name))
    {
        Console.WriteLine(command.Name);
    }
    

    我应该提到这可能会很慢,所以如果可以的话最好避免......

    【讨论】:

    • 没有真正的异步版本。 EnvDTE API 与 UI 线程关联。您可以在后台线程上运行它,但您会透明地触发封送回 UI 线程,这会使代码比正常情况下更慢。归根结底,枚举所有命令实际上是那些“不要这样做”的事情之一。通常,如果有人提出要求,我会反击并挑战他们为什么需要这样做。
    【解决方案2】:

    visual studio 包含此列表...\Microsoft Visual Studio 9.0\Common7\IDE\*.vsk

    【讨论】:

      【解决方案3】:

      Here 是一个方便的 VS 命令列表,由 Mads Kristensen 为他的 VS VoiceExtension 编译。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-18
        • 2022-01-09
        • 2014-01-20
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        相关资源
        最近更新 更多