¿Qué hay de nuevo en Visual Studio 2022?

Visual Studio 2022 está ahora en versión preliminar, programado para lanzarse en noviembre de 2021 junto con .NET 6, que será compatible. Incluye muchas características y mejoras nuevas, como AI IntelliCode, que puede completar automáticamente bloques de código por usted.

Puede descargar la vista previa desde su sitio web. Si bien todavía es "experimental" y no está listo para producción, sigue siendo muy Visual Studio, por lo que, a menos que dependa de extensiones que aún no se han actualizado, no tenga miedo de intentarlo.

Cubriremos los cambios más importantes comenzando con la vista previa 3, pero si desea leer las notas del parche línea por línea, puede hacerlo desde los documentos de Microsoft. También hay una hoja de ruta que describe la dirección general.

Índice de contenidos
  1. Finalmente es de 64 bits
  2. AI IntelliCode es increíble
  3. Soporte .NET 6
  4. Recarga en caliente de .NET
  5. Prueba remota
  6. Mejoras generales

Finalmente es de 64 bits

Visual Studio siempre ha sido de 32 bits, lo que significa que estaba limitado a 4 GB de RAM en el proceso principal. Por lo general, no excede este presupuesto para proyectos normales, pero algunos usuarios pueden encontrarse con excepciones de poca memoria con soluciones particularmente grandes.

Con VS 2022, se ha corregido y ahora es una aplicación de 64 bits. Microsoft ha probado proyectos con 1600 proyectos y 300k archivos y funciona bien.

En teoría, 64 bits debería ejecutarse más rápido y parece ser un poco más rápido en los tiempos de inicio, pero Microsoft también ha estado trabajando en el rendimiento en general, por lo que es difícil decir cuánto lo afecta realmente. En cualquier caso, un buen cambio.

Por supuesto, aún puede desarrollar aplicaciones de 32 bits con VS 2022. Esto solo se aplica al editor.

AI IntelliCode es increíble

Visual Studio 2022 ofrece una actualización importante del motor de autocompletar IntelliCode. Es capaz de completar automáticamente líneas enteras y bloques de código y funciona muy bien.

Es un poco diferente al Copilot de GitHub, que hace un trabajo similar. Copilot generará fragmentos de código completos y funciona mejor para funciones pequeñas contenidas con una solución clara. Eso es genial, pero tiene sus problemas, principalmente el hecho de que el código que genera ni siquiera está garantizado para ser el que desea (y puede extraer el código palabra por palabra de repositorios aleatorios de GitHub, que es otro problema en conjunto).

IntelliCode adopta un enfoque mucho más estrecho y simplemente completa una sola línea, teniendo en cuenta algunos de los siguientes factores:

  • Nombres y posiciones de variables
  • Bibliotecas que está utilizando
  • Funciones en el código circundante
  • La lista desplegable de IntelliSense, que en realidad puede seleccionar para darle a IntelliCode más sugerencias

Después de usarlo durante dos semanas, realmente es algo que debes probar por ti mismo. Es increíblemente inteligente y muchas veces mientras lo usaba me encontraba pensando "¡vaya, iba a escribir esto!"

Por ejemplo, escribir una función que acepta un número del 1 al 12:

Para comprender y ofrecer este resultado, IntelliCode está haciendo más que completar automáticamente la sintaxis; Entiende que espero una excepción, bastante obvia ya que estoy escribiendo "throw", y puede entender que esta excepción se lanza solo si falla una comparación de enteros. Él sabe Width es un argumento que se verifica antes de que se ejecute el código y que estoy lanzando una excepción porque hay algo mal con el argumento.

Sabiendo todo esto, toma una suposición extremadamente precisa sobre mis intenciones y decide que un ArgumentOutOfRangeException debe ser lo que estoy tratando de escribir, antes de que pueda empezar a escribir "nuevo".

Y, si se desplaza hacia abajo en la página, puede completar los resultados para diferentes opciones. Todavía es un poco inconsistente (decidió codificar "Ancho" y luego lo usó nameof) pero en general funciona bien.

IntelliCode siempre se está ejecutando y todo lo que tiene que hacer es presionar tab-tab para aceptarlo; de lo contrario, puede seguir escribiendo. Actualmente, solo funciona para C #, pero "pronto vendrán más idiomas".

Soporte .NET 6

