2012-08-07 85 views

Respuesta

3

Visual Studio contiene esta lista ...\Microsoft Visual Studio 9.0\Common7\IDE\*.vsk

8

puede acceder a él a través de las interfaces DTE. Obtener la interfaz a través de EnvDTE.DTE GetService(typeof(SDTE)) (u otro mecanismo apropiado) y luego:

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

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

Debo mencionar que esto puede ser bastante lento, por lo que es mejor evitar si es posible ...

+0

No hay realmente una versión asincrónica. La API EnvDTE está affinitizada al hilo de la interfaz de usuario. Podrías ejecutar eso en un hilo de fondo, pero dispararás de vuelta a la cadena de interfaz de usuario de forma transparente, lo que haría que el código sea aún más lento de lo normal. Al final del día, enumerar todos los comandos es realmente una de esas cosas de "no lo hagas". Normalmente, si alguien pregunta por esto, los rechazo y los desafío por qué tienen que hacerlo. –

0

Here es una lista práctica de comandos VS compilados por Mads Kristensen para su VS VoiceExtension.

Cuestiones relacionadas