Número especial de Connect(); de 2018

Volumen 33, número 13

Visual Studio: Novedades de Visual Studio 2019

Por Mads Kristensen; de 2018

Visual Studio 2019 presenta mejoras interesantes y nuevas características destinadas a optimizar la productividad de los desarrolladores y la colaboración en equipo. Tanto si usa Visual Studio por primera vez como si lo ha usado durante años, se podrá beneficiar de características que mejoran todos los aspectos del ciclo de vida de desarrollo: desde una creación de proyectos más sencilla y centrada o la clonación de flujos de trabajo de repositorios, hasta la mejora de la facilidad de mantenimiento y la calidad del código. Los flujos de trabajo de colaboración de código abierto y equipo también se han mejorado.

Uno de los objetivos del equipo de Visual Studio era hacer la actualización a Visual Studio 2019 lo más sencilla y fluida posible. Por lo tanto, verá que no hay ningún cambio importante en el formato de la solución y los archivos del proyecto al actualizar a la edición superior, y que el código existente se debería abrir sin problemas.

Hay más buenas noticias. Las API de extensibilidad de Visual Studio 2019 no han sufrido grandes cambios, lo que significa que cualquier extensión que use en Visual Studio 2017 se puede actualizar con un esfuerzo mínimo para que sea compatible con Visual Studio 2019. Muchas extensiones ya se han actualizado, lo que garantiza que estarán a su disposición en la versión preliminar. Las extensiones actualizadas incluyen Productivity Power Tools, Web Essentials, VsVim y muchas otras extensiones populares actualmente en Visual Studio Marketplace.

Hay otras dos áreas de especial interés para los clientes: confiabilidad y rendimiento. Hemos lanzado compilaciones de versiones preliminares de versiones nuevas de Visual Studio durante años y, recientemente, hemos lanzado actualizaciones cada trimestre. Estas versiones preliminares ofrecen una vista previa de las próximas novedades para que pueda empezar a trabajar con ellas y enviar sus comentarios al equipo de producto de Visual Studio. También le ayudan a empezar a pensar cómo pueden afectarle las funcionalidades nuevas y cómo pueden afectar a su organización. Por último, estas versiones preliminares nos proporcionan comentarios útiles acerca de problemas en distintos escenarios de usuario, así como conclusiones sobre cómo ajustar las características para ofrecer un producto de la máxima calidad.

Echemos un vistazo a lo que cabe esperar encontrar en la versión preliminar de Visual Studio 2019.

Mayor facilidad para lanzar el código

Lo primero que notará al abrir Visual Studio 2019 es la nueva ventana de inicio, que se muestra en la Figura 1. Muestra opciones para clonar o extraer del repositorio el código, abrir un proyecto o solución, abrir una carpeta local o crear un nuevo proyecto. Tanto si es nuevo con Visual Studio o con la programación como si lleva años programando y usando Visual Studio, estas funcionalidades le permiten llegar a su código de un modo más rápido y centrado que nunca.

La nueva ventana de inicio
Figura 1 La nueva ventana de inicio

Nos hemos centrado en mejorar el tiempo necesario para cargar soluciones y proyectos, independientemente de su tamaño. Las soluciones no solo se cargan más rápidamente, sino que también hacen una mayor parte del trabajo en segundo plano. De este modo, impiden largos retrasos en la UI y esperas durante la inicialización.

Conviene tener en cuenta que ahora es posible iniciar un proyecto mediante clonación o la extracción del repositorio del control de código fuente directamente desde la ventana de inicio. Poner esta característica en un primer plano, en el centro de la ventana de inicio, hace que sea muy fácil de usar.

Cuando se crea un proyecto nuevo, Visual Studio abre un cuadro de diálogo de creación de proyectos rediseñado. Hemos recibido muchos comentarios sobre el antiguo cuadro de diálogo de proyecto, por lo que hemos optimizado la experiencia para ofrecerle una búsqueda eficaz y funcionalidades de filtrado desde el principio. Esto facilita la detección de la plantilla adecuada para el nuevo proyecto. Se usa el mismo cuadro de diálogo en la ventana de inicio y dentro de Visual Studio.

En las versiones anteriores de Visual Studio, encontrar la plantilla adecuada para la aplicación era todo un reto, con cientos de plantillas incluidas en Visual Studio, además de las miles disponibles para su descarga de la comunidad. El nuevo cuadro de diálogo facilita esta tarea, ya que destaca las plantillas más populares y facilita la exploración y el filtrado rápido de plantillas por idioma, plataforma y tipo de proyecto.

