Logotipo de Visual Studio Notas de la versión de Visual Studio 2022

Nos complace anunciar la disponibilidad de Visual Studio 2022 v17.12. Esta actualización se centra en proporcionar fantásticas experiencias de desarrollador para trabajar con proyectos de .NET 9 y nuevas características de productividad con IA, junto con mejoras continuas.

Características

Lista de características de la versión 17.12 que se publicó el 12 de noviembre de 2024.

Productividad

Copiar de la lista de errores 📣

Copiar un error de la lista de errores ahora copia solo la descripción en lugar de toda la fila en el Portapapeles.

Verá un error en la lista de errores que no sabe cómo corregir. Por lo tanto, selecciónelo y pulse Ctrl+C para copiar la descripción de una búsqueda web. Después de pegarlo en el motor de búsqueda, se da cuenta de que ha copiado todos los encabezados de columna y los valores de fila en lugar de simplemente la descripción. Ahora debe eliminar todo excepto la descripción del error antes de poder realizar la búsqueda web. ¡Esto es complicado, pero ahora tenemos una solución!

Corrección de copia de lista de errores

Al copiar un error de la lista de errores mediante Ctrl+C, solo se copia la descripción en el Portapapeles. Esto facilita la búsqueda del error en línea o compartirlo con otros usuarios.

Para copiar toda la fila, haga clic con el botón derecho en el error y seleccione Copiar fila en el menú contextual o pulse Ctrl+Mayús+C.

Si lo que quería hacer con la descripción del error era realizar una búsqueda web, simplemente pulse Ctrl+F1 para buscar información sobre el error en línea.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Ir a la línea en cualquier parte de Code Search 📣

En Code Search, ahora puede navegar a una línea específica del documento actual o a otro documento especificado.

A veces sabe que hay un problema en una determinada línea del código y quiere llegar a él rápidamente. Tal vez le hayan informado de que se ha producido un error en la línea 43 de algún archivo o bien quiere llegar a la parte inferior de un archivo específico.

Code Search ahora admite la navegación rápida a una línea específica del código.

Abra Code Search y vaya a una línea del documento actual mediante dos puntos + número de línea. Por ejemplo, :39 navegará a la línea 39 del archivo activo.

Ir a la línea del documento actual

También puede ir a una línea de un documento diferente mediante el nombre de archivo + dos puntos + número de línea. Por ejemplo, Order:43 navegará a la línea 43 en Order.cs. Si no especifica el nombre de archivo exacto, la búsqueda intentará encontrar la mejor coincidencia.

Ir a la línea en un documento diferente

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Acoplar la ventana de Code Search 📣

Ahora puede colocar libremente la ventana de Code Search con funcionalidades como acoplamiento y ocultación automática.

Si necesita que Code o Feature Search no le estorben, ahora tiene más control sobre el comportamiento de la ventana de búsqueda.

Ahora puede acoplar la ventana de búsqueda y realizar acciones de ventana de herramientas con ella, como Explorador de soluciones y otras.

Búsqueda acoplada a la parte inferior

Después de abrir Code Search o Feature Search, haga clic en el icono de cuadro situado en la parte superior derecha para convertirlo en una ventana de herramientas. Puede elegir por acoplarlo en otro lugar, abrirlo, ocultarlo automáticamente, etc. Puede revertir a la ventana emergente descartable haciendo clic en el icono de la parte superior derecha.

En la parte superior derecha de la ventana, el segundo icono es el icono de la ventana de herramientas

También hemos simplificado y limpiado la experiencia de vista previa en la búsqueda. Ahora hay un botón, indicado con un icono de ojo, para activar y desactivar la vista previa.

En la parte superior derecha de la ventana, el primer icono es el icono del panel de vista previa

La posición del panel de vista previa también se ajustará en función de las dimensiones de la ventana de búsqueda.

Búsqueda acoplada a la derecha

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Personalizar el indicador de texto contraído 📣

Establezca colores personalizados para el indicador de texto contraído en el editor de Visual Studio.

Ahora puede personalizar aún más la experiencia del editor con nuevas opciones para personalizar el indicador de texto contraído:

Indicadores de texto expandidos y contraídos personalizados en el Editor de Visual Studio

Para probarlo y establecer colores de primer plano y de fondo personalizados para cada uno, vaya a Herramientas > Opciones > Entorno > Fuentes y colores.

Entradas de indicador de texto contraídos en la página Fuentes y colores

Allí encontrará dos nuevos elementos para la personalización:

  • Indicador de texto contraído (contraído)
  • Indicador de texto contraído (expandido)

Puede establecer los colores de los indicadores contraídos y expandidos de forma independiente entre sí mediante colores predefinidos o colores personalizados de su elección.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Actualizar los resultados de búsqueda 📣

Ahora puede actualizar los resultados a una búsqueda anterior para obtener coincidencias de búsqueda actualizadas.

Muchos usuarios nos han comentado que es frustrante tener que volver a abrir la ventana Buscar y repetir una búsqueda para obtener resultados actualizados. Tal vez acaba de refactorizar algún código y quiere confirmar que todo ha cambiado como se esperaba, o ha realizado algunos cambios recientes y necesita que su operación Buscar reciente refleje esas actualizaciones.

Después de completar Buscar en archivos, ahora tendrá la opción actualizar los resultados de la búsqueda en la ventana. Obtendrá los resultados actualizados sin tener que rehacer la búsqueda.

Botón Actualizar búsqueda situado a la derecha de Detener búsqueda

También hemos rediseñado la antigua opción de Repetir búsqueda para distinguirla de Actualizar. Ahora se representa como Modificar búsqueda con un icono de lápiz. Este botón seguirá abriendo Buscar en archivos con los mismos criterios de búsqueda que usó para esa ventana de resultados.

Botón Modificar búsqueda situado en el extremo derecho de la barra de herramientas

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Más espacio para la barra de desplazamiento horizontal 📣

Ahora puede controlar la visibilidad de los indicadores de nivel de archivo en CodeLens.

El área con la barra de desplazamiento horizontal puede estar bastante desordenada en Visual Studio. Estamos ayudando a que sea más fácil limpiarlo desactivando por defecto los indicadores de nivel de archivo en CodeLens.

Indicador CodeLens de nivel de archivo en el margen inferior del editor

Si desea activar la opción, puede encontrar la opción Mostrar indicador de nivel de archivo CodeLens en Herramientas > Opciones > Editor de texto > Avanzadas. Esta opción afecta a la visibilidad de los tipos de archivo que tienen el control CodeLens de nivel de archivo en el margen inferior del editor, como XAML, HTML y CSS, y no afecta a los archivos que contienen CodeLens insertados.

Opción para mostrar el indicador de nivel de archivo de CodeLens

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Limpieza de código sin bloqueo al guardar

Cuando la limpieza de código se ejecuta al guardar, ahora funciona sin bloqueos, para una experiencia de codificación más fluida.

Antes, cuando se ejecutaba una limpieza de código al guardar, no se podían realizar acciones en el IDE. Ahora lo hemos mejorado para que funcione sin bloqueos.

El proceso de limpieza se ejecutará en segundo plano y se podrá cancelar automáticamente si reanuda la escritura, lo que garantiza una experiencia de codificación más fluida y con mayor capacidad de respuesta.

