我使用VS2010和外接,使用DTE.ExecuteCommand和样订做命令,Build.Cancel,Build.RebuildSolution等。
你可以用DTE.Commands.Item(“XXX”)的命令,并猜测它是否可用Command.IsAvailable。 命令的列表在工具,选项窗口,环境,键盘部分。
同样,你也知道DTE.ExecuteCommand接受两个字符串作为参数。
第一个是该命令(例如,Action.CreateNewShortcut)的名称和所述第二个是参数,所述命令需要。
问题是,一些命令需要可变数量的参数,我不知道订单等。
例如,我想Action.CreateNewShortcut需要至少两个参数:当快捷方式被执行(Build.RebuildSolution)和要被运行的操作的快捷本身(ALT + O)。
有超过在VS. 4K命令 但微软有一个关于它不是官方文件,我想。
这将是非常有用的与DTE.ExecuteCommand可用命令的完整列表的任何官方文件
有什么建议?
您可以使用即时窗口来做到这一点。 简单地键入“>”和开始输入命令。
下面是列表的Mads Kristensen的用于他VoiceExtension加载项: https://raw.github.com/ligershark/VoiceExtension/master/VoiceExtension/Resources/commands.txt
问题是有点老了,但我最近遇到了相同的。 我使用EnvDTE.DTE(该命令集合在这里 ),可以在电源外壳的几行被检索。 当你mentionned,名单很长,你可能要筛选的输出。
# 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()