Ahora, abra el cuadro de diálogo de creación del proyecto y estará centrado directamente en el cuadro de búsqueda, que filtra la lista de plantillas en tiempo real a medida que escribe. El cuadro de diálogo de creación del proyecto siempre ha tenido un cuadro de búsqueda, pero nunca había sido tan natural, rápido y cómodo como en Visual Studio 2019.

Habrá más actualizaciones en el cuadro de diálogo de creación de proyectos, como una lista de las plantillas usadas más recientemente y otras mejoras.

UI simplificada

Para aumentar la productividad, Visual Studio contiene varias actualizaciones para mejorar la UI y la experiencia y que, de este modo, pueda centrarse en lo que importa: su código. Al abrir Visual Studio, observará inmediatamente algunos cambios respecto a las versiones anteriores. Uno de los cambios más visibles es el tema azul actualizado con bordes suavizados alrededor de iconos, barras de herramientas y ventanas de herramientas. Esta es la primera actualización importante del tema azul desde su presentación en Visual Studio 2012 y supone una modernización de la interfaz. Hay actualizaciones similares previstas para los temas claro y oscuro para una futura actualización.

Otro cambio visible es el menú de nivel superior, que se ha desplazado hacia arriba dentro de la barra de título. De este modo, se recupera espacio vertical para que quepa más código en el editor. Este cambio optimiza el espacio disponible sin cambiar la navegación del IDE.

En futuras actualizaciones, cabe esperar otros cambios sutiles diseñados para simplificar la UI y dar protagonismo a los proyectos y los documentos de código.

Una búsqueda mejor

La característica de búsqueda, conocida anteriormente como Inicio rápido, se ha reescrito completamente para hacerla más rápida y precisa. Incluso ofrece una experiencia de búsqueda más permisiva que también funciona con errores de ortografía.

Tanto si busca comandos, configuraciones, componentes instalables u otras cosas útiles, la nueva característica de búsqueda hace que sea más fácil que nunca encontrar lo que busca en el IDE. Los métodos abreviados de teclado se muestran junto a los resultados de búsqueda de los comandos. De este modo, resulta más fácil memorizarlos para usarlos en el futuro, como se muestra en la Figura 2.

La nueva característica de búsqueda
Figura 2 La nueva característica de búsqueda

La nueva búsqueda ayuda a acelerar el proceso, ya que muestra los resultados dinámicamente a medida que escribe la consulta. También se adapta a los errores ortográficos y al lenguaje natural mediante un algoritmo de búsqueda aproximada. Por último, los resultados que se muestran se actualizan para proporcionar información más pertinente, como accesos directos asociados para los desarrolladores que trabajan con el teclado.

Inicialmente, puede buscar en los menús, comandos, opciones y componentes instalables. El equipo de Visual Studio continuará ampliando la precisión de la búsqueda e incorporando otros proveedores de búsqueda para lograr el objetivo de ofrecer una experiencia de búsqueda centralizada. También observará que la búsqueda se ha desplazado hacia arriba en la barra de título, lo que le otorga una posición más visible y fácil de localizar, y la mantiene apartada cuando no se usa.

IntelliCode asistido por inteligencia artificial

IntelliCode es un conjunto de funcionalidades asistidas por inteligencia artificial que mejoran la productividad del desarrollador, con características como IntelliSense contextual, formato de código e inferencia de regla de estilo. También hay otras mejoras en curso, como revisiones centradas para las solicitudes de incorporación de cambios en futuras actualizaciones. IntelliCode es una extensión opcional de Visual Studio 2017 y 2019, y ha recibido algunas actualizaciones importantes que la hacen aún mejor. Puede descargar la extensión IntelliCode actualizada en aka.ms/vsintellicode. Para obtener más información sobre IntelliCode y sus mejoras, consulte la entrada de blog de The Visual Studio Blog disponible en aka.ms/vsicblog.

Hasta ahora, las recomendaciones de IntelliCode se basaban en el aprendizaje de patrones de miles de repositorios de código abierto de GitHub. Pero, ¿qué ocurre si usa un código que no está en ese conjunto de repositorios? Puede que use muchas utilidades internas y bibliotecas de clase base, o bibliotecas específicas de dominio que no se suelen usar en el código fuente abierto y que también quiera ver recomendaciones de IntelliCode para ellas. Si usa C#, puede hacer que IntelliCode aprenda patrones de su código para que pueda hacer recomendaciones para cosas que no se encuentran en el dominio del código abierto.

