다음을 통해 공유


Interactive Window en el siguiente update de Visual Studio 2015

El update 1 de Visual Studio 2015 se encuentra en CTP (Consumer Technical Preview) y está disponible desde el 8 de octubre de este año.

New news that's new... Today we released Visual Studio 2015 Update 1 CTP - https://t.co/7bKKNMwd6F Read all about it. pic.twitter.com/Xr4mAChShB

— Visual Studio (@VisualStudio) octubre 8, 2015

Después de ver el tweet fui a la página y revisé las nuevas características que pronto veremos en Visual Studio 2015.

Una de las que más llamó mi atención fue Interactive Window, esta pequeña ventana nos va a permitir probar pequeñas piezas de código de una manera rápida y sencilla sin la necesidad directa de compilar y ejecutar nuestro proyecto en curso o generar otro (algo que al menos una vez todos hemos hecho).

¿Qué es Interactive Window?

Interactive Window es una REPL que soporta características como el IntelliSense dentro de Visual Studio 2015.

Según wikipedia un REPL es:

Un read–eval–print loop (REPL), es un simple, entorno interactivo de programación computacional que toma entradas de usuario individuales (es decir expresiones individuales), las evalúa y retorna el resultado al usuario; un programa escrito en un entorno REPL es ejecutado en trozos.

Activar esta ventana es muy sencillo, solo tienes que instalar el update 1 de Visual Studio 2015 y seleccionar la opción View > Other Windows > C# Interactive.

Contexto asíncrono y público.

Esta herramienta soporta por el momento la versión 6.0 de C#,

el contexto es por default asíncrono y tiene un nivel de acceso public para variables y métodos, aun cuando el contexto es asíncrono puede trabajar con código no asíncrono, como en el siguiente ejemplo

Pantalla para Enumerables

Una de las cosas que más me ha gustado es el soporte que tiene para LINQ to objects y lo sencillo que es entender el resultado.

Características interactivas

Esta herramienta es muy fácil de utilizar con solo presionar enter podremos evaluar nuestros snippets de código, también contamos con un histórico de navegación que podemos utilizar utilizando las combinaciones de teclas alt + flecha arriba y alt + flecha abajo.

Podemos navegar en el editor de una forma simple e intuitiva y las acciones de copiar y pegar mantienen el formato y puedes utilizar los clásicos shortcuts ctrl + c y ctrl + v.

Esta ventana también tiene soporte de múltiples líneas y además tienes disponible la capacidad de selección de los snippets.

Características de edición

Como he mencionado anteriormente tenemos disponible IntelliSense además de buscar y reemplazar.

Comandos

Interactive Window tiene soporte para algunos comandos que pueden resultarte útiles y se listan a continuación.

  • #r nos da la capacidad de agregar referencias a ensamblados por ejemplo 'turuta\ensamblado.dll'

  • #load con este comando puedes cargar archivos scripts de c# (.csx)
  • #clear o #cls para limpiar la pantalla
  • #help para ayuda, por si solo muestra la lista de comandos, pero si especificas el comando te muestra la documentación disponible.
  • #reset para reiniciar Interactive Window a su estado inicial.

Interactive Window también está disponible en línea de comandos

Con algunas limitaciones evidentes, como la falta de IntelliSense y otras inherentes a la consola podemos tener acceso a C# Interactive.

Para ello solo tienes que iniciar la consola de Visual Studio 2015 y teclear csi.

Conclusión

En lo personal me ha gustado esta nueva herramienta ya que me permitirá probar código y verificar el resultado de algunas operaciones sin necesidad de ejecutar ni tener que crear proyectos solo para probar alguna funcionalidad.

Para mantenerse al tanto de la documentación del proyecto de Interactive Window pueden hacerlo aquí y si quieren probar el update 1 de Visual Studio 2015 pueden hacerlo aquí, solo tengan muy en cuenta que es una versión CTP por lo tanto aun no es una versión final (advertidos están :D).

Por último, dejo algunas preguntas para ti.

¿Qué te parece esta nueva herramienta?
¿En que escenarios la utilizarías?

¡Saludos!