Limpieza de código al guardar

GitHub Copilot

Formulación de más preguntas en GitHub

Busque en GitHub confirmaciones, problemas, solicitudes de incorporación de cambios, repositorios y temas, directamente desde Visual Studio.

Ahora puede usar el chat de GitHub Copilot para buscar confirmaciones, problemas, solicitudes de incorporación de cambios, repositorios y temas.

Puede hacer preguntas como:

  • @github ¿Cuáles son todas las solicitudes de incorporación abiertas asignadas a mí?
  • @github ¿Cuáles son los problemas más recientes asignados a mí?
  • @github ¿Cuándo fue la versión más reciente?
  • @github Mostrarme las solicitudes de incorporación de cambios combinadas recientes de @davidfowl

Nuevas aptitudes de GitHub

Esta funcionalidad está disponible para todos los usuarios de GitHub Copilot. Obtenga más información sobre las aptitudes de GitHub disponibles en la documentación de GitHub Copilot.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Instrucciones personalizadas para GitHub Copilot

Cree un archivo que agregue automáticamente información a todas las preguntas que haga en GitHub Copilot Chat.

Con GitHub Copilot, puede recibir respuestas de chat adaptadas al flujo de trabajo de su equipo, herramientas preferidas y detalles específicos del proyecto, simplemente proporcionando contexto. En lugar de agregar este detalle contextual a cada consulta de chat, puede crear un archivo que proporciona esta información automáticamente. Aunque este contexto adicional no aparecerá en el chat, está disponible para GitHub Copilot, lo que le permite generar respuestas más precisas y relevantes.

Instrucciones personalizadas de Copilot de GitHub

Cómo habilitar instrucciones personalizadas
  1. Habilite la característica a través de Opciones > de herramientas > de GitHub > Copilot> y active (versión preliminar) Habilite las instrucciones personalizadas para cargarse desde archivos .github/copilot-instructions.md y agregarlos a las solicitudes.
  2. Agregue copilot-instruction.md en la raíz de su respository dentro del archivo .github, cree el archivo si aún no existe.

Instrucciones personalizadas de Habilitación de Copilot en GitHub

Obtenga más información sobre cómo crear instrucciones personalizadas aquí.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Selección de modelos en Chat de Copilot en GitHub

GitHub Copilot ahora le permite elegir el modelo.

OpenAI o1-preview y o1-mini ahora están disponibles para todos los usuarios en GitHub Copilot Chat en Visual Studio.

Ahora puede probar estos modelos de primera mano mediante o1-preview, o1-mini o el modelo GPT-4o predeterminado para alimentar GitHub Copilot Chat. Con el cambio de modelo disponible, puede cambiar sin problemas de explicar las API o generar código básico para crear algoritmos complejos o errores de lógica de depuración.

Visite el registro de cambios de GitHub para obtener más información sobre esta característica.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Comprensión contextual mejorada

La comprensión contextual mejorada en GitHub Copilot ofrece respuestas más precisas.

Comprensión contextual mejorada en GitHub Copilot

GitHub Copilot ahora ofrece una comprensión contextual mejorada para ofrecer respuestas aún más precisas. Con esta actualización, GitHub Copilot puede interpretar de forma intuitiva las características clave en el código, adaptando sugerencias a las necesidades únicas del proyecto. Este enfoque más inteligente para la asistencia de código está diseñado para ayudarle a trabajar de forma más eficaz, sin necesidad de ajustes de contexto frecuentes.

Pruébelo con GitHub Copilot hoy mismo!

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Actualizaciones de exclusión de contenido

La exclusión de contenido ahora admite submódulos y repositorios anidados.

Hemos mejorado la forma en que nuestro sistema controla los submódulos y los repositorios anidados, lo que facilita el trabajo con estructuras de proyecto complejas.

Además, hemos agregado compatibilidad con repositorios que no son de Git, lo que amplía la flexibilidad del flujo de trabajo y le permite integrar sin problemas una gama más amplia de proyectos.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Inspección de variables inteligentes de IA

Optimice el flujo de trabajo de depuración con la inspección de variables de IA integrada.

La inspección y el análisis de valores de Locals, Autos y DataTips nunca ha sido más fácil con Ask GitHub Copilot en Visual Studio. Simplemente haga clic con el botón derecho en cualquier valor para obtener información detallada basada en IA sobre errores, resultados inesperados o anomalías, todo sin salir del IDE.

búsqueda de variables de IA

Esta característica mejorará significativamente la velocidad de solución de problemas mediante el análisis de variables en tiempo real dentro del IDE siempre que surjan valores inesperados.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Visualizador IEnumerable con tecnología de IA

Expresiones editables de LINQ con tecnología de IA en el visualizador IEnumerable.

Hemos mejorado la característica de expresión editable en el visualizador IEnumerable con asistencia de IA. La nueva característica Preguntar a Copilot permite a los usuarios aprovechar la inteligencia artificial directamente dentro del cuadro de texto de expresión editable para crear expresiones LINQ complejas.

Visualizador IEnumerable de expresión editable de IA

Para acceder al chat de GitHub Copilot, basta con hacer clic en el icono de GitHub Copilot ubicado en la esquina inferior derecha de la sección expresión editable. En el chat, encontrará ejemplos de sintaxis LINQ de muestra. Además, puede describir la consulta en lenguaje natural y GitHub Copilot generará la consulta LINQ correspondiente. Para aplicar el filtrado de consultas LINQ al visualizador, use el botón Mostrar en visualizador en el chat.

Proporciona comentarios e instrucciones instantáneos, lo que hace que el proceso de creación de filtros complejos y transformaciones sea más intuitivo y eficaz.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Depuración de pruebas con GitHub Copilot

Obtenga ayuda con la depuración de pruebas con errores mediante pruebas de depuración con GitHub Copilot.

Necesita ayuda para depurar las pruebas unitarias con errores. Ahora GitHub Copilot puede ayudarle proporcionándole un plan de depuración y guiándole a través de la depuración de la prueba fallida para acercarle a la aprobación haciendo clic en el botón Depurar con Copilot en el Explorador de pruebas.

Depurar con GitHub Copilot

Una vez que inicie la característica, GitHub Copilot le proporcionará un plan de depuración, establecerá los puntos de interrupción adecuados y observará las variables e iniciará la sesión de depuración. Cuando alcanza el punto de interrupción, proporciona a GitHub Copilot valores para las variables inspeccionadas y determina el siguiente paso, continuar la depuración o corregir el código del problema. Puede continuar con esta conversación hasta que tenga una prueba superada.

Chat de GitHub Copilot con el plan de depuración y los pasos siguientes

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Corrección de código con GitHub Copilot 📣

GitHub Copilot le ayuda a resolver problemas de código.

GitHub Copilot ahora está integrado en la lista de bombillas y errores, lo que proporciona correcciones rápidas y explicaciones detalladas para problemas de código. Tanto si está desarrollando en C# como en C++, esta característica le ayuda a comprender y resolver problemas en el código base de forma más eficaz.

Para empezar, simplemente invoque la bombilla y seleccione Corregir con Copilot. Esto iniciará un chat en línea con GitHub Copilot, lo que le ofrecerá una corrección disponible.

Corrección del código con GitHub Copilot desde la bombilla