Cuando se abre Visual Studio después de instalar la extensión IntelliCode actualizada, aparece un mensaje que le informa acerca del entrenamiento basado en su código y le dirige a la nueva página de IntelliCode para empezar. También puede encontrar la nueva página en Vista | Otras ventanas | IntelliCode. Una finalizado el entrenamiento, le informará acerca de las clases principales para las que encontró uso y podrá abrir un archivo de C# y empezar a escribir para probar las nuevas recomendaciones. Los modelos entrenados se protegen para que solo usted y las personas que hayan recibido el vínculo para compartir el modelo puedan acceder a ellos. El modelo y lo que aprende sobre su código son privados para usted.

Muchos desarrolladores han solicitado las recomendaciones de IntelliCode para sus lenguajes favoritos. Con esta actualización, Microsoft se complace en agregar cuatro lenguajes más que pueden recibir recomendaciones de IntelliSense asistidas por inteligencia artificial. C++ y XAML se agregaron a la extensión para Visual Studio, mientras que TypeScript/JavaScript y Java se agregaron a Visual Studio Code.

CodeLens para todos

CodeLens ha sido una característica que solo estaba disponible en Visual Studio Enterprise, pero esto cambiará en una próxima versión preliminar de Visual Studio 2019, donde también estará disponible para la edición Community (probablemente, en 2019). CodeLens muestra el número de referencias que tiene un tipo o método, información sobre las pruebas unitarias que cubren el método y datos directamente de Application Insights.

Además, Microsoft ha hecho que CodeLens sea totalmente extensible, de modo que las extensiones de terceros pueden empezar a agregarle sus propias experiencias. CodeLens permite buscar fácilmente la información clave sobre los tipos y, al mismo tiempo, le mantiene en el código fuente. Los modos para el historial del control de código fuente e IntelliTrace siguen siendo una característica exclusiva de Enterprise.

Limpieza de código

A veces, puede ser fácil pasar por alto un error, advertencia o sugerencia del código porque se ha desplazado fuera de la vista o la ventana Lista de errores no está visible. A menudo, estos problemas no se detectan hasta que se vuelve a compilar el proyecto. Además, las advertencias y sugerencias basadas en reglas de estilo de código de los archivos .editorconfig o los analizadores de código pueden pasar desapercibidas, y es posible que no se detecten hasta que llegue la hora de una revisión del código antes de confirmar los cambios de código en el control de código fuente.

Este tipo de situaciones se pueden evitar si siempre hay un indicador visible que muestra si el archivo de código contiene errores, advertencias y sugerencias. Sería incluso mejor si las revisiones de código disponibles proporcionadas para corregir las advertencias y sugerencias pudieran aplicarse a todo el archivo de código, o incluso el proyecto, a la vez.

Por eso Visual Studio 2019 ha agregado un icono indicador de estado del documento en la parte inferior derecha del editor (es probable que se reubique en una actualización futura). El icono es rojo, amarillo o verde, e indica el nivel de estado del archivo de código o del documento. LaFigura 3 muestra su aspecto.

Indicador de estado del documento
Figura 3 Indicador de estado del documento

Al hacer clic con el botón derecho del mouse en el icono indicador, se muestran accesos directos para resolver cualquier problema con el documento. También se ejecuta un proceso de limpieza de todo el documento. La limpieza formateará el código y aplicará las correcciones de código que sugieran la configuración actual, los archivos .editorconfig o los analizadores de Roslyn.

Se trata de una mejora enorme de la productividad diseñada para ayudarle a escribir un código más fácil de mantener en menos tiempo y resolver antes los problemas, antes de que se inicie la revisión del código. Es importante tener en cuenta que se está trabajando en la interfaz de usuario de esta característica para actualizaciones futuras, pero el equipo de Visual Studio decidió incluir esta primera interfaz de usuario en la primera versión preliminar a fin de maximizar la productividad y, con suerte, recibir sus comentarios a fin de mejorar aún más esta funcionalidad.

Actualizaciones del depurador

