2012-08-07 48 views

回答

3

的Visual Studio包含此列出...\Microsoft Visual Studio 9.0\Common7\IDE\*.vsk

8

您可以通過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); 
} 

我應該提到這一點,可以說是相當緩慢的,所以它是最好的,如果你能避免...

+0

沒有真正的異步版本。 EnvDTE API被關聯到UI線程。你可以在後臺線程上運行它,但是你會透明地觸發封送到UI線程,這會使代碼比通常情況下更慢。在這一天結束的時候,列舉所有命令實際上就是那些「不這樣做」的事情之一。通常情況下,如果有人問這個問題,我會推回去挑戰他們爲什麼需要這樣做。 – 2014-12-11 19:09:42

0

Here是方便的Mads Kristensen爲他的VS VoiceExtension編譯的VS命令列表。

相關問題