También puede seleccionar el icono de GitHub Copilot en la lista de errores para abrir el panel de chat, donde encontrará explicaciones detalladas y soluciones para el error a mano.

Corrección del código con GitHub Copilot de la lista de errores

Al aprovechar LLM, GitHub Copilot proporciona explicaciones y correcciones útiles directamente en la lista de bombillas y errores, lo que mejora la experiencia de codificación.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Mejores finalizaciones de IA para C#

GitHub Copilot aporta contexto adicional de los archivos de origen relevantes para mejorar las finalizaciones de C#.

Las finalizaciones de código de GitHub Copilot proporcionan sugerencias de autocompletar insertadas a medida que se escribe código. Estas sugerencias se generan en función del contenido del archivo activo actualmente y de cualquier otro archivo abierto en el editor. Sin embargo, hemos descubierto que incorporar contexto más relevante mejora significativamente estas sugerencias.

Para mejorar la experiencia de los desarrolladores de C#, hemos actualizado GitHub Copilot para incluir contexto adicional de C#, como tipos y métodos disponibles en finalizaciones.

Con la versión más reciente de Visual Studio, GitHub Copilot ahora considera automáticamente archivos semánticamente relevantes para contexto adicional, incluso si estos archivos no están abiertos en el editor. Esta mejora ayuda a reducir las alucinaciones a la vez que ofrece sugerencias más relevantes y precisas.

Antes: los archivos semánticamente relevantes no se consideran contexto para las finalizaciones de GitHub Copilot.

Los archivos semánticamente relevantes no se consideran contexto para las finalizaciones de GitHub Copilot.

Después: los archivos semánticamente relevantes se consideran contexto para las finalizaciones de GitHub Copilot.

Los archivos semánticamente relevantes se consideran contexto para las finalizaciones de GitHub Copilot.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Código de referencia en GitHub Copilot

Introducción a referencias de código en GitHub Copilot, lo que le permite permitir sugerencias de código que contengan coincidencias de código público al tiempo que recibe información detallada sobre la coincidencia.

Nos complace anunciar que ya están disponibles las referencias de código en GitHub Copilot dentro de Visual Studio.

Ejemplo de código público al que se hace referencia

Esta nueva función ofrece transparencia a los desarrolladores al notificarles cuándo las sugerencias de GitHub Copilot coinciden con el código público. Ahora puede ver el código coincidente, su archivo fuente y cualquier información de licencia asociada, lo que les ayuda a tomar decisiones más informadas al codificar.

Las referencias de código permiten bloquear o permitir sugerencias que contengan coincidencias de código público, lo que mejora el control y la personalización.

Al integrar las referencias de código en GitHub Copilot, fomentamos el intercambio de conocimientos, mejoramos la transparencia y le damos la posibilidad de crear con confianza. Tanto si es un desarrollador individual como si forma parte de un equipo más grande, esta función mejora su flujo de trabajo y le ayuda a navegar por las complejidades del código público con facilidad.

Pruebe GitHub Copilot en Visual Studio hoy y tome el control del proceso de desarrollo con mayor transparencia y confianza.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Chat guiado en GitHub Copilot

Introducción a una nueva forma conversacional de chatear con GitHub Copilot.

Presentamos una nueva forma conversacional de interactuar con el chat de GitHub Copilot.

Ejemplo de experiencia de chat guiado

Hemos introducido una manera más interactiva y conversacional de usar el chat de GitHub Copilot. Ahora, en lugar de sentirse atascado o inseguro, GitHub Copilot le guiará con preguntas aclaratorias cuando el contexto no esté claro, garantizando respuestas más precisas y útiles.

Esta experiencia de chat guiada ayuda a afinar sus consultas, ofrece sugerencias y garantiza interacciones más fluidas y productivas. Con esta nueva modalidad de chat, disfrutará de un GitHub Copilot más inteligente e intuitivo que se adapta a sus necesidades a medida que codifica.

Pruebe hoy mismo la nueva experiencia de chat guiado y compruebe usted mismo la diferencia.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


Incorporación de GitHub Copilot

Empiece a trabajar más rápido en El chat de GitHub Copilot!

¿Necesita ayuda para empezar a utilizar el chat de GitHub Copilot? Hemos introducido dos nuevas características de incorporación para ayudarle a empezar a trabajar más rápido.

Mensajes de inicio

¡Envíe su primer mensaje a GitHub Copilot haciendo clic en uno de los mensajes de inicio! Use estas indicaciones para ver qué funcionalidades tiene GitHub Copilot para ofrecerle en el flujo de trabajo.

Mensajes de inicio de GitHub Copilot

Biblioteca de mensajes

Si necesita volver a hacer referencia a algunas solicitudes realizadas previamente, haga clic en el botón Biblioteca de mensajes (icono de libro) para ver una lista de todas las solicitudes disponibles. ¡Esta biblioteca contiene mensajes usados habitualmente, solo un clic!

Biblioteca de símbolos del sistema de GitHub Copilot

Tanto si está explorando nuevas tareas de codificación como si simplemente busca inspiración, nuestros mensajes están aquí para ayudarle a sumergirse de lleno y empezar a sacar el máximo partido al chat de GitHub Copilot.

Pruébelo y vea adónde le lleva.

Important

Para usar esta característica, asegúrese de activar GitHub Copilot


.NET

Lograr más con .NET 9 📣

.NET 9 eleva el desarrollo de aplicaciones inteligentes y nativas de la nube, centrándose en mejoras de productividad, implementaciones simplificadas e integración acelerada con IA.

.NET 9 eleva el desarrollo de aplicaciones inteligentes y nativas de la nube, centrándose en mejoras de productividad, implementaciones simplificadas e integración acelerada con IA, lo que proporciona un rendimiento en varias aplicaciones. Con compatibilidad completa con .NET 9 en Visual Studio 17.12, puede aprovechar fácilmente todas las mejoras más recientes. Para más información sobre las novedades, visite Novedades de .NET 9.

.NET 9

Además, encontrará actualizaciones de características en torno al IDE que hacen que trabajar con .NET y ASP.NET más productivo que nunca.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Auditoría de NuGet para paquetes transitivos 📣

NuGet está cambiando la configuración de auditoría predeterminada para incluir paquetes transitivos.

La auditoría de NuGet, que se agregó primero en Visual Studio 17.8 (y .NET 8), proporciona advertencias durante la restauración si algún paquete usado por el proyecto tiene vulnerabilidades conocidas.

Para obtener más información sobre la auditoría de NuGet, incluidas todas las opciones de configuración, consulte la documentación sobre auditoría de NuGet.

Auditoría de NuGet

En esta versión, los valores predeterminados de Auditoría de NuGet para NuGetAuditMode han cambiado. Anteriormente, solo se notificaban referencias directas de paquete de forma predeterminada (<NuGetAuditMode>direct</NuGetAuditMode>). Ahora, de forma predeterminada, advertirá tanto en paquetes directos como transitivos (<NuGetAuditMode>all</NuGetAuditMode>) con vulnerabilidades conocidas. Para conservar los valores predeterminados anteriores, puede establecer explícitamente el valor preferido de NuGetAuditMode en el proyecto o en el archivo Directory.Build.props.