Visual Studio 2019 pretende mejorar la productividad en las tareas diarias y reducir la fricción de todos los días. Una de las nuevas características que le ayuda a reducir esa fricción es la capacidad de buscar en distintas ventanas Inspección (locales, automáticas y de inspección durante la depuración). Probablemente ya lo ha experimentado: buscar una cadena en la ventana Inspección entre un mar de valores. Ahora, Visual Studio puede hacer esa búsqueda por usted.

En la Figura 4 puede ver una búsqueda de "pork", que busca en los nombres de inspección, los valores y las columnas de tipo. Al realizar una búsqueda, el software resalta cualquier coincidencia de texto visible y busca, en función de la profundidad de la búsqueda, en la ventana. Puede navegar a través de todas las coincidencias mediante el comando Buscar siguiente (F3). Uno de los retos de buscar una inspección es que los datos representados pueden ser recursivos o, simplemente, puede tener una cadena principal muy profunda. Para solucionar esta limitación, de forma predeterminada, solo buscamos en tres niveles de profundidad. Así pues, si no encuentra algo, puede usar el botón Profundizar la búsqueda para buscar en los dos niveles siguientes. También puede cambiar la profundidad de búsqueda predeterminada desde Herramientas | Opciones.

Buscar en una ventana Inspección
Figura 4 Buscar en una ventana Inspección

Por lo tanto, por primera vez, ahora puede buscar fácilmente en matrices de cualquier tipo para encontrar el elemento que está buscando. Esto ha sido, tradicionalmente, una dificultad que requería revisar manualmente todos los elementos de la matriz para localizar el que necesitaba. Ahora es tan sencillo como escribir la cadena de búsqueda.

En esta versión, hemos hecho mucho para mejorar el rendimiento. La ventana Inspección y las otras ventanas de herramientas de depuración como Variables locales y Pila de llamadas han experimentado un rediseño que les permite cargarse de forma asincrónica. Ahora, muchos de los procesos que se ejecutan en la interfaz de usuario de Visual Studio se ejecutan en un subproceso en segundo plano sin bloqueo. El resultado es una clara mejora en el rendimiento, y menos retrasos de la interfaz de usuario o bloqueos durante la depuración.

La depuración también ha mejorado. Además de mejorar la capacidad de respuesta del depurador, continuamos con el trabajo que iniciamos en Visual Studio 2017 para mover las cargas de trabajo y los componentes que más memoria requieren a procesos independientes. Con Visual Studio 2019, los componentes del depurador de C++ se ejecutarán en un proceso independiente, lo que significa que los grandes programas que requieren mucha memoria se pueden depurar sin que Visual Studio se quede sin memoria. Y ahora, la depuración por etapas proporciona un código detallado más rápido y sencillo, lo que la convierte en la mejor experiencia de depuración hasta la fecha.

Habrá muchas más mejoras del depurador en versiones futuras, tanto en términos de características nuevas como de mejoras de rendimiento.

Resumen

Además de las características que se mencionan en este artículo, hay nuevas funcionalidades de colaboración en equipo que prometen revolucionar la interacción con los desarrolladores. Puede obtener más información en el artículo de Julie Lerman Colaboración remota con Visual Studio Live Share de este número.

Las características que se describen en este artículo son solo una muestra de las opciones disponibles en la primera versión preliminar de Visual Studio 2019. Hay muchas más correcciones, modificaciones y funcionalidades adicionales, además de lo que ha leído, como las herramientas de la versión preliminar de .NET Core 3, el desarrollo móvil, C++ multiplataforma y las características de Azure.

La versión preliminar de Visual Studio 2019 aún no estaba completa cuando se redactó este artículo, pero, claramente, muestra la dirección que cabe esperar que siga la versión final del producto. Si todavía no lo ha hecho, es un buen momento para ir a visualstudio.com para descargar la versión preliminar y probar estas nuevas características por sí mismo.


Mads Kristensenes administrador de programas senior en el equipo de extensibilidad de Visual Studio. Le encanta la creación de extensiones y, con los años, ha escrito algunas de las extensiones más populares, con millones de descargas.

Gracias a los siguientes expertos técnicos de Microsoft por revisar este artículo: Gordon Hogenson, Rajen Kishna
Rajen Kishna es director de marketing de producto sénior para Visual Studio

Gordon Hogenson es desarrollador de contenido con el equipo de relaciones con desarrolladores de Microsoft. Trabaja principalmente con contenido de Visual Studio y Azure en docs.microsoft.com.


Comente este artículo en el foro de MSDN Magazine