visual tag studio extensions español configurar code closing brackethighlighter autocompletar visual-studio debugging immediate-window

tag - ¿Cómo se usa la ventana Inmediato en Visual Studio?



visual studio code extensions (4)

Use la ventana Inmediato para ejecutar comandos

La ventana Inmediato también se puede usar para ejecutar comandos. Simplemente escriba a > seguido del comando.

Por ejemplo, >shell cmd iniciará un shell de comandos (esto puede ser útil para verificar qué variables de entorno se pasaron a Visual Studio, por ejemplo). >cls borrará la pantalla.

Aquí hay una lista de comandos que se usan tan comúnmente que tienen sus propios alias: https://msdn.microsoft.com/en-us/library/c3a0kd3x.aspx

La ventana Inmediato es una herramienta inmensamente útil para aplicaciones de depuración. Se puede usar para ejecutar sentencias de código que son válidas en el contexto de un punto de interrupción e inspeccionar valores. También lo uso para escribir fragmentos de código para aprender las características del lenguaje.

¿Cómo se usa la ventana Inmediato?


La ventana Inmediato se usa para depurar y evaluar expresiones, ejecutar instrucciones, imprimir valores de variables, etc. Le permite ingresar expresiones para ser evaluadas o ejecutadas por el lenguaje de desarrollo durante la depuración.

Para mostrar la ventana Inmediato, elija Depurar> Windows> Inmediato o presione Ctrl-Alt-I

Aquí hay un ejemplo con la Ventana Inmediata:

int Sum(int x, int y) { return (x + y);} void main(){ int a, b, c; a = 5; b = 7; c = Sum(a, b); char temp = getchar();}

agregar punto de interrupción

llamar a los comandos

https://msdn.microsoft.com/en-us/library/f177hahy.aspx


Lo uso menos ahora que en el pasado. Algunas veces es útil cambiar el valor de una variable o inspeccionar objetos. Eso se puede hacer a través de la ventana del reloj también, así que tiendo a usar eso más a menudo.


Una buena característica de la ventana Inmediato en Visual Studio es su capacidad para evaluar el valor de retorno de un método, particularmente si el código del cliente lo llama, pero no es parte de una asignación de variable. En el modo de depuración, como se mencionó, puede interactuar con variables y ejecutar expresiones en la memoria, lo que juega un papel importante en la capacidad de hacer esto.

Por ejemplo, si tiene un método estático que devuelve la suma de dos números, como:

private static int GetSum(int a, int b) { return a + b; }

Luego, en la ventana Inmediato, puede escribir lo siguiente:

? GetSum(2, 4) 6

Como puede ver, esto funciona muy bien para métodos estáticos. Sin embargo, si el método no es estático, entonces necesita interactuar con una referencia al objeto al que pertenece el método.

Por ejemplo, digamos que así es como se ve tu clase:

private class Foo { public string GetMessage() { return "hello"; } }

Si el objeto ya existe en la memoria y está dentro del alcance, puede llamarlo en la ventana Inmediato siempre que se haya instanciado antes de su punto de interrupción actual (o, al menos, antes de que el código esté en pausa en modo de depuración):

? foo.GetMessage(); // object ‘foo’ already exists "hello"

Además, si desea interactuar y probar el método directamente sin depender de una instancia existente en la memoria, puede crear una instancia de su propia instancia en la ventana Inmediato:

? Foo foo = new Foo(); // new instance of ‘Foo’ {temp.Program.Foo} ? foo.GetMessage() "hello"

Puede dar un paso más y asignar temporalmente los resultados del método a las variables si desea hacer más evaluaciones, cálculos, etc.

? string msg = foo.GetMessage(); "hello" ? msg + " there!" "hello there!"

Además, si ni siquiera quiere declarar un nombre de variable para un nuevo objeto y solo quiere ejecutar uno de sus métodos / funciones, haga lo siguiente:

? new Foo().GetMessage() "hello"

Una forma muy común de ver el valor de un método es seleccionar el nombre del método de una clase y hacer una ''Agregar vigilancia'' para que pueda ver su valor actual en la ventana Inspección. Sin embargo, una vez más, el objeto necesita ser instanciado y en el alcance para que se muestre un valor válido. Esto es mucho menos poderoso y más restrictivo que usar la Ventana Inmediata.

Junto con los métodos de inspección, puede hacer ecuaciones matemáticas simples:

? 5 * 6 30

o compare valores:

? 5==6 false ? 6==6 true

El signo de interrogación (''?'') No es necesario si se encuentra directamente en la ventana Inmediato, pero se incluye aquí para mayor claridad (para distinguir entre las expresiones escritas en función de los resultados). Sin embargo, si se encuentra en la ventana de comandos y necesita para hacer algunas cosas rápidas en la ventana Inmediato y luego preceder a sus declaraciones con ''?'' y listo.

Intellisense funciona en la ventana Inmediato , pero a veces puede ser un poco inconsistente. En mi experiencia, parece que solo está disponible en el modo de depuración, pero no en el modo de diseño ni de depuración.

Desafortunadamente, otro inconveniente de la ventana Inmediato es que no admite bucles.