.NET 6 es la última versión, también en versión preliminar. VS 2022 tendrá soporte integrado para él y todas sus características y, por defecto, será .NET 6 para nuevos proyectos.

En particular, VS 2022 tendrá soporte completo para .NET MAUI, o UI de aplicación multiplataforma, el nuevo estándar de Microsoft para el desarrollo de aplicaciones nativas multiplataforma.

Recarga en caliente de .NET

Una de las cosas más molestas de la programación es mirar la pantalla, esperar a que su aplicación se compile y se inicie, y se actualice con los últimos cambios. La recarga en caliente es una característica de muchos otros lenguajes como JavaScript y ha sido utilizada por frameworks web como React para realizar cambios rápidos. Sin embargo, hasta ahora no existía una solución estandarizada para .NET.

No es completamente universal y requiere una configuración específica del proyecto, pero VS 2022 incluye recarga en caliente para "WPF, Windows Forms, vistas previas de .NET MAUI, aplicaciones ASP.NET Core de código subyacente, aplicaciones de consola, WinUI 3 y muchas más". Esto excluye las bibliotecas de clases utilizadas por otra aplicación.

Es posible que algunos tipos de cambios no se apliquen correctamente, lo que requerirá que realice un reinicio adecuado. Puede ver la lista completa aquí, pero la esencia es:

  • Sin modificación de firmas de métodos
  • Sin declaraciones de uso agregadas
  • Sin modificación de las interfaces
  • No cambie el nombre de miembros de ningún tipo

Básicamente, puede cambiar el código en cualquier método, pero una vez que comience a tocar el esquema del proyecto, es posible que deba reiniciar.

Está bien integrado en la experiencia de depuración de VS, con un nuevo icono para "Aplicar cambios de código" que activará la recarga en caliente. También puedes usar el nuevo dotnet watch comando para recargar automáticamente en caliente en caso de cambios de archivo.

Las aplicaciones web de Razor / Blazor actualmente pueden usar la recarga en caliente, pero el ensamblaje web de Blazor todavía tiene algunas cosas que arreglar y actualmente aún no funciona. Sin embargo, está en desarrollo y puede llegar a la versión final en noviembre.

Prueba remota

VS 2022 incluye una vista previa experimental que le permite realizar pruebas en otros entornos, incluidos contenedores de Linux, WSL e incluso a través de SSH.

Tiene alguna configuración y, por supuesto, deberá asegurarse de que su entorno esté configurado para ejecutar su código correctamente, pero una vez hecho esto, podrá seleccionar diferentes entornos al ejecutar las pruebas.

Mejoras generales

Hay muchos pequeños cambios para desglosar de las notas del parche, por lo que enumeraremos algunos de los más interesantes aquí.

La depuración vio algunas mejoras en la calidad de vida, con nuevas opciones de contexto para puntos de interrupción más avanzados, así como "Forzar ejecución al cursor", que ignorará todos los puntos de interrupción existentes y se detendrá en la línea de código que seleccionó. Esto puede ser muy útil si desea probar algo sin eliminar todos los puntos de interrupción o omitir todo manualmente nuevamente.

Menú contextual de punto de interrupción

Forzar ejecución al cursor

Las integraciones de VS Git ahora admiten múltiples repositorios por solución, y comprometerse con muchos repositorios ahora es más fácil.

Todos los iconos se han rediseñado para mantener la coherencia.

Ejemplos de nuevos iconos con fondos claros y oscuros

Los comentarios XML ahora admiten comentarios de varias líneas con espacios en blanco preservados y bloques CDATA.

Información rápida para XML conserva los espacios en blanco

"Buscar todas las referencias" ya no produce una salida de basura repetida cuando se encuentra en un proyecto de múltiples objetivos.

Buscar todos los grupos destinatarios Proyectos de orientación múltiple

Razor Pages / Blazor ha obtenido numerosas integraciones de edición y ahora funcionará mejor con IntelliSense, resaltado de sintaxis y mejor formato en bloques @code. Ahora también puede usar "Ver código" en los archivos de Razor, que ha sido una limitación molesta durante un tiempo.

Soporte para la clasificación TagHelpers

Y hay algunas otras plantillas de proyectos, incluidas las aplicaciones Angular y React alojadas en ASP.NET Core, que se pueden crear automáticamente con integraciones de API.

Para obtener la lista completa de cambios, puede consultar las Notas del parche VS 2022.

Descubre más contenido

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir Change privacy settings