Como alternativa, puede establecer SdkAnalysisLevel en un número de versión inferior a 9.0.100, pero tenga en cuenta que esto afectará a todas las características que usan SdkAnalysisLevel.

La auditoría de NuGet requiere un origen de paquete que proporcione una base de datos de vulnerabilidades. NuGet.org proporciona vulnerabilidades de la base de datos de avisos de GitHub.

A partir de Visual Studio 17.12, ahora es posible especificar orígenes de auditoría en archivos NuGet.Config, por lo que ya no es necesario usar nuget.org como origen de paquete.

Si no usa nuget.org como origen de paquete y desea usar la auditoría de NuGet para informes de paquetes vulnerables durante la restauración, agregue lo siguiente a un archivo NuGet.Config en el directorio de la solución:

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Depuración y diagnóstico

Depuración de WebAssembly de Blazor 📣

Una experiencia de depuración mejorada para aplicaciones WebAssembly de Blazor destinadas a .NET 9 o posterior.

Visual Studio ahora ofrece una experiencia de depuración mejorada para aplicaciones WebAssembly de Blazor destinadas a .NET 9 o posterior:

  • Los tipos de datos que se muestran en el depurador ahora coinciden con los tipos de datos de .NET esperados.
  • Los miembros de tipo y la visibilidad de los miembros usan los iconos esperados.
  • La pila de llamadas mostrada se limpia para que solo muestre la pila de llamadas de .NET y respeta correctamente la configuración Solo mi código.
  • Ahora se admite la ventana de módulos.
  • Se ha expandido y mejorado el soporte para la evaluación de expresiones en la ventana Inmediato y para los puntos de interrupción condicionales y de vigilancia.

Mejoras de depuración de Blazor

Para habilitar la nueva experiencia de depuración en versión preliminar:

  • Habilite la opción Habilitar nuevo depurador mono de .NET 9+.
  • Instale el SDK de .NET 9 más reciente.
  • Actualice la aplicación Blazor para que se dirija a .NET 9.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Histograma de medidor en el generador de perfiles

Información de rendimiento mejorada con el histograma de medidor en la herramienta de contador de generador de perfiles.

La mejora reciente del conjunto de generación de perfiles de rendimiento de Visual Studio presenta la característica de histograma de medidor. Esta herramienta permite identificar y analizar los datos del histograma generados por instrumentos de histograma. Al grabar datos de estos instrumentos, se visualizan los resultados del histograma, lo que proporciona una representación clara de la distribución de datos.

Herramienta de contador de histogramas de medidor

Además, el gráfico de carriles ofrece una vista detallada y segmentada de las métricas de rendimiento, lo que mejora la capacidad de identificar y solucionar problemas de rendimiento de forma eficaz.

Visualización de valores devueltos del método 📣

El depurador ahora muestra valores devueltos insertados con ayuda de IA para mejorar la eficacia.

El depurador de Visual Studio muestra ahora valores insertados para las instrucciones de devolución, respondiendo así a una de las características más solicitadas por la comunidad de desarrolladores.

Esta mejora le permite ver los valores exactos que devuelven las funciones directamente en el código, eliminando la necesidad de código adicional o variables temporales para inspeccionar los valores de devolución.

Valores devueltos insertados

Con GitHub Copilot, puede ir más allá utilizando la opción Preguntar a Copilot al mantener el mouse para analizar los valores devueltos directamente en Visual Studio, lo que le permite abordar los problemas de inmediato.

Se admite tanto en código nativo como administrado.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Exportación de grupos de puntos de interrupción con facilidad 📣

Importación y exportación con facilidad de grupos de puntos de interrupción.

Los grupos de puntos de interrupción de Visual Studio ahora admiten la funcionalidad de importación y exportación, lo que le permite administrar y mantener fácilmente las estructuras de punto de interrupción en varios proyectos o entornos.

Importación y de exportación de grupos de puntos de interrupción

Esta nueva característica permite exportar los grupos de puntos de interrupción con sus configuraciones e importarlos más adelante en diferentes soluciones, lo que garantiza una configuración de depuración coherente sin necesidad de volver a crear manualmente los grupos de puntos de interrupción.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

IntelliSense para el visualizador IEnumerable 📣

Visualizador IEnumerable mejorado con IntelliSense para consultas LINQ más rápidas.

El visualizador IEnumerable se ha mejorado con IntelliSense, lo que proporciona sugerencias de código en tiempo real y autocompletado, lo que hace que la escritura de expresiones LINQ sea más rápida y precisa.

Visualizador IEnumerable con IntelliSense

Esta mejora simplifica el proceso de creación y edición de consultas al ofrecer recomendaciones de código inteligente, lo que reduce la probabilidad de errores y acelera el tiempo de desarrollo.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Análisis del uso de la memoria a lo largo del tiempo

Seleccione y compare dos instantáneas de memoria con la ventana Herramienta de diagnóstico.

Ahora la ventana Herramienta de diagnóstico admite la comparación de instantáneas de memoria, lo que facilita el análisis de los cambios de memoria en el tiempo.

Para usar esta característica, asegúrese de que tiene al menos dos instantáneas de memoria capturadas en la pestaña Memoria de la ventana Herramienta de diagnóstico.

Selección de instantáneas para la comparación
  • Mantenga presionada la tecla Ctrl y haga clic en las filas de instantáneas para seleccionar dos instantáneas.
  • Como alternativa, mantenga presionada la tecla Mayús y use las up/down teclas de dirección para seleccionar dos instantáneas consecutivas.
Anulación de la selección de instantáneas
  • Mantenga pulsada la tecla Ctrl y haga clic en la instantánea cuya selección desee anular.
Visualización de la diferencia

Una vez que haya seleccionado las instantáneas de memoria para la comparación, haga clic en el botón Ver diferencias situado encima de la lista de instantáneas para ver las diferencias entre ellas.

Visualización de la instantánea de diferencias MMA

Herramientas de Git

Administrar el cambio de nombre de archivos con Git 📣

Puede estar tranquilo al renombrar archivos con una nueva notificación.

Al cambiar el nombre de los archivos desde el Explorador de soluciones, se le recordará que va a almacenar provisionalmente los cambios para verlos en Git. Esto aumenta la confianza de que Git reconoce el cambio de archivo y realiza un seguimiento correctamente. Nos dimos cuenta de que esto era un punto de confusión para muchos clientes, así que trabajamos con los miembros de la Comunidad de desarrolladores para generar una nueva notificación.

Notificación mv de Git

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Solicitud de cambios mediante borradores y plantillas 📣

Cree borradores de solicitud de cambios e inicie las descripciones con plantillas en Visual Studio.

Ahora puede crear borradores de solicitud de cambios e iniciar las descripciones con plantillas de GitHub en Visual Studio. Estas fueron las dos principales solicitudes para crear una experiencia de solicitud de cambios.

Borrador de solicitudes de cambios

Use el menú desplegable del botón Crear para Crear como borrador.

Creación de una opción de borrador de solicitudes de cambios

Plantillas de solicitud de cambios

La plantilla de solicitud de incorporación de cambios predeterminada se usará al crear una nueva solicitud de cambios para GitHub y Azure DevOps. Obtenga más información sobre cómo agregar una plantilla de solicitud de cambios al repositorio en la documentación de GitHub y la documentación de Azure DevOps.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación. Y haga esta encuesta para ayudar a mejorar aún más la característica.

