2010-05-25 6 views
8

Sé que al usar las opciones de Herramientas externas puedo ejecutar un script por lotes o un indicador de cmd. Pero esto es lo que tengo que hacerventana interactiva para ejecutar dos comandos en el estudio visual

Quiero poder llamar a dos prompt dentro de visual studio, que debe ser interactivo. De esa forma no estaré fuera del estudio visual y podré ejecutar todos mis comandos dos en él. ¿Es posible? ¿O puedo extender la ventana de comandos y capturar los comandos que se escriben y procesarlos usando mi código personalizado?

Gracias

Respuesta

3

No es exactamente lo que está pidiendo, pero creo que se podría administrar para lograr su objetivo con StudioShell:

http://studioshell.codeplex.com/

que admitir que yo no lo usamos hasta ahora pero parece muy interesante.

+1

Lo he visto y parece que no es capaz de ejecutar comandos de DOS. Lo que hace es que expone la funcionalidad de automatización VS que normalmente requeriría una extensión, complemento o paquete. Entonces esto es útil para desarrolladores de extensiones VS. Como soy uno de ellos, creo que será una herramienta bastante útil para mí. –

+0

Creo que puede hacer un poco más que eso. Básicamente tienes integrado Power Shell y por lo tanto estás bastante abierto para lo que puedes hacer. Un video muestra el comando mercurial ... por lo tanto, no debería ser demasiado difícil hacer que los comandos de DOS que necesita estén disponibles para StudioShell. –

14

Existe el comando Tools.Shell que puede funcionar para usted. Utiliza el modificador/c para especificar que la salida del ejecutable se muestre en la ventana Comando. A continuación, llama a cmd.exe con el modificador/C que le indica que se cierre después de finalizar el comando. Por ejemplo, si escribe:

Tools.Shell /c cmd.exe /C dir C: 

Esto imprimirá la salida en la ventana Comando. Desafortunadamente, a diferencia de la salida, la entrada no funciona. Por lo tanto, si escribe:

Tools.Shell /c cmd.exe /C pause 

La solicitud no esperará su entrada (presionando una tecla).

Si eso está bien para usted, incluso puede definir un alias para la mayoría de esto. Por ejemplo, usted define aliassh para /c cmd.exe Tools.Shell/C:

alias sh Tools.Shell /c cmd.exe /C 

Entonces sólo tiene que utilizar la siguiente manera:

sh dir c: 
5

Si instala NuGet, entonces agrega Package Manager Console a Visual Studio, que básicamente es un símbolo del sistema de Powershell. Debería haber formas de hacer la mayoría de las cosas de DOS a través de Powershell y también agrega más funcionalidades.

+1

También puede consultar el código de NuGet y ver cómo implementarlo usted mismo aquí: http://nuget.codeplex.com/SourceControl/list/changesets – ridecar2

Cuestiones relacionadas