2012-08-07 6 views

Antwort

3

Visual Studio enthält diese Listen ...\Microsoft Visual Studio 9.0\Common7\IDE\*.vsk

8

Sie es über die DTE-Schnittstellen zugreifen können. Holen Sie sich das EnvDTE.DTE Schnittstelle über GetService(typeof(SDTE)) (oder einen anderen geeigneten Mechanismus) und dann:

EnvDTE.DTE dte = ...; 
var commands = dte.Commands.Cast<EnvDTE.Command>(); 

foreach (var command in commands.OrderBy(c => c.Name)) 
{ 
    Console.WriteLine(command.Name); 
} 

Ich sollte dies erwähnen kann sehr langsam sein, so ist es am besten vermieden ist, wenn Sie können ...

+0

Es gibt nicht wirklich eine asynchrone Version. Die EnvDTE-API ist mit dem UI-Thread verbunden. Sie können dies in einem Hintergrundthread ausführen, aber Sie lösen das Marshalling transparent zum UI-Thread zurück, wodurch der Code noch langsamer als normal wird. Am Ende des Tages ist das Aufzählen aller Befehle wirklich eines dieser "Mach es nicht" -Dinge. Normalerweise, wenn jemand darum bittet, dränge ich zurück und fordere sie heraus, warum sie es tun müssen. –

0

Here ist ein handliche Liste von VS-Befehlen, die Mads Kristensen für seine VS VoiceExtension zusammengestellt hat.

Verwandte Themen