Creación de repositorios internos de GitHub 📣

Visual Studio ahora admite la creación de repositorios internos e incluye instrucciones para cada tipo de repositorio para proporcionarle más confianza al iniciar un nuevo proyecto.

Visual Studio ahora admite repositorios internos para las organizaciones de GitHub. También hemos incluido instrucciones para cada tipo de repositorio para proporcionarle más claridad sobre la visibilidad del nuevo proyecto en función de la cuenta que use.

Nuevo cuadro de diálogo de repositorio

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Copia del vínculo de Git 📣

Puede obtener un vínculo de GitHub o Azure DevOps a una línea de código específica para facilitar el uso compartido con sus compañeros.

Al compartir líneas de código con un compañero de trabajo, a menudo puede ser útil para él obtener contexto adicional de su repositorio. Sin embargo, si están trabajando en otra cosa, la comprobación de la rama puede llevar demasiado tiempo e interrumpir su trabajo.

Ahora, puede resaltar el código que desea compartir en el editor, abrir el menú contextual con un clic derecho y, en el submenú Git, obtener un vínculo que se pueda compartir con el código en GitHub o Azure DevOps. Esto facilita la colaboración y simplifica el flujo entre el IDE y los repositorios remotos en la web.

Copiar el menú contextual de la dirección URL de Git

También puede obtener enlaces que se pueden compartir directamente desde el historial de confirmaciones. Esto permite hacer referencia sin esfuerzo al código sin extraer del repositorio.

Copia de la dirección URL de Git en la ventana del repositorio de Git

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Compatibilidad con varios repositorios de Git 📣

Ahora puede crear solicitudes de incorporación de cambios y vincular elementos de trabajo en escenarios de varios repositorios tanto para GitHub como para Azure DevOps.

Ahora puede crear solicitudes de incorporación de cambios y vincular elementos de trabajo en escenarios de varios repositorios. Para GitHub y Azure DevOps, se admiten las integraciones al usar el selector de repositorios para centrarse en un repositorio determinado en los escenarios de varios repositorios.

Selector de repositorios

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Personalización del mensaje de confirmación de Git de AI 📣

Puede agregar instrucciones adicionales al mensaje de confirmación de Git para generar el mensaje de confirmación de Git con GitHub Copilot.

Ahora puede agregar instrucciones adicionales al mensaje de confirmación de Git para generar el mensaje de confirmación de Git con GitHub Copilot. Esto le permite personalizar el mensaje de confirmación para ajustarse mejor a los estándares del flujo de trabajo y del equipo. Puede especificar el número de líneas que se van a generar, la longitud de las líneas e incluso proporcionar un estilo de confirmación de ejemplo. Edite el mensaje en el campo del símbolo del sistema en Herramientas > Opciones > de Integración del control de código fuente de GitHub > Copilot>.

Personalización del mensaje de Git

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

IDE

Configuración de inicio de varios proyectos 📣

Agilice la depuración configurando y guardando perfiles de lanzamiento para proyectos específicos dentro de soluciones de varios proyectos. Comparta configuraciones sin esfuerzo con su equipo.

La característica Configuración de inicio de varios proyectos permite configurar y guardar perfiles para iniciar proyectos específicos dentro de una solución de varios proyectos en estados predefinidos para la depuración.

Configuración de inicio de varios proyectos

Esto simplifica el proceso de trabajar con soluciones complejas, mejora la eficacia de la depuración y permite compartir fácilmente configuraciones entre los miembros del equipo.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Nota

Esta característica debe estar habilitada en Herramientas:> Administrar características en versión preliminar.


Advertencias de seguridad de MotW

Las advertencias de seguridad de marca de web (MotW) ahora se integran en la funcionalidad general de confianza.

Visual Studio mostrará una advertencia de seguridad cuando detecte que está intentando abrir el contenido etiquetado con el identificador marca de web (MotW).

Esta nueva advertencia relacionada con la confianza transmite los riesgos de abrir contenido de orígenes potencialmente no seguros, como las descargas de Internet.

Cuadro de diálogo de confianza que alerta de los riesgos de seguridad de la apertura de descargas web en Visual Studio

Para modificar la experiencia de confianza predeterminada, vaya a Configuración de confianza en Herramientas > Opciones > Entorno.

Configuración de confianza le permite personalizar la experiencia de confianza predeterminada.

Nuevas plantillas de IA del Kit de herramientas de Teams

El kit de herramientas de Teams incorpora nuevas plantillas de aplicaciones de IA de Teams.

El kit de herramientas de Teams agrega tres nuevas plantillas de aplicación de IA para Teams:

Son las siguientes:

Plantillas de aplicación de IA para Teams

  1. Bot de chat con IA básica: sus propios copilotos en Microsoft Teams creados con la biblioteca de IA de Teams

  2. Chatear con sus datos: una plantilla de bot de chat inteligente con conocimientos de dominio del origen de datos personalizado.

    El kit de herramientas de Teams le permite ahora crear Copilot personalizado, que es un bot de chat potenciado por IA con funcionalidad RAG capaz de comprender el lenguaje natural y recuperar datos de dominio para responder a preguntas específicas de dominio. Esta plantilla es compatible para acceder a sus datos personalizados en la aplicación Copilot personalizado.

    Al seleccionar esta plantilla, puede elegir dos formas de conectar con sus datos:

    a. Búsqueda de Azure AI: su bot de chat puede acceder a los datos del servicio de búsqueda de Azure AI y usarlos en la conversación con los usuarios.

    b. Origen de datos personalizado: puede agregar el origen de datos que quiera a la aplicación Copilot personalizado, por ejemplo, el sistema de archivos o la base de datos vectorial.

  3. Agente de IA: un agente de IA en Teams que puede tomar decisiones y realizar acciones basándose en el razonamiento de LLM.

Pruebe las nuevas plantillas de aplicación de IA para iniciar su recorrido por la IA en Teams.

Copia de archivos entre instancias 📣

Ahora puede copiar archivos y carpetas del Explorador de soluciones de una instancia de Visual Studio a otra.

Nos complace presentar una característica muy solicitada en Visual Studio. Ahora puede copiar y pegar sin problemas archivos y carpetas de código entre diferentes instancias de Visual Studio mediante el Explorador de soluciones. Solo tiene que seleccionar el archivo o la carpeta que desee, usar Ctrl+C o Ctrl+X, cambiar a otra instancia de Visual Studio y usar Ctrl+V para incluir esos archivos o carpetas en la nueva solución. Todos los cambios se reflejarán con precisión en el sistema de archivos.

Además de copiar y pegar, también puede arrastrar los archivos y carpetas de una instancia de Visual Studio a otra.

Copia de archivos entre instancias de Visual Studio

Anteriormente, esta funcionalidad solo estaba disponible para algunos tipos de proyecto, pero ahora la hemos ampliado para incluir todos los tipos de proyecto principales en Visual Studio.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Nube

Publicación de actualizaciones de seguridad de Azure App Service

Publicar en Azure App Service de forma segura mediante actualizaciones de seguridad integradas.

La guía de publicación de Azure App Service aconseja a los clientes que deshabiliten la autenticación básica y habiliten la publicación a través de la autenticación integrada.

Publicación segura de Herramientas de Azure

