我使用VS2010和Addin,使用DTE.ExecuteCommand和Build,Build.Cancel,Build.RebuildSolution等命令。
您可以使用DTE.Commands.Item(“xxx”)获取命令,并猜测它是否可用于Command.IsAvailable。命令列表位于工具,选项窗口,环境,键盘部分。
如你所知,DTE.ExecuteCommand需要两个字符串作为参数。
第一个是命令的名称(例如,Action.CreateNewShortcut),第二个是命令所采用的参数。
问题是某些命令需要可变数量的参数,而我不知道顺序等。
例如,我猜Action.CreateNewShortcut至少需要两个参数:执行快捷方式时要运行的操作(Build.RebuildSolution)和快捷方式本身(Alt + O)。
VS中有超过4k的命令。但我认为微软没有关于它的官方文档。
任何包含DTE.ExecuteCommand可用命令的完整列表的官方文档都非常有用
有什么建议吗?
答案 0 :(得分:10)
可以按照以下步骤检查命令列表:
答案 1 :(得分:6)
您可以使用即时窗口来执行此操作。只需输入'>'并开始输入命令。
答案 2 :(得分:4)
以下是Mads Kristensen用于其VoiceExtension加载项的列表: https://raw.github.com/ligershark/VoiceExtension/master/VoiceExtension/Resources/commands.txt
答案 3 :(得分:4)
问题有点旧,但我最近碰到了同样的问题。我使用了EnvDTE.DTE(here)中的Commands集合,可以在几行power shell中检索。正如您所提到的,列表很长,您可能希望过滤输出。
# Get Visual Studio 2015 type
# -- find other version in registry HKEY_CLASSES_ROOT\VisualStudio.DTE.x.x
$type = [System.Type]::GetTypeFromProgID("VisualStudio.DTE.14.0")
# Create an instance of EnvDTE.DTE - actually launches a devenv.exe process
$dte = [System.Activator]::CreateInstance($type,$true)
# list of Commands is output simply when typing : Can be very long
$dte.Commands
# Will output the name of the command, its GUID and other attributes
# Close process when done
$dte.Quit()