La nueva característica de Visual Studio 2022 deshabilita la autenticación básica y habilita la seguridad integrada para publicar en Azure App Service. Esto garantiza que las credenciales de publicación se controlen de forma segura, lo que reduce los riesgos asociados a la autenticación básica.

Al publicar en una instancia de Azure App Service que tenga habilitada la autenticación básica (que no se recomienda), los usuarios verán la opción Activar autenticación básica y se desactivará de forma predeterminada. Los clientes que necesitan conservar la autenticación básica pueden activar la casilla, pero dado que la recomendación es deshabilitar la autenticación básica, se desactiva de forma predeterminada. Por lo tanto, puede empezar protegido si es la primera vez que publica o puede protegerse cuando pase por el proceso de publicación después de actualizar Visual Studio.

Publicación segura de Azure Tools deshabilitada

Si ha creado la aplicación web recientemente a través del portal o de esta o de cualquier versión futura de Visual Studio, la autenticación básica se deshabilitará de forma predeterminada. Para cualquier aplicación web que ya tenga deshabilitada la autenticación básica, evitamos que la aplicación web sea menos segura desactivando la casilla por completo, para que siga estando protegido.

Publicación segura de Azure Tools habilitada

Compatibilidad de Azure WebJobs para Linux 📣

La publicación en Azure WebJobs en Linux ahora es compatible con la publicación con el botón derecho en Visual Studio.

Las aplicaciones de consola multiplataforma de .NET 5.0+ son compatibles con Azure WebJobs Linux y, ahora, también puede hacer clic con el botón derecho en publicar el código en Azure WebJobs en Linux desde Visual Studio.

Cuadro de diálogo Publicar que muestra el destino de Linux

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Consumo de Azure Functions Flex

Publicación en el plan de hospedaje de consumo de Azure Flex, actualmente en versión preliminar.

Si está probando el nuevo plan de hospedaje de consumo flexible de Azure Functions, actualmente en versión preliminar, podrá hacer clic con el botón derecho en publicar en Flex desde Visual Studio.

Consumo flexible ampliará aún más la funcionalidad de las aplicaciones y le proporcionará lo siguiente:

  • Integración de Virtual Network sin costo adicional
  • Escalado rápido y predecible con la opción de tamaño de instancia y el control de simultaneidad por instancia
  • Sin servidor con escala a cero y solo paga por instancias mientras están activas
  • Mitigación de arranque en frío con la característica opcional instancias de Always Ready

Obtenga más información sobre Consumo flexible en la entrada de blog o documentación del anuncio y pruebe uno de nuestros ejemplos.

Publicación de Consumo flexible de Azure Functions

Actualización de seguridad de servicios conectados

Hacer que las aplicaciones y las experiencias de desarrollo sean más seguras.

En esta actualización de Servicios conectados, ahora puede conectar el código del proyecto a los recursos de Azure, como Azure Storage, sin necesidad de secretos o cadenas de conexión en el código o configuración.

Ahora, asignará un nombre a la conexión, los puntos de conexión se conservan en la configuración en lugar de la cadena de conexión completa. Esto significa que hay menos secretos en disco, por lo que el tiempo de desarrollo será más seguro de manera predeterminada y sufrirá menos errores al enviar secretos al control de código fuente.

Cuadro de diálogo de conexión a Azure Storage

También usamos los SDK de Azure más recientes, por lo que obtendrá soporte técnico para conectarse a los recursos de Azure mediante el inicio de sesión de Visual Studio (o la CLI de Azure) en lugar de conectarse a través de una cadena de conexión. Cuando se ejecuta localmente, el código usará la credencial de inicio de sesión para acceder a los recursos. Cuando se ejecuta en Azure, el SDK de Azure usará la identidad administrada del servicio de aplicaciones para acceder a los recursos.

Servicios conectados lo configura todo e inserta el código adecuado para usar la identidad integrada en lugar de secretos. Durante la publicación, la aplicación se configurará con la identidad y los roles adecuados necesarios para acceder a los recursos.

Escritorio

Herramientas MSIX mejoradas para aplicaciones para UWP en .NET 9 📣

Visual Studio ahora hace referencia a las nuevas herramientas MSIX de un solo proyecto independiente para empaquetar aplicaciones para UWP en .NET 9.

En la versión preliminar inicial de la compatibilidad con UWP para .NET 9, nos basamos en WindowsAppSDK para proporcionar las herramientas MSIX para empaquetar aplicaciones mediante la configuración de un solo proyecto (en lugar de usar un proyecto de empaquetado de aplicaciones de Windows, es decir, un archivo .wapproj). Al hacerlo se introdujeron varios problemas, el principal es que la dependencia transitiva de WebView2 de WindowsAppSDK también se agregó automáticamente a todas las aplicaciones para UWP, incluso cuando no es necesario.

Ahora hemos desacoplado completamente las herramientas MSIX de proyecto único y la hemos publicado como un nuevo paquete NuGet independiente: Microsoft.Windows.SDK.BuildTools.MSIX. Esto incluye todo lo necesario para compilar, implementar y ejecutar aplicaciones para UWP en .NET 9, así como generar paquetes MSIX para publicar en Microsoft Store o transferir localmente. Las herramientas de UWP en .NET 9 en Visual Studio agregarán automáticamente estas dos referencias de paquete cuando sea necesario:

Herramientas MSIX

Esto elimina completamente la dependencia transitiva de WebView2 y el error de compilación que estaba presente para los nuevos proyectos en versiones preliminares anteriores cuando no establece manualmente la propiedad WindowsSdkPackageVersion en el archivo .csproj. Con este cambio, los nuevos proyectos se compilarán y ejecutarán sin necesidad de realizar cambios adicionales.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Búsqueda mejorada de componentes de WinUI

Mejore la configuración de proyectos de WinUI con una búsqueda de Instalador de Visual Studio mejorada, lo que simplifica la ubicación de los componentes para los desarrolladores.

Optimice aún más la configuración de proyectos de WinUI con nuestra actualización más reciente del instalador de Visual Studio. Los desarrolladores ahora pueden encontrar rápidamente componentes relacionados con WinUI, lo que elimina la frustración anterior de navegar por un resultado de búsqueda vacío. Esta mejora simplifica la configuración del entorno de desarrollo, lo que permite una experiencia de usuario más intuitiva y eficaz.

Imagen que muestra la nueva búsqueda de componentes individuales de WinUI en el Instalador de Visual Studio

¡Abra el Instalador de Visual Studio, vaya a la pestaña de componentes individuales y busque palabras clave relacionadas con WinUI (WinUI, WinRT)!

Compatibilidad con el SDK de .NET 9 para UWP 📣

Visual Studio ahora incluye el SDK de .NET 9 con compatibilidad con UWP lista para usar.

Uno de los pasos necesarios para probar UWP en .NET 9 en la versión preliminar inicial era instalar una compilación nocturna del SDK de .NET 9. Con esta nueva versión de Visual Studio, ya no es necesaria.

Visual Studio ahora incluye el SDK de .NET 9, que tiene toda la nueva compatibilidad con UWP en .NET 9 (específicamente, lógica para hacer referencia a las proyecciones XAML de UWP y configurar CsWinRT en tipos de proyecto para aplicaciones XAML para UWP). Ahora puedes compilar y ejecutar UWP en proyectos de .NET 9 con el SDK de .NET que se instala automáticamente con Visual Studio.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

.csproj simplificado para UWP 📣

UseUwpTools ahora se establece automáticamente en Visual Studio para proyectos de UWP modernos en .NET 9.

Las aplicaciones y bibliotecas de UWP que usan .NET 9 solían requerir dos propiedades en sus archivos .csproj: UseUwp, que configura el SDK de .NET para aplicaciones XAML para UWP y UseUwpTools, que permite que todas las nuevas herramientas de Visual Studio compilen y ejecuten aplicaciones XAML para UWP.

Visual Studio establece automáticamente la propiedad UseUwpTools cuando se establece UseUwp, para que .csproj sea menos detallado en el escenario común. En los escenarios avanzados, todavía es posible optar por deshabilitar UseUwpToolsmanualmente .

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Se ha corregido RID para UWP en .NET 9 📣

Las bibliotecas de clases de UWP en .NET 9 establecen correctamente los RID en los valores correctos para AOT nativo.

Se ha corregido un error en las herramientas APPX para las bibliotecas de clases de UWP (y componentes de WinRT) en .NET 9, que aplicaba los identificadores en tiempo de ejecución de UWP en .NET Native de forma predeterminada (es decir, con el prefijo win10- e incluidas las plataformas que ya no se admiten, como arm).

Las herramientas de APPX ahora establecerán los RID adecuados para los proyectos de .NET 9 de forma predeterminada: win-x86;win-x64;win-arm64. Todavía es posible especificarlos manualmente, si lo desea.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

se ha corregido la creación de proyectos para UWP 📣

Se ha corregido el Asistente para plantillas universales que provocaba que ya no mostrara un cuadro de diálogo de error al crear una nueva UWP en proyectos de .NET 9.

Si usa la versión preliminar de VSIX con las nuevas plantillas de proyecto para UWP en .NET 9, es posible que haya observado que se mostraba un cuadro de diálogo de error justo al crear un nuevo proyecto. Esto era especialmente problemático al crear una nueva solución, ya que Visual Studio no la abría correctamente después de crear el proyecto. Este problema se ha resuelto y la creación de nuevos proyectos destinados a UWP en .NET 9 ahora funciona correctamente.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Web

Solicitar variables en archivos HTTP 📣

Ahora, los archivos HTTP admiten variables de solicitud. Ahí es donde puede enviar una solicitud y, a continuación, usar datos de la respuesta, o solicitud, en futuras solicitudes.

Al trabajar con archivos HTTP, un escenario común es llamar a un punto de conexión, tomar un valor de la respuesta y enviarlo en una solicitud posterior. Por ejemplo, puede llamar a un punto de conexión para autenticar a un usuario y, después, en llamadas posteriores, puede pasar el token que se devolvió desde el punto de conexión de inicio de sesión. Antes de esta versión, esto no era posible en Visual Studio. En el fragmento de código siguiente puede ver un ejemplo de cómo funciona en un archivo HTTP.

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

En el fragmento de código anterior hay dos solicitudes, la primera llama al punto de conexión /users/token para autenticar el usuario. Inmediatamente encima de la línea de solicitud, verá el comentario # @name login. Esta sintaxis proporciona un nombre a la solicitud (login en este caso) y la configura como una variable de solicitud. Cuando se envía la solicitud, puede acceder a los valores de la respuesta, o solicitud, en cualquier solicitud futura que se envíe desde ese archivo HTTP. Dado que se trata de una solicitud de inicio de sesión, debe tener cuidado de proteger los secretos. En Visual Studio, tenemos compatibilidad con el acceso a secretos de forma segura. Consulte esta sección en los documentos para obtener más información sobre el control de secretos.

La segunda solicitud llama a un punto de conexión autenticado, /todos, que devolverá los elementos todo de ese usuario. En la solicitud, el token se pasa como un encabezado con la línea.

Authorization: Bearer {{login.response.body.$.token}}

El punto de conexión /users/token devuelve una respuesta en JSON. El token se extrae con una expresión de ruta de acceso JSON, $.token, en el cuerpo de la respuesta. Si usa un punto de conexión que devuelve XML, en lugar de una expresión de ruta de acceso JSON, puede pasar una expresión XPath. La compatibilidad con Visual Studio se ha inspirado en la extensión del sistema operativo existente para el cliente REST que está disponible para Visual Studio Code. Puede obtener más información sobre las variables de solicitud allí. Pronto agregaremos documentación para analizar esta compatibilidad con más detalle.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Compatibilidad con Vitest en JavaScript y TypeScript 📣

Al usar proyectos de JavaScript y TypeScript, ahora puede crear casos de prueba con Vitest.

En los proyectos de JavaScript y TypeScript (JSTS), para los proyectos que tienen la extensión .esproj, hemos agregado compatibilidad para detectar y ejecutar pruebas creadas con Vitest. Para empezar a trabajar con las pruebas de Vitest, en un proyecto de JSTS, agregue el paquete vitest mediante npm en el Explorador de soluciones y, a continuación, modifique el archivo de proyecto para que se declaren las siguientes propiedades.

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

Asegúrese de que el valor de JavaScriptTestRoot tiene la ruta de acceso relativa correcta a la ubicación de los archivos de prueba.

Agregue las pruebas a la carpeta correcta y compile el proyecto o la solución. Después, debería ver los casos de prueba en el Explorador de pruebas.

Explorador de pruebas con pruebas vitest

En el Explorador de pruebas puede ver los diferentes casos de prueba que se detectan y ejecutan los casos de prueba.

Aún no se ha agregado compatibilidad con la depuración, pero pronto agregaremos esa compatibilidad. Otro problema conocido es cuando se hace doble clic en un caso de prueba en el Explorador de pruebas, se le llevará a la primera línea del archivo donde se define el caso de prueba. También mejoraremos esta experiencia.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Sugerencias de incrustación para más idiomas 📣

La compatibilidad con sugerencias de incrustación se ha agregado a JavaScript, TypeScript, Python y Razor, así como una configuración para controlar su comportamiento.

Las sugerencias de incrustación muestran información adicional sobre el código fuente que se representa en línea. Normalmente se usa para mostrar tipos inferidos, nombres de parámetros y otra información implícita del código directamente en el editor.

Se ha agregado compatibilidad para mostrar sugerencias de incrustación en JavaScript, TypeScript, Razor y Python. También hemos agregado una nueva configuración para que pueda personalizar el comportamiento de las sugerencias en estos idiomas. Esta configuración aún no se aplica a C# y C++. Para habilitar las sugerencias de incrustación para estos idiomas, puede usar la nueva configuración en Herramientas > Opciones > Editor de texto > Todos los idiomas > Sugerencias de incrustación. Puede ver la nueva opción en la siguiente imagen.

Configuración global de sugerencias de incrustación

Hay tres valores diferentes para sugerencias de incrustación.

  • Siempre: Mostrar siempre sugerencias de incrustación.
  • Al pulsar Alt+F1: Mostrar solo sugerencias de incrustación al pulsar Alt y F1. Este es el valor predeterminado.
  • Nunca: Las sugerencias de incrustación nunca se muestran.

Para JavaScript y TypeScript, hay una página de opciones adicional para configurar el comportamiento de sugerencias de incrustación. Se encuentra en Herramientas > Opciones > Editor de texto > JavaScript/TypeScript > Avanzadas > General.

Estas opciones se muestran en la imagen siguiente.

Configuración global de TypeScript de sugerencias de incrustación

De forma predeterminada, todas estas opciones están deshabilitadas, debe habilitar las sugerencias que le interesen ver para los archivos JavaScript y TypeScript. En una actualización futura, podemos cambiar los valores predeterminados de estas opciones. En la imagen siguiente puede ver un archivo JavaScript que muestra sugerencias de incrustación.

Sugerencias de incrustación

En la imagen anterior, las sugerencias de incrustación que se muestran son los cuadros grises con : number para indicar el tipo de la variable.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Entorno compartido de archivos HTTP 📣

En los archivos de entorno HTTP hemos agregado compatibilidad para compartir variables entre entornos.

Al usar archivos HTTP en Visual Studio, puede definir entornos para que pueda crear diferentes configuraciones para las pruebas de API. Antes no era posible compartir una variable en estos entornos. Hemos agregado compatibilidad con una nueva entrada, $shared, en el archivo de entorno que permite definir valores predeterminados para variables que están disponibles en todos los entornos.

Por ejemplo, considere el archivo de entorno (http-client.env.json) siguiente.

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

Hemos definido los valores compartidos en $shared que constan de la variable HostAddress que se establece en localhost:7293.

De los tres entornos definidos, ninguno de los entornos de desarrollo ha especificado el valor de HostAddress, pero el almacenamiento provisional tiene un valor.

Cuando se usa el entorno dev o dev2, el valor de HostAddress procederá de $shared, ya que esos entornos no tienen un valor para HostAddress. Al usar el entorno de ensayo, el valor de HostAddress se establecerá en https://sayedrest.example.com.

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

Data

Proyectos de SQL de estilo SDK en SSDT 📣

Ahora puede usar el formato de archivo de proyecto de estilo SDK en los proyectos de SQL Server Data Tools.

Esta actualización agrega proyectos de SQL basados en el SDK de Microsoft.Build.Sql, que ofrece compatibilidad multiplataforma y referencias de paquetes mejoradas a proyectos de SQL Server Data Tools (SSDT). Con archivos de proyecto y referencias de base de datos menos detallados a paquetes NuGet, los equipos pueden colaborar de forma más eficaz en bases de datos grandes en un solo proyecto o compilar varios conjuntos de objetos de varios proyectos.

Proyecto SQL de estilo SDK en el Explorador de soluciones

Las implementaciones de base de datos de un proyecto Microsoft.Build.Sql se pueden automatizar en entornos de Windows y Linux en los que la herramienta dotnet de Microsoft.SqlPackage publica el artefacto de compilación (.dacpac) desde el proyecto SQL. Obtenga más información sobre la versión preliminar de proyectos SQL de estilo SDK y DevOps para SQL.

El SDK del proyecto Microsoft.Build.Sql es de código abierto y se desarrolla en GitHub.

Asegúrese de instalar el componente de versión preliminar de SSDT más reciente en el instalador de Visual Studio para usar los proyectos SQL de estilo SDK en la solución.

Característica de SSDT de habilitación de la versión preliminar del instalador

📣Vea el vale de características para compartir sus comentarios y continuar la conversación.

C++

Configuración de argumentos de la línea de comandos de C++

Una nueva manera de establecer los argumentos de la línea de comandos directamente desde la barra de herramientas.

Establezca rápidamente los argumentos de la línea de comandos para el proyecto de C++ con el nuevo elemento de la barra de herramientas Establecer argumentos. Este cuadro combinado le permite establecer los argumentos de la línea de comandos directamente desde la barra de herramientas, para que pueda cambiar rápidamente sus argumentos. Al ejecutar el proyecto, se pasarán los argumentos especificados en el cuadro.

Este componente de barra de herramientas se mostrará de forma predeterminada si tiene instalada la carga de trabajo Desarrollo de juegos con C++. Si no la ve, puede agregarla haciendo clic con el botón derecho en la barra de herramientas y seleccionando Establecer argumentos.

Nota: esta característica solo está disponible para proyectos de Unreal Engine. Los proyectos generales de C++ se admitirán en futuras versiones.

Configuración de argumentos de la línea de comandos de C++

Explicaciones de la vista de Build Insights

Obtenga información sobre cómo usar cada pestaña de Build Insights a través de un vínculo recién agregado a la documentación.

Ahora puede ver una breve descripción sobre cómo se puede usar cada pestaña de Build Insights, junto con un vínculo a la documentación para obtener una explicación detallada.

Explicación de la vista de Build Insights

Ajustes de ruta de acceso de Build Insights

Obtenga una vista más clara del archivo en Build Insights, consulte la ruta de acceso completa al mantener el puntero.

Hemos ocultado rutas de acceso completas y relativas para reducir el desorden. Para ver las rutas de acceso completas, simplemente mantenga el puntero sobre el archivo. También verá una nueva columna Nombre de archivo para archivos y unidades de traducción, que se muestra de forma predeterminada para ayudarle a identificar rápidamente los archivos sin tener que analizar rutas de acceso largas.

Ajustes de ruta de acceso de Build Insights

Apertura de carpeta para uproject de Unreal Engine

Una nueva forma de abrir el proyecto.

Hemos agregado un punto de entrada adicional para abrir el proyecto uproject de Unreal Engine con la compatibilidad con uproject de Visual Studio. Ahora puede abrir el proyecto directamente desde el menú Archivo seleccionando Abrir > proyecto unreal Engine.... Se abrirá el proyecto de Unreal Engine en Visual Studio.

Para obtener más información sobre cómo usar esta característica, consulte Edición directa de .uproject en Visual Studio.

Carpeta abierta de Unreal Engine

Firma de cambio mejorada

Ahora puede cambiar las firmas con nuestra interfaz de C++ mejorada.

Hemos actualizado la interfaz para cambiar firmas en C++. Ahora puede agregar, quitar y reorganizar parámetros en la sección de configuración de parámetros. Además, puede cambiar su orden seleccionando y arrastrándolos a una nueva posición.

Los métodos de acceso siguen siendo los mismos: pulse Ctrl+. para desencadenar el menú Acciones rápidas y refactorizaciones y seleccione Cambiar firma.

Firma de cambio mejorada

Principales correcciones de errores notificadas por el usuario

📣 Consulte la lista completa de todas las correcciones de errores comunicadas por los usuarios que se han incluido en esta versión.

Problemas conocidos

Versión 17.12.1

Publicado el 19de novemeber, 2024

Principales correcciones de errores De la comunidad
Se ha corregido el problema de parpadeo de color de sintaxis al desplazarse por https://github.com/dotnet/roslyn/pull/75796
Esta versión incluye actualizaciones para mantener el cumplimiento de las leyes internacionales de idioma.

De parte de todo el equipo, gracias por elegir Visual Studio. Si tiene alguna pregunta, por favor póngase en contacto con nosotros en Twitter o Developer Community.

Disfrute programando.
El equipo de Visual Studio


Nota

Esta actualización puede incluir software nuevo de Microsoft o de terceros con licencia por separado, tal como se establece en los avisos de terceros o en su licencia adjunta.