Visual Studio Icon Notas de la versión de Visual Studio 2019Visual Studio 2019 Release Notes


| Comunidad de desarrolladores | Requisitos del sistema | Compatibilidad | Código distribuible | Términos de licencia | Blogs | Problemas conocidos || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Haga clic en un botón para descargar la última versión de Visual Studio 2019.Click a button to download the latest version of Visual Studio 2019. Para obtener instrucciones sobre cómo instalar y actualizar Visual Studio 2019, vea Actualizar Visual Studio 2019 a la versión más reciente.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Consulte también las instrucciones sobre cómo efectuar una instalación sin conexión.Also, see instructions on how to install offline.


Novedades de Visual Studio 2019What's New in Visual Studio 2019

Versiones de Visual Studio 2019Visual Studio 2019 Releases

Blog de Visual Studio 2019Visual Studio 2019 Blog

El blog de Visual Studio 2019 es la fuente oficial de información sobre el producto de la mano del equipo de ingeniería de Visual Studio.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. Encontrará información detallada sobre las versiones de Visual Studio 2019 en las publicaciones siguientes:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 versión 16.0.2Visual Studio 2019 version 16.0.2 New Release icon

publicado el 18 de abril de 2019released April 18, 2019

Problemas corregidos en Visual Studio 2019 versión 16.0.2Issues fixed in Visual Studio 2019 version 16.0.2


Release Notes Icon Visual Studio 2019, versión 16.0.1Visual Studio 2019 version 16.0.1

publicada el 9 de abril de 2019released April 09, 2019

Principales problemas corregidos en Visual Studio 2019, versión 16.0.1Issues fixed in Visual Studio 2019 version 16.0.1


Release Notes Icon Visual Studio 2019Visual Studio 2019

publicado el 2 de abril de 2019released April 02, 2019

Resumen de las novedades de Visual Studio 2019Summary of What's New in Visual Studio 2019

InstalarInstall

IDEIDE

  • Colabore con otros usuarios mediante Visual Studio Live Share, que se instala de forma predeterminada.Collaborate with others using Visual Studio Live Share, which is installed by default. La compatibilidad con lenguajes adicionales para C++, VB.NET y Razor ofrece a los invitados una vista de la solución y el uso compartido de las diferencias de control de código fuente.Additional language support for C++, VB.NET, and Razor gives guests a solution view and sharing of source control diffs.
  • Abra el código en el que se ha trabajado recientemente o comience desde uno de los flujos usados más comúnmente, como clonar, abrir o crear un proyecto mediante la nueva ventana de inicio.Open code you recently worked on or start from one of the most commonly used flows like clone, open, or create a project through the new start window.
  • Cree nuevos proyectos con una experiencia de búsqueda mejorada y filtros con la nueva lista de plantillas almacenadas por popularidad.Create new projects with an improved search experience and filters using the new list of templates sorted by popularity.
  • Tiene más espacio vertical para el código y una apariencia modernizada a través de un conjunto de nuevos cambios visuales en el shell.Have more vertical room for your code and a modernized look and feel through a set of new visual changes in the shell.
  • Obtenga una versión más nítida de su IDE, independientemente de la configuración de visualización o del escalado, ya que se ha mejorado la compatibilidad para un reconocimiento por monitor.View a sharper version of your IDE regardless of your display configuration and/or scaling, as we have improved support for per monitor awareness.
  • Aproveche la funcionalidad de búsqueda mejorada de Visual Studio para menús, comandos, opciones y componentes instalables.Use an improved search capability in Visual Studio for menus, commands, options, and installable components.
  • Comprenda rápidamente el estado del archivo de código con un indicador de documento.Quickly understand your code file's 'health' with a document indicator. Ejecute y configure mediante un código de un clic desde el indicador.Run and configure through a one-click code cleanup from the indicator.
  • Administre fácilmente las características en vista previa a las que se ha suscrito con una nueva página Características de vista previa en el cuadro de diálogo Opciones.Easily manage the preview features you are opted in to with a new Preview Features page in the Options dialog.
  • Cree proyectos con las mejoras de búsqueda basada en etiquetas y una lista de "Plantillas de proyecto recientes" fácilmente accesible.Create new projects with improvements in tag-based search and an easily accessible "Recent project templates" list.
  • Cree elementos directamente desde Buscar en Visual Studio y encuentre resultados más rápido con la relevancia mejorada.Create new items directly from Visual Studio Search and find results faster with improved relevance.
  • Manténgase al día sobre información importante, como las solicitudes de Visual Studio Live Share, con una nueva experiencia de notificaciones.Stay informed of important information, such as Visual Studio Live Share requests, with a new notifications experience.
  • Guarde una colección de reparadores de limpieza de código como un perfil para seleccionar fácilmente los reparadores que quiere ejecutar durante la limpieza del código.Save a collection of code cleanup fixers as a profile to easily select the fixers you want run during code cleanup.
  • Desencadene nuevas correcciones de código y refactorizaciones de .NET.Trigger new .NET refactoring and code fixes.
  • Configure proyectos de .NET Core con más facilidad con archivos del proyecto de primera clase.Configure .NET Core projects more easily with first-class project files.
  • Vea el estado de las extensiones con etiquetas como Versión preliminar, Pagada y Prueba en el cuadro de diálogo Extensiones y actualizaciones.See the status of your extensions with Preview, Paid, and Trial tags in the Extensions and Updates dialog.
  • Compruebe y configure qué características en vista previa quiere activar desde que se restablecieron los valores predeterminados en esta versión preliminar.Check and configure which Preview features you want active since the defaults have been reset in this Preview.
  • Mantenga las extensiones actualizadas mediante la exclusión de determinadas API de Ventana de pruebas que se han marcado como en desuso en esta versión.Keep your extensions up-to-date by excluding certain Test Window APIs that have been marked as deprecated in this release.
  • Desde la ventana de inicio puede iniciar sesión, explorar y clonar con un solo clic o conectarse a los repositorios hospedados de Azure DevOps.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps through the start window.
  • Instale extensiones de otros hosts de control de código fuente para ver los repositorios de su organización y los suyos propios.Install extensions for other source control hosts to view repositories owned by you and your organization.
  • Disfrute de un tema azul renovado en el que, teniendo en cuenta los comentarios de los usuarios, se ha reducido la luminosidad, se ha mejorado el contraste y se han abordado otros problemas de usabilidad.Experience an improved Blue theme experience that addresses feedback by dialing down the luminosity, improving overall contrast and addressing other usability issues.
  • Aplique las preferencias de estilo de código desde la línea de comandos con la herramienta global dotnet format.Apply code style preferences from the command-line with the dotnet format global tool.
  • MSBuild y Visual Studio ahora tienen como destino .NET Framework 4.7.2 de forma predeterminada.MSBuild and Visual Studio now target .NET Framework 4.7.2 by default.
  • Se han quitado del Explorador de servidores las características relacionadas con Azure App Service y, en su lugar, se ofrece una función equivalente en Cloud Explorer.We have removed Azure App Service-related features from Server Explorer; equivalent functionality is instead available in Cloud Explorer.

RendimientoPerformance

Depuración y diagnóstico generalGeneral Debugging and Diagnostics

  • Busque palabras clave dentro de las ventanas Inspección, Automático y Variables locales mientras depura, a fin de mejorar la capacidad de encontrar objetos o valores.Search keywords within the Watch, Autos, and Locals windows while debugging to improve your ability to find objects or values.
  • Vea una lista desplegable de especificadores de formato en las ventanas Inspección, Automático y Variables locales al inspeccionar los datos.View a dropdown of format specifiers in the Watch, Autos, and Locals windows when inspecting data.
  • Use un visualizador personalizado, ahora compatible con .NET Core.Use a custom visualizer, now compatible with .NET Core.
  • Depure aplicaciones muy grandes con un gran número de módulos y archivos PDB.Debug very large applications with large numbers of modules and PDBs.
  • Inicie Google Chrome con argumentos personalizados y depure las aplicaciones de JavaScript desde el IDE de Visual Studio.Launch Google Chrome with custom arguments and debug your JavaScript applications all within the Visual Studio IDE.
  • Use Resaltado de ruta de acceso activa para herramientas de la CPU y de asignación de objetos de DotNet en el Generador de perfiles de rendimiento.Use Hot Path Highlighting for CPU and DotNet Object Allocation tools in the Performance Profiler.
  • Use puntos de interrupción de datos, una característica inicialmente exclusiva de C++, para realizar una interrupción cuando el valor de una propiedad de un objeto específico cambie en aplicaciones .NET Core 3.0 y posteriores.Break when a specific object's property value changes in .NET Core 3.0+ applications using data breakpoints, a feature that was originally exclusive to C++.
  • Desde la versión Preview 1, hemos actualizado la interfaz de usuario para realizar búsquedas en las ventanas Automático, Locales e Inspección con una interfaz más sencilla.Since Preview 1, we have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. La función Profundizar la búsqueda se ha convertido en un desplegable en el que se puede seleccionar rápidamente la profundidad deseada para las búsquedas inicial y posteriores.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Control de código fuente y Team ExplorerSource Control and Team Explorer

  • Almacene los cambios temporalmente para poder trabajar en otra tarea con la compatibilidad de herramientas Git de Team Explorer para el guardado provisional de Git.Temporarily store changes so you can work on another task by using Team explorer's Git tools support for Git stash.
  • Consulte la extensión opcional disponible en Visual Studio Marketplace, Pull Request for Visual Studio, que integra las revisiones de solicitud de incorporación de cambios en Visual Studio.Check out the optional extension available on the Visual Studio Market Place, Pull Requests for Visual Studio, that integrates Pull Request reviews into Visual Studio.
  • Use la nueva experiencia de elemento de trabajo de Azure DevOps que se centra en los flujos de trabajo de desarrollador, incluidas vistas de elementos de trabajo específicas del usuario, que crea una rama desde un elemento de trabajo, busca elementos de trabajo con #menciones y edición directa.Use the new Azure DevOps work item experience that focuses on developer workflows, including user-specific work item views, creating a branch from a work item, searching for work items with #mentions, and inline editing.

ExtensibilidadExtensibility

  • Use un solo SDK de Visual Studio unificado en el paquete NuGet Microsoft.VisualStudio.SDK.Use a single, unified Visual Studio SDK in the NuGet package Microsoft.VisualStudio.SDK.
  • Aproveche las ventajas de un proyecto VSIX actualizado, que ahora incluye una clase AsyncPackage.Take advantage of our update to the VSIX Project to now include an AsyncPackage.
  • Experimente con la nueva plantilla Proyecto VSIX vacío que hemos agregado.Experiment with a new Empty VSIX Project template that we have added.
  • Sepa si una extensión es gratis, de pago o de prueba, tal como se indica ahora dentro del cuadro de diálogo Extensiones y actualizaciones.Know if an extension is Free, Paid, or Trial, as it is now indicated inside the Extensions and Updates dialog.

Lenguajes de programaciónProgramming Languages

C#C#

Experimente una versión preliminar de las características de lenguaje versión 8.0 con las que el compilador C# es ahora compatible, incluyendo:Experience a preview of the 8.0 language features that the C# compiler now supports, including:

  • Tipos de referencia que aceptan valores NULL: Cuando se activa la característica (por ejemplo, con #nullable enable o en el nivel de proyecto con <NullableContextOptions>enable</NullableContextOptions>), los tipos de referencia se tratan como tipos que admiten un valor NULL si se anotan con ?, y como no tipos que no aceptan valores NULL en caso contrario.Nullable reference types: When the feature is turned on (for example, with #nullable enable or at the project-level with <NullableContextOptions>enable</NullableContextOptions>), reference types are treated as nullable if annotated with ?, and as non-nullable otherwise. Después, el compilador analiza el flujo de los valores NULL y advierte sobre probables usos no seguros.The compiler then analyzes where null values flow and warns about likely unsafe usages.
  • Expresiones switch: Ofrece semántica similar a switch en el contexto de una expresión.switch expressions: Offers switch-like semantics in an expression context.
  • Coincidencia de patrones recursiva: Los nuevos patrones permiten probar campos o propiedades y elementos posicionales (de tuplas o deconstrucción).Recursive pattern matching: New patterns allow testing fields/properties and positional elements (from tuples or deconstruction).
  • Compatibilidad con tipos Range y Index que se usan en CoreFX para segmentar, incluida la sintaxis literal x..y para intervalos.Support for Range and Index types being used in CoreFX for slicing, including the x..y literal syntax for ranges.
  • Las secuencias asincrónicas representadas por IAsyncEnumerable<T> se pueden enumerar de forma asincrónica con await foreach y pueden producirse con métodos de iterador en async IAsyncEnumerable<T>.Asynchronous streams represented by IAsyncEnumerable<T> can be enumerated asynchronously with await foreach and can be produced with async IAsyncEnumerable<T> iterator methods.
  • Declaraciones de using: Elimine el final del bloque actual, sin aumentar el nivel de anidamiento.using declarations: Dispose at the end of the current block, without increasing the level of nesting. Las estructuras ref pueden eliminarse mediante la implementación de un método Dispose() público.ref structs can be disposed by implementing a public Dispose() method.
  • Funciones locales de static: Las funciones locales marcadas con static no pueden hacer referencia a this o variables en las funciones envolventes.static local functions: Local functions marked with static cannot reference this or variables in the enclosing functions.
  • Las expresiones lambda y las funciones locales ahora pueden declarar parámetros y variables locales que ocultan nombres de variables de las funciones envolventes.Local functions and lambdas can now declare parameters and locals that shadow names of variables of the enclosing functions.
  • Asignación de combinación de NULL: x ??= y; solo asigna y a x si x era null.Null-coalescing assignment: x ??= y; only assigns y to x if x was null.

Obtenga más información en la introducción a C# 8.0 de Mads.Find out more in Mads' overview of C# 8.0.

Consulte el estado de la característica de lenguaje de C# y los cambios importantes para obtener más información.See the C# language feature status and breaking changes for more details.

Además, puede usar características del lenguaje más modernas de C# en Visual Studio de forma predeterminada.Additionally, you can use more modern C# language features in Visual Studio by default.

C++C++
  • Ahorre tiempo al escribir código de C++ y XAML con Visual Studio IntelliCode, una extensión opcional que proporciona recomendaciones asistidas por inteligencia artificial para el código.Save time when writing C++ and XAML code by using Visual Studio IntelliCode, an optional extension that gives AI-assisted recommendations for your code.
  • Experimente las advertencias de análisis de código en el editor.Experience in-editor code analysis warnings. Los análisis de código se ejecutan automáticamente en segundo plano y las advertencias se muestran con subrayado ondulado de color verde.Code analysis runs automatically in the background and warnings display as green squiggles.
  • Pruebe la nueva barra de plantillas, que usa la interfaz de usuario de ventana de inspección y admite plantillas anidadas.Try the new Template Bar, which uses the Peek Window UI and supports nested templates.
  • Ejecute la nueva implementación actualizada del Comprobador de perfil de duración de C++.Run the new, updated implementation of the C++ Lifetime profile checker.
  • Configure los proyectos de CMake con el nuevo Editor de configuración de CMake, que ofrece una alternativa a CMakeSettings.json.Configure your CMake projects using the new CMake Settings Editor, which provides an alternative to CMakeSettings.json.
  • Pruebe un sinfín de mejoras de back-end, como por ejemplo, vectorización de OpenMP SIMD, aumentos de velocidad de tiempo de vínculo y una inclusión entre líneas más agresiva.Try out a host of backend improvements including OpenMP SIMD vectorization, link-time speedups, and more aggressive inlining.
  • Abra las memorias caché de CMake existentes generadas por herramientas externas, como CMakeGUI, o por sistemas de compilación de metadatos personalizados.Open existing CMake caches generated by external tools, such as CMakeGUI, or customized meta-build systems.
  • Mejore el análisis con /Qspectre para proporcionar asistencia de mitigación en Spectre Variant 1 (CVE-2017-5753).Improve analysis with /Qspectre for providing mitigation assistance for Spectre Variant 1 (CVE-2017-5753). Para obtener más información, consulte la publicación del blog del equipo de Visual C++.For more information, see the Visual C++ Team Blog post.
  • Cambie rápidamente entre los argumentos de ejemplo anterior, ahora que la barra de plantilla para la plantilla IntelliSense tiene una lista desplegable de Usados recientemente.Quickly switch between your previous sample arguments now that the Template Bar for Template IntelliSense has a Most Recently Used dropdown.
F#F#
  • F# 4.6 se ha publicado junto con otras mejoras del compilador.F# 4.6 is released, along with various other compiler improvements.
  • Se ha mejorado el rendimiento de las soluciones más grandes y se han corregido varios errores en F# y sus herramientas.Experience performance improvements for larger solutions and various bug fixes for F# and the F# tools.
  • Obtenga información sobre el impresionante trabajo realizado por los colaboradores de código abierto para el lenguaje y las herramientas F#.Learn about some of the awesome work done by open source contributors to the F# language and tools.
JavaScript/TypeScriptJavaScript/TypeScript
PythonPython
  • Agregue fácilmente entornos virtuales y de conda de Python mediante el cuadro de diálogo Agregar entorno de Python.Easily add Python virtual and conda environments using the Python Add Environment dialog.
  • Trabaje de manera más sencilla con entornos de Python, incluida la compatibilidad mejorada con áreas de trabajo de carpeta abierta gracias a una nueva barra de herramientas del selector de entorno de Python.Work more easily with Python environments, including improved support for Open Folder workspaces using a new Python environment selector toolbar.
  • Cree sesiones de Visual Studio Live Share y colabore en código de Python con otros usuarios de Visual Studio.Create Visual Studio Live Share sessions and collaborate on Python code with other Visual Studio users.

Tecnologías webWeb Technologies

Herramientas de contenedorContainer Tools

  • Disfrute de una experiencia simplificada de proyecto único para las acciones de depuración e incluir en contenedor.Experience a more streamlined single project for containerizing and debugging.
  • Aproveche la compatibilidad adicional para depurar imágenes de Alpine e imágenes base adicionales.Make use of added support for debugging Alpine and additional base images.

Desarrollo móvil con XamarinMobile Development with Xamarin

Plataforma universal de Windows (UWP)Universal Windows Platform (UWP)

  • Conserve los comentarios, el espaciado, los espacios de nombres y otros cambios en el texto al realizar cambios desde el diseñador.Preserve comments, spacing, namespaces, and any other text changes when making edits from the designer. El diseñador de manifiesto de paquete ahora mantiene la fidelidad estricta con respecto a los cambios de xml en el archivo Package.appxmanifest.The package manifest designer now maintains strict fidelity to xml changes in the Package.appxmanifest file.
  • Use el proyecto Paquete de aplicación de Windows para proyectos de .NET Core para generar paquetes MSIX.Use the Windows Application Packaging project for .NET Core projects to produce MSIX packages.
  • Use el Asistente para crear paquetes para el envío directo a Microsoft Store.Use the Package Creation Wizard for direct Microsoft Store submissions.
  • La implementación en dispositivos con Windows Mobile ya no se admite en Visual Studio 2019.Deployment to Windows Mobile devices is no longer supported in Visual Studio 2019. Los intentos para implementar en un dispositivo Windows 10 Mobile producirán el siguiente error: "La implementación en dispositivos de Windows Mobile no se admite en Visual Studio de 2019".Attempts to deploy to a Windows 10 Mobile device will result in an error saying "Deployment to Windows Mobile devices is not supported in Visual Studio 2019". Si necesita seguir trabajando en una aplicación para dispositivos Windows 10 Mobile, continúe usando Visual Studio 2017.If you need to continue working on an application for Windows 10 Mobile devices, continue to use Visual Studio 2017.

SQL Server Data ToolsSQL Server Data Tools

  • Experimente unos SSDT y DacFX actualizados que ahora incluyen compatibilidad con la intercalación de UTF-8.Experience an updated SSDT and DacFX that now includes UTF-8 collation support.

Detalles de las novedades de Visual Studio 2019Details of What's New in Visual Studio 2019

InstalaciónInstall

  • Ahora puede elegir cómo instalar las actualizaciones de Visual Studio.You can now choose how to install Visual Studio updates. El modo predeterminado es "Descargar e instalar todo", que permite seguir usando Visual Studio mientras se descargan las actualizaciones.The default mode is ‘Download all, then install’ which allows you to continue using Visual Studio while updates are being downloaded. Tenga en cuenta que si selecciona "Descargar e instalar todo", tendrá que abrir el Instalador de Visual Studio y seleccionar Continuar para poder completar la instalación.Note that, if you select ‘Download all, then install’, you’ll need to finish up the installation by opening the Visual Studio Installer and selecting Continue.
  • Ahora las actualizaciones de Visual Studio se descargarán en segundo plano.Visual Studio updates will now be downloaded in the background. Estas descargas solo se producen cuando la máquina está inactiva.These downloads will occur only when your machine is idle. Cuando se completen las descargas, se mostrará una notificación en Visual Studio que indica que la descarga ya está lista para instalarse.When the downloads complete, you will get a notification inside Visual Studio that your download is now ready to install.
  • Ahora puede controlar el modo de instalación de las actualizaciones y si quiere descargarlas o no a través del menú Herramientas > Opciones, con solo cambiar la configuración en la página Actualizaciones de productos.You can now control your update installation mode and whether to download updates or not through the Tools > Options menu by changing the settings on Product Updates page.
Product Update Options
Opciones de actualización de productosProduct Update Options

Ventana de inicioStart window

La nueva ventana de inicio proporciona una experiencia de inicio simplificada para ayudar a acceder rápidamente al código al iniciar Visual Studio.The new start window provides a streamlined launch experience to help you quickly get to your code upon starting up Visual Studio.

  • Vea los proyectos y las carpetas recientes, y ábralos con un solo clic.View your recent projects and folders, and open them with a single click. Ancle y quite elementos de la lista mediante el menú contextual.Pin and remove items from the list through the context menu.
  • Clone o restaure código mediante el uso de cualquier dirección URL de git pública o privada, lo que también abrirá automáticamente la carpeta en el IDE.Clone or check out code by using any public or private git URL, which will also automatically open the folder in the IDE.
  • Inicie sesión, explore y clone o conéctese con un solo clic a los repositorios hospedados de Azure DevOps, o instale extensiones para otros hosts de control de código fuente para ver los repositorios que le pertenecen a usted y a su organización.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps or install extensions for other source control hosts to view repositories owned by you and your organization.
  • Examine su disco local o recurso compartido de red en busca de proyectos, soluciones o cualquier carpeta que contenga código, y ábralos en el IDE.Browse your local disk or network share for projects, solutions, or any folders containing code, and open them in the IDE.
  • Seleccione una plantilla de proyecto que le proporcione la técnica scaffolding de código para ayudarle a empezar a trabajar con un nuevo proyecto o solución.Select a project template that provides you with code scaffolding to help you get started with a new project or solution.
  • Busque plantillas de proyecto por título, descripción y etiquetas, o filtre los idiomas, las plataformas y los tipos de proyecto disponibles.Search for project templates by their title, description, and tags or filter through available languages, platforms, and project types. La lista predeterminada muestra todas las plantillas disponibles, mientras que en el panel izquierdo aparece una lista de las principales 10 plantillas de proyectos usadas recientemente, para un acceso rápido.The default list shows all available templates, while a list of your top 10 recently used project templates appears on the left pane for quick access. Un asistente de dos páginas le permite concentrarse en una decisión a la vez.A two-page wizard allows you to concentrate on one decision at a time.
Start window
Nueva experiencia de la ventana de inicioNew Start Window Experience

Shell y plataformaShell and platform

  • Detecte rápidamente qué versión de Visual Studio está abriendo y usando a través del nuevo y mejorado icono del producto.Quickly spot which version of Visual Studio you're opening and using via the new, improved product icon. El nuevo icono también es más visible contra una variedad de fondos.The new icon is also more visible against a variety of backgrounds.
  • Disfrute de una apariencia modernizada de Visual Studio con nuestro tema azul actualizado que proporciona una interfaz de usuario más limpia, a la vez que sigue cumpliendo nuestros estándares de accesibilidad.Experience a modernized look and feel of Visual Studio with our refreshed blue theme that gives you a cleaner user interface while still meeting our accessibility standards.
  • Vea más código gracias a los cambios que logran compacidad y recuperan espacio vertical en el IDE.See more of your code, through our changes that target compactness and reclaim vertical space in the IDE. Hemos combinado la barra de título y la barra de menús, a la vez que conservan también la funcionalidad existente.We have combined the title bar and the menu bar while also preserving existing functionality.
  • Use Visual Studio como una aplicación de reconocimiento por monitor por medio de una nueva configuración experimental.Use Visual Studio as a Per-Monitor Awareness application through a new, experimental setting. Cuando esta configuración está activada, permite que partes de Visual Studio, como el editor y el shell, tengan una representación más nítida, independientemente de la configuración de visualización o el escalado.When on, this setting helps parts of Visual Studio, such as the shell and the editor, render more sharply regardless of your display configuration and/or scaling.
  • Disfrute de una experiencia de búsqueda mejorada entre los menús, comandos, opciones y componentes instalables.Experience an enhanced search experience across menus, commands, options, and installable components. Nuestra nueva búsqueda ahora muestra resultados de forma dinámica, tiene en cuenta los errores ortográficos y proporciona la información pertinente (por ejemplo, los métodos abreviados de teclado) dentro de los resultados de búsqueda.Our new search now displays results dynamically, accommodates spelling errors, and provides relevant information (such as keyboard shortcuts) inside the search results.
Visual Studio Search with results
Búsqueda mejorada en Visual StudioEnhanced Search in Visual Studio
  • Vea la información de estado asociada con el archivo abierto actualmente a través de la característica de indicador de estado del documento.View health information associated with your currently open file through the Document Health Indicator feature.
Document Health Indicator
Indicador de estado del documento: error en el documentoDocument Health Indicator - issue in document
Document Health Indicator
Indicador de estado del documento: ningún problemaDocument Health Indicator - no issues
  • Si es desarrollador de C#, puede limpiar rápidamente algunas de las sugerencias de codificación más comunes mediante Limpieza de código.If you are a C# developer, you can quickly clean up some of the most common coding suggestions using Code Cleanup.
  • Seleccione el conjunto de reparadores que le gustaría que se ejecutaran mediante la configuración de Limpieza de código.Select the set of fixers you'd like to have run by configuring Code Cleanup.
Code Cleanup configuration dialog
Configuración de Limpieza de códigoConfigure Code Cleanup
  • Vea el contenido del historial del Portapapeles a través de un menú contextual que extiende el Anillo del Portapapeles (Ctrl + Mayús + V).See the contents of your clipboard history via a context menu that extends the Clipboard Ring (Ctrl + Shift + V).
Clipboard Ring context menu
Menú contextual del Anillo del PortapapelesClipboard Ring Context Menu
  • Hemos mejorado la experiencia de búsqueda al:We've improved your search experience by:
    • Agregar filtros para los menús, los componentes y las plantillasAdding filters for Menus, Components, and Templates
    • Incorporar las selecciones de búsqueda para ofrecer los resultados de búsqueda más relevantesIncorporating your search selections to give you the most relevant search results
    • Permitir crear y agregar nuevos proyectos y elementos a la solución directamente desde la búsqueda de Visual StudioEnabling you to create and add new projects/items to your solution directly from Visual Studio Search
  • La experiencia mejorada de Reconocimiento por monitor (PMA) ahora está activada de forma predeterminada para los usuarios que cumplan el conjunto mínimo de requisitos (.NET 4.8 Preview y Windows 10 actualización de abril de 2018 o posterior).The improved Per-Monitor Awareness (PMA) experience is now turned on by default for users that meet the minimum set of requirements (.NET 4.8 Preview & and Windows 10 April 2018 Update or newer). Las ventanas de herramientas, como el cuadro de herramientas, los puntos de interrupción, la inspección, las variables locales, la configuración automática y la pila de llamadas se han convertido a PMA y se representan de forma más clara, independientemente de la configuración de presentación o escalado.Tool windows such as Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack have been converted to PMA and thus render sharply regardless of your display configuration and/or scaling.
  • La nueva experiencia de notificaciones agrega:A new notification experience adds:
    • Un nuevo icono y contador en la barra de estadoA new icon and counter experience to the status bar
    • Un nuevo mecanismo de notificaciones del sistemaA new toast notification mechanism
    • Notificaciones de expiración de licencias de Actualizaciones de Visual Studio y Visual StudioVisual Studio Updates & Visual Studio licensing expiration notifications
  • Se trata de una experiencia revisada del tema azul que tiene en cuenta los comentarios de usuarios y reduce la luminosidad para mejorar el contraste, además de solucionar otros problemas de uso.A revised Blue theme experience that addresses feedback by dialing down the luminosity, improving contrast and addressing other usability issues.
  • Capacidad mejorada de arrastre de ventanas aprovechando el espacio libre disponible en la región de la barra de herramientas como una región a la que se puede arrastrar.Enhanced window-dragging capabilities by leveraging available free space in the toolbar region as a draggable region.
  • Ahora puede guardar una colección de reparadores de limpieza de código como un perfil para seleccionar rápidamente el conjunto de reparadores que quiere ejecutar durante la limpieza del código.You can now save a collection of Code Cleanup fixers as a profile so you can quickly select the set of fixers you want run during Code Cleanup.
Visual Studio Code Cleanup Profiles
Perfiles de limpieza de Visual Studio CodeVisual Studio Code Cleanup Profiles
  • Hemos agregado etiquetas en el cuadro de diálogo Extensiones y actualizaciones que permitirán a los usuarios conocer rápidamente si una extensión está en versión preliminar, es de pago o se encuentra en un período de evaluación.We've added tags in the Extensions and Updates dialog to help you quickly understand whether an extension is in Preview, is a Paid extension, or is in a Trial period.
Extensions and Updates dialogs with tags
Cuadro de diálogo Extensiones y actualizaciones con etiquetasExtensions and Updates dialogs with tags
  • La manera recomendada de implementar información sobre herramientas de datos en Visual Studio 2019 y versiones posteriores es ahora IAsyncQuickInfoSourceProvider.The recommended way to implement data tooltips in Visual Studio 2019 and later is now IAsyncQuickInfoSourceProvider. Las API heredadas Información rápida del Editor IVsTextTipData y TextTipData están en desuso en Visual Studio 2019 Preview 1.Legacy Editor Quick Info APIs IVsTextTipData and TextTipData are deprecated in Visual Studio 2019 Preview 1.
  • Las etiquetas inteligentes del Editor (familia de interfaces ISmartTag* en el espacio de nombres Microsoft.VisualStudio.Language.Intellisense) han quedado en desuso en favor de la API Bombilla y ya no se admiten a partir de Visual Studio 2019 Preview 1.The Editor Smart Tags (ISmartTag* family of interfaces in Microsoft.VisualStudio.Language.Intellisense namespace) have been deprecated in favor of the LightBulb API and are no longer supported starting with Visual Studio 2019 Preview 1.
  • Las opciones de la solución Mostrar configuraciones de compilación avanzadas, Mostrar solución siempre y Guardar nuevos proyectos al crearlos se han quitado debido a su bajo uso.The solution options Show advanced build configurations, Always show solution, and Save new projects when created have been removed due to low usage. Estos valores se han establecido en su valor predeterminado de Verdadero.These values have been set to their default value of True.
  • Opte por recibir o no ciertas características de vista previa mediante la nueva página Características de vista previa que se encuentra en Herramientas > Opciones > Entorno > Características de vista previa.Opt in or out of certain preview features using the new Preview Features page found in Tools > Options > Environment > Preview Features.

RendimientoPerformance

  • Hemos agregado un nuevo acceso directo a Compilar selección para carpetas y soluciones: Ctrl + B.We have added a new shortcut for Build Selection for folders and solutions: Ctrl + B.
  • Abra rápidamente soluciones de gran tamaño cargando la solución con todos los proyectos descargados.Quickly open large solutions by loading your solution with all projects unloaded. No se cargan los proyectosDo not load projects
  • Elija qué proyectos cargar en la solución abierta con los archivos de filtro de la solución.Choose which projects to load on solution open with Solution Filter Files.
    • Cree un archivo de filtro de la solución descargando los proyectos que no quiere que se abran automáticamente, haciendo clic con el botón derecho en la solución y seleccionando Guardar como filtro de soluciones.Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. A continuación, puede usar el archivo de filtro para abrir la solución para usos posteriores.You can then use the filter file to open the solution for subsequent uses. Filtros de la soluciónSolution filters
  • Hemos agregado un comando para compilar todos los archivos CMake: Ctrl + Mayús + B.We have added a command to Build All for CMake files: Ctrl + Shift + B.
  • Hemos mejorado el rendimiento de IntelliSense en archivos de C++ en proyectos de CMake.We've improved IntelliSense performance in C++ files in CMake projects.
  • Hemos agregado un comando para cargar dependencias de proyectos sin cargar en los menús contextuales de proyectos y soluciones.We've added a command to load unloaded project dependencies to the project and solution context menus.
  • Las sugerencias de notificación para mejorar el rendimiento de Visual Studio ahora se conservan en el centro de rendimiento, al que se accede a través de Ayuda > Administrar el rendimiento de Visual Studio.Notification tips to improve performance of Visual Studio are now persisted in the performance center, accessible via Help > Manage Visual Studio Performance.
  • Ahora puede ver el progreso de carga de la solución en el Centro de estado de tareas, así como las alertas cuando finalizan las cargas de la solución.You can now see your solution load progress in the Task Status Center, as well as alerts when your solution loads finish.
  • Elija qué proyectos cargar en la solución abierta con los archivos de filtro de la solución.Choose which projects to load on solution open with Solution Filter Files.
    • Cree un archivo de filtro de la solución descargando los proyectos que no quiere que se abran automáticamente, haciendo clic con el botón derecho en la solución y seleccionando Guardar como filtro de soluciones.Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. A continuación, puede usar el archivo de filtro para abrir la solución para usos posteriores.You can then use the filter file to open the solution for subsequent uses.
  • Experiencia mejorada para detección de recursos y búsqueda de archivos al usar Ctrl+T en escenarios de Abrir carpeta.Experience improved build asset discovery and file search when you Ctrl+T in Open Folder scenarios.
  • Verá mejoras de rendimiento ahora que el editor de Visual Studio limitará el impacto de los componentes auxiliares en el rendimiento de la escritura.Notice performance improvements now that the Visual Studio editor will limit the impact of auxiliary components on typing performance. En particular, cancelará automática las operaciones de larga ejecución, que no sean esenciales al escribir.Particularly, it will auto-cancel any long-running, nonessential operations when typing.
  • Puede configurar el comportamiento de limitación de los componentes auxiliares de Visual Studio en Herramientas > Opciones > Editor de texto > Opciones avanzadas:You can configure the Visual Studio auxiliary component limitation behavior via Tools > Options > Text Editor > Advanced:
Visual Studio Typing Latency Options
Opciones de latencia de escritura de Visual Studio Visual Studio Typing Latency Options
  • Ahora puede deshabilitar la restauración del estado de jerarquía del proyecto de la sesión anterior en la ventana de herramientas del Explorador de soluciones.You can now disable the restoration of the project hierarchy state from the previous session in the Solution Explorer tool window. Este cambio se ha implementado porque la restauración de la jerarquía del proyecto de la sesión anterior en la apertura de la solución puede retrasar la carga de solución.We implemented this change because restoring the project hierarchy from previous session at solution open can delay solution load.
    • Alterne esta opción en Herramientas > Opciones > Proyectos y soluciones > General.Toggle this option in Tools > Options > Projects and Solutions > General.
Solution load restore settings
Configuración de la restauración de la carga de solucionesSolution load restore settings
\* Ahora puede deshabilitar la restauración del estado de la ventana de herramientas de la sesión anterior y, en su lugar, cargar siempre el Explorador de soluciones y Team Explorer en el inicio.\* You can now disable the restoration of the tool window's state from the previous session and instead always load Solution Explorer and Team Explorer at startup. Este cambio se ha implementado porque restaurar las ventanas de herramientas de sesiones anteriores puede retrasar la carga de las soluciones en el inicio.This change was implemented because restoring tool windows from previous sessions can delay solution loads at startup. \* Alterne esta opción en **Herramientas > Opciones > Entorno > Inicio**.\* Toggle this option in **Tools > Options > Environment > Startup**.

Depuración y diagnóstico generalGeneral Debugging and Diagnostics

Depuración generalGeneral Debugging
  • Resalte, busque y navegue con palabras clave con nuestra nueva característica de búsqueda que se ha integrado en las ventanas Inspección, Automático y Variables locales.Highlight, find, and navigate with keywords using our new search feature that we integrated into the Watch, Autos, and Locals windows.
Searching for keywords in Watch
Búsqueda en la ventana InspecciónSearching in the Watch Window
  • Vea una lista desplegable de especificadores y opciones para dar formato a datos en las ventanas Inspección, Automático y Variables locales mediante la anexión de una coma para un elemento de lista.View a dropdown of specifiers and options to format data in the Watch, Autos, and Locals windows by appending a comma to a listed item.
Format Specifier Dropdown List in Watch
Lista desplegable del especificador de formato en la ventana InspecciónFormat Specifier Dropdown in Watch Window
  • Ahora puede usar compatibilidad personalizada y de Visualizador del conjunto de datos para .NET Core.You can now use custom and DataSet visualizer support for .NET Core.
DataSet Visualizer for .NET Core
Visualizador de conjuntos de datos para aplicaciones de .NET CoreDataSet Visualizer for .NET Core applications
  • Para aplicaciones de C++ que se ejecutan en Windows, PDB ahora se carga en un proceso independiente de 64 bits.For C++ applications running on Windows, PDB now load in a separate 64-bit process. Este cambio soluciona una variedad de bloqueos provocados por memoria insuficiente del depurador al depurar aplicaciones que contienen un gran número de módulos y archivos PDB.This change addresses a range of crashes caused by the debugger running out of memory when debugging applications that contain a large number of modules and PDBs.
Puntos de interrupción de datos administradosManaged data breakpoints

Ahora puede usar puntos de interrupción de datos, una característica inicialmente exclusiva de C++, para realizar una interrupción cuando el valor de una propiedad de un objeto específico cambie en aplicaciones .NET Core 3.0 versiones y posteriores.You can now break when a specific object's property value changes in .NET Core (3.0 or higher) applications using data breakpoints, a feature that was originally exclusive to C++. Se trata de una buena alternativa a la práctica de colocar simplemente un punto de interrupción en un establecedor de una propiedad, dado que un punto de interrupción de datos puede centrarse en una propiedad específica de un objeto, incluso cuando está fuera del ámbito, mientras que la opción anterior puede suponer interrupciones constantes e irrelevantes si hay cientos de objetos llamando a esa función.They are a great alternative to simply placing a breakpoint on a property's setter because a data breakpoint can focus on a specific object's property even when it's out of scope, whereas the former option may result in constant, irrelevant breaks if you have hundreds of objects calling that function.

Data breakpoints for .NET Core
Puntos de interrupción de datos en la aplicación de .NET CoreData breakpoints in .NET Core application
Actualizaciones de la experiencia de usuario al realizar búsquedas en la ventana InspecciónWatch window Search UX Updates

Hemos actualizado la interfaz de usuario para realizar búsquedas en las ventanas Automático, Locales e Inspección con una interfaz más sencilla.We have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. La función Profundizar la búsqueda se ha convertido en un desplegable en el que se puede seleccionar rápidamente la profundidad deseada para las búsquedas inicial y posteriores.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Aplicación de preferencias de estilo del código Apply code style preferences
  • Ahora puede aplicar las preferencias de estilo de código desde la línea de comandos con la herramienta global dotnet format.You can now apply code style preferences from the command-line with the dotnet format global tool. Para su instalación, necesitará el SDK de .NET Core 2.1 o posterior.To install, you will need .NET Core 2.1 SDK or later. Ejecute el comando siguiente en su terminal favorito: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10Run the following command in your favorite terminal: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Ejecute dotnet format desde la línea de comandos.Run dotnet format from the command-line.

ExtensibilidadExtensibility

  • Ya no podrá instalar las extensiones creadas con el formato de extensión vsixmanifest V1 en Visual Studio 2019.You will no longer be able to install extensions built with the V1 vsixmanifest extension format in Visual Studio 2019. V1 se introdujo en Visual Studio 2010 y ha quedado en desuso en Visual Studio 2017, ya que podía causar problemas de confiabilidad con Visual Studio.V1 was introduced in Visual Studio 2010 and was deprecated in Visual Studio 2017 because it could cause reliability issues with Visual Studio. En Visual Studio 2019, se quitó completamente la compatibilidad con V1.In Visual Studio 2019, the support for V1 has been completely removed. Las extensiones destinadas a Visual Studio 2019 deben ser V2 o V3 regeneradas del formato vsixmanifest.Extensions targeting Visual Studio 2019 should be rebuilt V2 or V3 of the vsixmanifest format.
  • Ahora se le notificará cuando una extensión se cargue automáticamente de forma sincrónica.You will now be notified when an extension is synchronously auto-loaded. Tenga en cuenta que la extensión se cargará y funciona de manera normal en esta versión, pero se corre el riesgo de no funcionar en la próxima actualización de Visual Studio 2019.Note, the extension will load and work as normal in this release, but is at risk of not functioning in the next Visual Studio 2019 update. Para más información, consulte nuestra publicación de blog sobre la mejora de la capacidad de respuesta de escenarios críticos mediante la actualización del comportamiento de carga automática de las extensiones.More details can be found on our blog post about improving the responsiveness of critical scenarios by updating auto load behavior for extensions.
Paquete NuGet de SDK unificadoUnified SDK NuGet package

En el pasado, los creadores de extensiones debían realizar muchas referencias independientes a los distintos paquetes NuGet del SDK de Visual Studio que necesitaban para usar en su extensión.In the past, extension authors had to make many separate references to the individual NuGet packages of the Visual Studio SDK they needed to use in their extension. Las versiones de los distintos paquetes no siempre estaban alineadas y, a menudo, eso daba lugar a conflictos de dependencia en tiempo de compilación, así como a problemas en tiempo de ejecución.The versions of the various packages weren't always aligned and that often resulted in dependency conflicts at compile time as well as runtime issues.

Para solucionar estos problemas, use el nuevo paquete denominado Microsoft.VisualStudio.SDK que contiene las dependencias en todos los paquetes que componen el SDK de Visual Studio.To solve these issues, use a new package called Microsoft.VisualStudio.SDK which contains dependencies on all the packages that make up the Visual Studio SDK. Esto resuelve el problema de las discrepancias de versión y, además, facilita saber la versión que debe usarse.It solves the issue of version mismatches as well as makes it easy to know which version to use. Basta con usar la versión del paquete que se corresponde con la versión más antigua de Visual Studio admitida por su extensión, y tendrá acceso a todo el SDK.Simply use the version of the package that corresponds to the lowest version of Visual Studio your extension supports and you will have access to the entire SDK.

En este momento solo existe la versión 15.9 del paquete del SDK, pero en los próximos meses se publicarán más versiones hasta la 14.0.Right now, only version 15.9 of the SDK package exists, but more will be released in the months to come all the way to version 14.0.

Plantillas de proyecto nuevas y actualizadasNew and updated project templates

La plantilla Proyecto de VSIX se ha sometido a varias actualizaciones para simplificarla y mejorarla:The VSIX Project template has gone through multiple updates to simplify it and make it better:

  • se usa el nuevo paquete NuGet de SDK unificado;Uses the new, unified SDK NuGet package
  • incluye una clase AsyncPackage;Includes an AsyncPackage class
  • ya no requiere un archivo .resx para compilar un paquete;No longer requires a .resx file to compile a package
  • tiene como destino .NET Framework 4.7.2.Targets .NET Framework 4.7.2

Se ha creado una plantilla nueva llamada Proyecto VSIX vacío que es igual que la plantilla Proyecto de VSIX, pero sin la clase AsyncPackage.A new Empty VSIX Project template has been created and it is the same as the VSIX Project template but without the AsyncPackage class. También hace referencia al paquete NuGet de SDK unificado, lo que proporciona un buen punto de partida para las extensiones MEF y otros tipos de extensión sin paquete.It also references the unified SDK NuGet package providing a good starting point for MEF extensions and other package-less extension types.

Gratis, de pago y de pruebaFree/Paid/Trial

No era fácil ver si una extensión era gratis, de pago o de prueba.There hasn't been an easy way to see if an extension was marked as free, paid, or a trial. Esto ahora ha cambiado y, dentro del cuadro de diálogo Extensiones y actualizaciones, se marca claramente si cada una de las extensiones es de prueba o de pago.This now changes so that inside the Extensions and Updates dialog, each extension that is either a trial or paid will be marked clearly as such. Las extensiones que no tienen una etiqueta de versión de prueba o de pago son gratuitas.Extensions that don't have a trial/paid label are free.

Herramientas de pruebasTesting tools

Se han agregado a la lista de características obsoletas varias API más en la ventana de prueba que antes no estaban documentadas pero estaban marcadas como públicas.Additional APIs in the Test Window that were previously undocumented but marked as public have been added to the deprecation list.

Control de código fuenteSource Control

  • Almacene los cambios temporalmente para poder trabajar en otra tarea con la compatibilidad de herramientas Git de Team Explorer para el guardado provisional de Git.Temporarily store changes so you can work on another task now that Team Explorer's Git tools support Git stash.
  • Revise, ejecute e, incluso, depure las solicitudes de incorporación de cambios desde Azure Repos sin salir del IDE mediante nuestra experiencia de solicitud de incorporación de cambios completamente nueva en Visual Studio 2019.Review, run, and even debug pull requests from Azure Repos without leaving the IDE using our brand-new pull request experience in Visual Studio 2019. Para empezar, puede descargar la extensión Pull Requests for Visual Studio de Visual Studio Marketplace.To get started, you can download the Pull Requests for Visual Studio extension from the Visual Studio Marketplace.
New Pull Request Experience
Nueva experiencia de solicitud de incorporación de cambiosNew Pull Request Experience

MSBuildMSBuild

  • La versión del conjunto de herramientas de MSBuild ha cambiado de 15.0 a Current.The MSBuild toolset version has been changed from 15.0 to Current. MSBuild.exe ahora está en %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.MSBuild.exe is now in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (y Visual Studio) ahora tiene como destino .NET Framework 4.7.2.MSBuild (and Visual Studio) now targets .NET Framework 4.7.2. Si quiere usar las nuevas características de API de MSBuild, también debe actualizar el ensamblado, pero el código existente seguirá funcionando.If you wish to use new MSBuild API features, your assembly must also upgrade, but existing code will continue to work.

C#C#

Para todas las versiones anteriores a Visual Studio 2019, el valor predeterminado de versión de lenguaje de C# siempre era equivalente a la versión principal más reciente.For every release prior to Visual Studio 2019, the default C# language version was always equivalent to Latest Major. En Visual Studio 2017, C# evolucionó y se publicaron tres versiones secundarias: 7.1, 7.2 y 7.3.In Visual Studio 2017, C# evolved and released three minor versions: 7.1, 7.2, and 7.3. Pero los nuevos proyectos seguían teniendo como valor predeterminado C# 7.0.However, new projects were still defaulting to C# 7.0. Esto resultaba frustrante para los desarrolladores de C# que querían utilizar las nuevas características, pero tenían que cambiar manualmente la versión de idioma para cada nuevo proyecto.This proved frustrating for C# developers who wanted to use new features, but had to manually change the language version for each new project.

Para solucionar este problema, el valor predeterminado de versión de lenguaje de C# estará determinado por su plataforma de destino:To address this problem, the default C# language version is determined by its target framework:

  • Si tiene como destino la versión preliminar de .NET Core 3.0, la versión de lenguaje de C# será la versión preliminar de C# 8.0.If you are targeting .NET Core 3.0 preview, the C# language version will be C# 8.0 Preview.
  • Si tiene como destino .NET Framework o cualquier versión que no sea preliminar de .NET Core, la versión del lenguaje de C# será C# 7.3.If you are targeting .NET Framework or any non-preview of .NET Core, the C# language version will by C# 7.3.

Esto permite el uso de las características de lenguaje de C# estables más recientes de forma predeterminada y, cuando se usan versiones preliminares de .NET Core, el uso de las características de lenguaje de versión preliminar de C# 8.0 que se alinean con la Versión preliminar de .NET Core 3.0.This allows the use of the latest stable C# language features by default, and when using .NET Core previews, the use of C# 8.0 preview language features that align with .NET Core 3.0 Preview.

Si especifica una versión de lenguaje a través de LangVersion en un archivo de propiedades o proyecto, esa versión de lenguaje invalida el valor predeterminado descrito anteriormente.If you specify a language version via LangVersion in a project or props file, that language version overrides the previously described default.

C++C++

  • Colabore en tiempo real ahora que Visual Studio Live Share admite C++.Collaborate in real time now that Visual Studio Live Share supports C++.
  • Ahorre tiempo al usar IntelliCode, una extensión opcional que usa su amplio aprendizaje y su contexto de código para colocar lo que es más probable que use en la parte superior de la lista de finalización.Save time by by using IntelliCode, an optional extension that uses its extensive training and your code context to put what you're most likely to use at the top of your completion list. Para C++, IntelliCode ofrece más ayuda al usar bibliotecas populares, como STL.For C++, IntelliCode offers the most help when you are using popular libraries like STL.
  • Hemos modificado varios nombres y descripciones de plantilla de proyecto para que quepan en el cuadro de diálogo Nuevo proyecto actualizado.We have modified several project template names and descriptions to fit with the updated New Project dialog.
  • Hemos quitado el componente experimental Clang/C2.We have removed the Clang/C2 experimental component. Use el conjunto de herramientas MSVC para un cumplimiento total de los estándares de C++ con /permissive- o /std:c++17 o la cadena de herramientas Clang/LLVM para Windows.Use the MSVC toolset for full C++ standards conformance with /permissive- and/or /std:c++17, or the Clang/LLVM toolchain for Windows. Consulte el blog del equipo de Visual C++ para obtener más detalles.See the Visual C++ Team Blog for more details.
  • El conmutador /Gm del Compilador de C++ está en desuso.We have deprecated the C++ Compiler /Gm switch. Considere la posibilidad de deshabilitar el conmutador /Gm en los scripts de compilación si se define explícitamente.Consider disabling the /Gm switch in your build scripts if it's explicitly defined. Como alternativa, también puede ignorar de manera segura la advertencia de desuso de /Gm, ya que no se tratará como error cuando use "Tratar advertencias como errores" (/WX).Alternatively, you can also safely ignore the deprecation warning for /Gm as it will not be treated as error when using "Treat warnings as errors" (/WX).
  • La experiencia Android de C++ ahora toma como valor predeterminado el Android SDK 25 y el Android NDK 16b.The C++ Android experience now defaults to Android SDK 25 and Android NDK 16b.
Productividad Productivity
  • El análisis de código ahora se ejecuta automáticamente en segundo plano.Code analysis now runs automatically in the background. Las advertencias se muestran como líneas verdes onduladas dentro del editor a medida que escribe.Warnings display as green squiggles in-editor as you type.
  • Ahora, la barra de plantillas usa la interfaz de usuario de ventana de inspección en lugar de una ventana modal, admite plantillas anidadas y rellena los argumentos predeterminados en la ventana de inspección.The Template Bar now utilizes the Peek Window UI rather than a modal window, supports nested templates, and prepopulates any default arguments into the Peek Window.
  • Una corrección automática para la advertencia de análisis de código NULL->nullptr (C26477 USE_NULLPTR_NOT_CONSTANT) está disponible a través del menú de bombilla en las líneas pertinentes, habilitado de forma predeterminada en el conjunto de reglas de tipo de C++ Core Check.An automatic fix-it for the NULL->nullptr code analysis warning (C26477 USE_NULLPTR_NOT_CONSTANT) is available via the lightbulb menu on relevant lines, enabled by default in the C++ Core Check Type Rules ruleset. Las correcciones rápidas adicionales en el IDE incluyen la adición de directivas #include que faltan, la corrección de puntos y comas que faltan y la corrección del uso de "*" frente a "&".Additional quick fixes in the IDE include adding missing #include directives, fixing missing semicolons, and fixing incorrect uses of '*' versus '&'.
  • Los encabezados precompilados ya no se generan de forma predeterminada para la consola de C++ y las aplicaciones de escritorio.Precompiled headers are no longer generated by default for C++ console and desktop apps.
  • Ir a definición ahora funciona en directivas #include y abre el archivo correspondiente.Go to Definition now works on #include directives, opening the corresponding file. Esto incluye el método abreviado F12, que proporciona una manera sencilla de navegar por el código.This includes the F12 shortcut, providing an easy way to navigate around your code.
  • Si mantiene el mouse sobre una llave de cierre de un bloque de código, se muestra información útil sobre el contexto de ese bloque.Hovering over a closing brace of a code block provides some helpful information about the context of that block.
  • Hemos agregado compatibilidad en ConcurrencyChecker para tipos conocidos de STL desde el encabezado <mutex>.We've added support in ConcurrencyChecker for well-known STL types from the <mutex> header.
  • Una implementación parcial actualizada de Comprobador de perfil de duración está disponible para detectar punteros y referencias pendientes.An updated partial implementation of the Lifetime profile checker is available for detecting dangling pointers and references.
  • Hemos agregado compatibilidad inicial en el compilador para el operador C++20 <=> ("nave espacial") para la comparación de tres vías.We've added initial support in the compiler for the C++20 operator <=> ("spaceship") for three-way comparison.
CMake CMake
  • Hemos mejorado el rendimiento de IntelliSense para archivos de C++ en proyectos de CMake.We've improved performance of IntelliSense for C++ files in CMake projects.
  • Visual Studio impulsa el desarrollo en C++ mediante CMake en Linux, ya que detecta si tiene una versión compatible de CMake en su equipo Linux.Visual Studio helps bootstrap your C++ development with CMake on Linux by detecting if you have a compatible version of CMake on your Linux machine. Si no la tiene, ofrece la posibilidad de instalarla automáticamente.If not, it offers to install it for you.
  • El Editor de configuración de CMake supone una alternativa a CMakeSettings.json y comparte ciertas similitudes con CMakeGUI.The CMake Settings Editor provides an alternative to CMakeSettings.json and provides some parity with CMakeGUI.
  • Se ha quitado el menú de CMake y se ha reorganizado para ofrecer una paridad más próxima a los proyectos y soluciones.The CMake menu has been removed and reorganized for closer parity with projects and solutions.
  • Las opciones de configuración que son incompatibles en CMakeSettings, como las arquitecturas no coincidentes o la configuración incompatible del generador de CMake, se muestran con subrayado ondulado en el editor de JSON y se incluyen los errores en Lista de errores.Incompatible settings in CMakeSettings, such as mismatched architectures or incompatible CMake generator settings, show squiggles in the JSON editor and errors in the Error List.
  • La cadena de herramientas de vcpkg se detecta automáticamente y se habilita para los proyectos de CMake que se abren en el IDE una vez que vcpkg integrate install se ha ejecutado.The vcpkg toolchain is automatically detected and enabled for CMake projects that are opened in the IDE once vcpkg integrate install has been run. Se puede desactivar este comportamiento si se especifica un archivo de cadena de herramientas vacío en CMakeSettings.This behavior can be turned off by specifying an empty toolchain file in CMakeSettings.
  • Los proyectos de CMake ahora habilitan la depuración de Solo mi código de forma predeterminada.CMake projects now enable Just My Code debugging by default.
  • Las advertencias de análisis estático ahora se pueden procesar en segundo plano y mostrarse en el editor de proyectos de CMake.Static analysis warnings can now be processed in the background and displayed in the editor for CMake projects.
  • Se han agregado mensajes más claros de inicio y final de la compilación y la configuración de proyectos de CMake y compatibilidad con la interfaz de usuario de progreso de compilación de Visual Studio.We've added clearer build and configure 'begin' and 'end' messages for CMake projects and support for Visual Studio's build progress UI. Además, ahora hay una opción de configuración de nivel de detalle de CMake en Herramientas > Opciones para personalizar el nivel de detalle de los mensajes de compilación y configuración de CMake en la ventana de salida.Additionally, there is now a CMake verbosity setting in Tools > Options to customize the detail level of CMake build and configuration messages in the Output Window.
  • Ahora se admite la opción "cmakeToolchain" en CMakeSettings para especificar cadenas de herramientas sin tener que modificar manualmente la línea de comandos de CMake.The 'cmakeToolchain' setting is now supported in CMakeSettings to specify toolchains without manually modifying the CMake command line.
Back-end Backend
  • Hemos implementado mejoras de rendimiento de compilación, incluido el tratamiento del enlazador de E/S de archivos y el tiempo de vínculo en la creación y la combinación de tipos de PDB.We've implemented build throughput improvements, including the linker's handling of File I/O and link time in PDB type merging and creation.
  • Hemos agregado compatibilidad básica para la vectorización de OpenMP SIMD.We've added basic support for OpenMP SIMD vectorization. Esta opción puede habilitarse con el nuevo modificador de CL, -openmp:experimental.This can be enabled with the new CL switch -openmp:experimental. Esto permite vectorizar potencialmente los bucles anotados con “#pragma omp simd”.This allows loops annotated with “#pragma omp simd” to potentially be vectorized. No se garantiza la vectorización y se genera una advertencia con los bucles anotados pero sin vectorizar.The vectorization is not guaranteed, and loops annotated but not vectorized will get a warning reported. Si no se admiten cláusulas SIMD, simplemente se omitirán y se notificará una advertencia.If no SIMD clauses are supported, they will simply be ignored and a warning will be reported.
  • Hemos agregado un nuevo modificador de línea de comandos de inserción, -Ob3, que es una versión más agresiva de -Ob2.We've added a new inlining command line switch -Ob3, which is a more aggressive version of -Ob2. -O2 (optimizar el binario para acelerar el proceso) todavía implica -Ob2 de manera predeterminada; si considera que el compilador realiza inserciones de forma deficiente, considere la posibilidad de pasar -O2 -Ob3.-O2 (optimize the binary for speed) still implies -Ob2 by default; if you find the compiler is under-inlining, consider passing -O2 -Ob3.
  • Para admitir la vectorización manual de bucles que contienen llamadas a funciones de la biblioteca matemática y otras operaciones, como la división de enteros, hemos agregado compatibilidad con funciones intrínsecas de la biblioteca matemática de vectores cortos (SVML) que calculan los equivalentes de vectores de 128 bits, 256 bits o 512 bits.To support hand vectorization of loops containing calls to math library functions and certain other operations like integer division, we've added support for Short Vector Math Library (SVML) intrinsic functions that compute the 128-bit, 256-bit or 512-bit vector equivalents. Vea la Guía de funciones intrínsecas de Intel para las definiciones de las funciones admitidas.See the Intel Intrinsic Guide for definitions of the supported functions.
  • Optimizaciones nuevas y mejoradas:New and improved optimizations:
    • Simplificaciones aritméticos y plegado constante para las expresiones con funciones intrínsecas SIMD (vector), para formularios float e integerConstant-folding and arithmetic simplifications for expressions using SIMD (vector) intrinsics, for both float and integer forms
    • Un análisis más eficaz para extraer información de flujo de control (instrucciones if/else/switch) para quitar ramas que siempre se han demostrado ser true o falseA more powerful analysis for extracting information from control flow (if/else/switch statements) to remove branches always proven to be true or false
    • Despliegue mejorado de memset para usar instrucciones de vectores de SSE2Improved memset unrolling to use SSE2 vector instructions
    • Eliminación mejorada de copias de estructuras/clases inútiles, especialmente para los programas de C++ que pasan por valorImproved removal of useless struct/class copies, especially for C++ programs which pass by value
    • Optimización mejorada de código mediante memmove, como por ejemplo, la construcción de std::copy o std::vector y std::stringImproved optimization of code using memmove, such as std::copy or std::vector and std::string construction
Elementos obsoletos Deprecations
  • La plantilla de proyecto de prueba de C++ administrado ya no está disponible.The Managed C++ Test Project template is no longer available. Puede seguir usando el marco de pruebas de C++ administrado en los proyectos existentes pero, para las pruebas unitarias nuevas, considere la opción de usar uno de los marcos de prueba nativos para el que Visual Studio proporciona plantillas (MSTest, Google Test) o la plantilla de proyecto de prueba de C# administrado.You can continue using the Managed C++ Test framework in your existing projects but, for new unit tests, consider using one of the native test frameworks for which Visual Studio provides templates (MSTest, Google Test) or the Managed C# Test Project template.
  • Windows 8.1 SDK ya no está disponible en el instalador de Visual Studio.The Windows 8.1 SDK is no longer available in the Visual Studio installer. Actualice los proyectos de C++ al Windows 10 SDK más reciente.Please upgrade your C++ projects to the latest Windows 10 SDK. Si tiene una dependencia fuerte de 8.1, puede descargarlo desde el archivo de Windows SDK.If you have a hard dependency on 8.1, you can download it from the Windows SDK archive.
  • Ya no estará disponible Windows XP como opción de destino para el conjunto de herramientas de C++ más actualizado.Windows XP targeting will no longer be available for the latest C++ toolset. Se sigue admitiendo XP como destino con bibliotecas y el compilador de MSVC de nivel de VS 2017, y se puede instalar a través de "Componentes individuales".XP targeting with VS 2017-level MSVC compiler & libraries is still supported and can be installed via "Individual components".
  • En nuestra documentación se desaconseja encarecidamente el uso de módulos de combinación para la implementación en tiempo de ejecución de Visual C++.Our documentation actively discourages usage of Merge Modules for Visual C++ Runtime deployment. En esta versión hemos dado un paso extra para marcar nuestros MSM como en desuso.We are taking the extra step this release of marking our MSMs as deprecated. Considere la posibilidad de migrar la implementación central VCRuntime de MSM al paquete redistribuible.Consider migrating your VCRuntime central deployment from MSMs to the redistributable package.
  • Los siguientes asistentes de ATL/MFC de C++ ya no están disponibles: Asistente para componentes COM+ 1.0 de ATL, Asistente para componentes de páginas de Active Server de ATL, Asistente para proveedores OLE DB de ATL, Asistente para páginas de propiedades de ATL, Asistente para consumidores OLE DB de ATL, Consumidor de ODBC de MFC, clase MFC del control ActiveX y clase MFC de la biblioteca de tipos.The following C++ ATL/MFC wizards are no longer available: ATL COM+ 1.0 Component Wizard, ATL Active Server Pages Component Wizard, ATL OLE DB Provider Wizard, ATL Property Page Wizard, ATL OLE DB Consumer Wizard, MFC ODBC Consumer, MFC class from ActiveX control, and MFC class from Type Lib. El código de ejemplo para estas tecnologías se archiva en Microsoft Docs y el repositorio VCSamples de GitHub.Sample code for these technologies is archived at Microsoft Docs and the VCSamples GitHub repository.

F#F#

Las mejoras de F# en Visual Studio 2019 se encuentran en tres áreas principales:F# improvements in Visual Studio 2019 are in three major areas:

  • F# 4.6F# 4.6
  • Mejoras importantes de rendimiento para las soluciones grandes y medianasMajor performance improvements for medium and larger solutions
  • Una gran cantidad de trabajo de código abierto por nuestra excelente comunidad de código abiertoLots of open source work by our excellent open source community
F# 4.6F# 4.6

Esta versión contiene el lenguaje F# 4.6:This release contains the F# 4.6 language:

Mejoras del compilador de F# y FSharp.CoreF# compiler and FSharp.Core improvements

F#, el compilador y FSharp.Core han tenido numerosas mejoras, sobre todo de colaboradores de código abierto:The F# and compiler and FSharp.Core have seen numerous improvements, especially from open source contributors:

  • fsi.exe y fsc.exe ahora tienen como valor predeterminado .NET Framework 4.7.2, lo que permite la carga de los componentes cuyo destino es este marco de trabajo o uno inferior (#4946).fsi.exe and fsc.exe now defaults to .NET Framework 4.7.2, allowing the loading of components targeting this framework or lower (#4946).
  • Se han optimizado el rendimiento de los métodos en structs y registros de structs, así como los métodos en clases y registros basados en clases (#3057).We optimized methods on structs and struct records to perform as well as methods on classes and class-based records (#3057).
  • Se ha optimizado el IL emitido para la lógica booleana combinada en código de F# (#635).We optimized the emitted IL for combined Boolean logic in F# code (#635).
  • Hemos optimizado el uso de + con cadenas en F# para realizar la mínima cantidad posible de llamadas de String.Concat (#5560).We've optimized the use of + with strings in F# to call the minimal amount of String.Concat calls as possible (#5560).
  • Se ha corregido un problema en el paquete FSharp.Core en el que se incluían algunos directorios adicionales con los activos de prueba.We fixed an issue in the FSharp.Core package where some extra directories with test assets were included. FSharp.Core 4.5.5 y 4.6.1 debe tener la corrección (#5814).FSharp.Core 4.5.5 and 4.6.1 should have the fix (#5814).
  • Cuando un atributo definido por el usuario no se herede de la clase Attribute, ahora recibirá una advertencia, por parte de Vasily Kirichenko.When a user-defined attribute does not inherit from the Attribute class, you will now receive a warning, by Vasily Kirichenko.
  • El valor AssemblyInformationVersionAttribute en un archivo del proyecto ahora es compatible con valores arbitrarios para admitir escenarios como SourceLink (#4822).The AssemblyInformationVersionAttribute value in a project file now supports arbitrary values to support scenarios such as SourceLink (#4822).
  • Steffen Forkmann ha corregido un error donde la sintaxis no válida con modelos activos provocaría un error interno del compilador (#5745).A bug where illegal syntax with Active Patterns would cause an internal compiler error has been fixed by Steffen Forkmann (#5745).
  • BooksBaum ha corregido un error por el que el sufijo Module se agregaba por error a un módulo recursivo para coincidir con un tipo donde la única diferencia era un parámetro genérico (#5794).A bug where the Module suffix was erroneously added to a module in a recursive module to match a type where the only difference is a generic parameter was fixed by BooksBaum (#5794).
  • Alan Ball ha mejorado el mensaje de error cuando los parámetros de tipo no son adyacentes a un nombre de tipo (#4183).An improvement to the error message when type parameters are not adjacent to a type name has been improved by Alan Ball (#4183).
  • Teo Tsirpanis ha corregido la visualización del sufijo literal uint16 en los mensajes de error para los literales numéricos no válidos (#5712).The uint16 literal suffix is listed correctly in the error messages for invalid numeric literals, by Teo Tsirpanis (#5712).
  • Los mensajes de error para las expresiones de cálculo ya no declaran async en el mensaje y, en su lugar, hacen referencia a "expresiones de cálculo", por John Wostenberg (#5343).Error messages for computation expressions no longer state async in the message and instead refer to "computation expression(s)", by John Wostenberg (#5343).
  • Bartoz Sypytkowski ha corregido un mensaje de error al hacer referencias incorrectas a .dll en F# interactivo (#5416).An error message when incorrectly referencing .dlls in F# interactive was fixed by Bartoz Sypytkowski (#5416).
  • Se ha corregido un error por el que los parámetros de tipo resueltos estáticamente no podían controlar una llamada a un miembro que oculta un miembro heredado, por parte de Victor Peter Rouven Müller (#5531).A bug where Statically Resolved Type Parameters couldn't handle calling a member that hides an inherited member was fixed by Victor Peter Rouven Müller (#5531).
  • Steffen Forkmann y Robert Jeppesen han agregado diversas mejoras de rendimiento menores al compilador.Various smaller performance improvements to the compiler have been added by Steffen Forkmann and Robert Jeppesen.
Mejoras en el rendimiento de F#F# performance improvements

Otra gran área de enfoque de F# en Visual Studio 2019 ha sido el rendimiento para soluciones medianas y grandes.Another big focus area for F# in Visual Studio 2019 has been performance for medium and large solutions. Se han resuelto algunos problemas antiguos, algunos de los cuales se remontan a la primera edición de las herramientas de F# para Visual Studio.We addressed some very long-standing issues, some of which dating back to the very first edition of F# tools for Visual Studio. También hemos recibido ayuda de la excelente comunidad de código abierto de F#.We also got some help from the excellent F# open source community.

  • Hemos renovado el modo en que se inicializa el servicio de lenguaje F# mediante Roslyn.We've revamped how the F# language service is initialized by Roslyn. La coloración de tipos para soluciones más grandes debería, por lo general, mostrarse antes.Type colorization for larger solutions should generally appear sooner.
  • Se ha cambiado la representación de texto de origen para evitar asignaciones grandes a lo largo del tiempo, especialmente con los archivos de mayor tamaño (#5935, #5936, #5937, #4881).We changed our representation of source text to avoid large allocations over time, especially with bigger files (#5935, #5936, #5937, #4881).
  • Se han cambiado las cachés de compilación para las pequeñas modificaciones de archivos a fin de usar mucha menos memoria (6028 #).We changed our build caches for small edits to files to use significantly less memory (#6028).
  • Se ha modificado una característica del compilador que sugiere nombres al escribir tokens no reconocidos para que solo realice estas sugerencias a petición, lo que tiene como resultado reducciones importantes de CPU y memoria al escribir lentamente en las soluciones más grandes (6044 #).We modified a compiler feature that suggests names when unrecognized tokens are typed to only compute these suggestions on-demand, resulting in significant CPU and memory reductions when typing slowly in larger solutions (#6044).
  • Se ha cambiado IntelliSense para que ya no muestre símbolos de espacios de nombres sin abrir de forma predeterminada.We changed IntelliSense so that it will no longer show symbols from unopened namespaces by default. Esto mejora notablemente el rendimiento de IntelliSense en proyectos con muchas referencias.This notably improves performance for IntelliSense in projects with many references. Esta característica puede volver a activarse en la configuración a través de Herramientas > Opciones > Editor de texto > F# > IntelliSense.This feature can be turned back on in the settings via Tools > Options > Text Editor > F# > IntelliSense.
  • Se ha mejorado el uso de memoria al usar proveedores de tipos para generar una gran cantidad de tipos proporcionados en una lista de finalización (#5599).We improved memory usage when using Type Providers to generate very large amounts of provided types in a completion list (#5599).
  • Se ha corregido una reducción del uso de memoria y CPU de un algoritmo de comparación de cadena interno para sugerir nombres no reconocidos, por parte de Avi Avni (6050 #).A reduction to CPU and memory usage to an internal string comparison algorithm for suggesting unrecognized names has been fixed by Avi Avni (#6050).
  • Se ha corregido una fuente notable de asignaciones de cadenas grandes, especialmente para las herramientas de IDE, por parte de Avi Avni (#5922).A notable source of large string allocations, particularly for IDE tooling, was fixed by Avi Avni (#5922).
  • Se ha corregido un origen de asignaciones de montón de objetos grandes procedentes de IntelliSense, por parte de Chet Husk (6084 #)A notable source of Large Object Heap allocations coming from computing IntelliSense has been fixed by Chet Husk (#6084)
Mejoras en las herramientas de F#F# tooling improvements

Además de las mejoras de rendimiento, se han realizado otras mejoras a las herramientas de F# para Visual Studio 2019:In addition to performance improvements, various other improvements to F# tooling for Visual Studio 2019 have been made:

  • La corrección del código Agregar instrucción open ahora agregará la instrucción open de forma predeterminada en la parte superior del archivo.The Add open statement code fix will now default to adding the open statement at the top of the file.
  • Se ha corregido un error donde match! en el código de usuario invalidaba las guías de estructura y los nodos de esquematización de código de los ámbitos posteriores (#5456).We fixed a bug where match! in user code invalidated structure guidelines and code outlining nodes for subsequent scopes (#5456).
  • El editor ahora mostrará los valores byref, outref y ref con los colores correctos como campos de registro con la coloración de valor mutable (#5579).The editor will now correctly color byref, outref, and ref values as record fields with the mutable value colorization (#5579).
  • Se ha corregido un error por el que la refactorización de cambio de nombres no reconocía el carácter ' en nombres de símbolos (#5604).We fixed a bug where the rename refactoring did not recognize the ' character in symbol names (#5604).
  • Se ha corregido un antiguo error por el que al cambiar el nombre de archivos de script de F# daba como resultado una pérdida de datos de coloración (#1944).We've fixed a longstanding bug where renaming F# script files resulted in a loss of colorization data (#1944).
  • Se la limpiado IntelliSense para que no muestre elementos no relacionados en la lista cuando se presiona la tecla RETROCESO.We cleaned up IntelliSense so that it doesn't show unrelated items in the list when pressing backspace.
  • Con la sangría "Inteligente" activada, pegar código F# en el editor ahora le dará formato para que coincida con un ámbito adecuado según la posición actual del cursor, implementado por Saul Rennison (#4702).With "Smart" indentation on, pasting F# code into the editor will now format it to match an appropriate scope based on the current cursor position, implemented by Saul Rennison (#4702).
  • Jakob Majocha ha solucionado un problema que impedía la sincronización de las opciones del editor de F# (#5997, #5998).An issue where F# editor options weren't syncing has been fixed by Jakob Majocha (#5997, #5998).
  • Eugene Auduchinok ha corregido un error por el que IntelliSense en un constructor dentro de un cláusula de inherit no mostraba el constructor principal (3699 #)A bug where IntelliSense in a constructor within an inherit clause wouldn't show the primary constructor has been fixed by Eugene Auduchinok (#3699)
  • Eugene Auduchinok ha realizado varias mejoras pequeñas al servicio de lenguaje de F#Various smaller improvements to the F# language service have been made by Eugene Auduchinok
Infraestructura de código abierto de F#F# open source infrastructure

Se ha migrado totalmente la base de código de F# y las herramientas de F# para usar el SDK de .NET.We've fully migrated the F# and F# tools codebase to use the .NET SDK. Esto simplifica enormemente el proceso de contribución para los desarrolladores, sobre todo si no usan Windows.This dramatically simplifies the contribution process for developers, especially if they are not using Windows. Además, Jakob Majocha ha ayudado en la limpieza de documentos para los nuevos colaboradores ante los cambios en la base de código.Additionally, Jakob Majocha has helped in cleaning up documents for new contributors in light of the changes to the codebase.

PythonPython

Según los comentarios recibidos, Visual Studio 2019 incluye una experiencia mejorada para administrar entornos de Python:Based on customer feedback, Visual Studio 2019 includes an overhauled experience for managing Python environments:

  • Se ha agregado un cuadro de diálogo Agregar entorno que simplifica la experiencia de crear y agregar entornos virtuales y entornos de conda en el proyecto.We added a new Add environment dialog that simplifies the experience of creating and adding virtual environments and conda environments in your project.
  • El instalador de Visual Studio ya no instala versiones completas de Anaconda para reducir el tamaño de las instalaciones de Visual Studio y evitar errores durante las actualizaciones.The Visual Studio installer no longer installs full versions of Anaconda to reduce the size of Visual Studio installs and avoid errors during upgrades.
  • Miniconda se agrupa con la carga de trabajo de Python como un componente opcional, lo que permite crear entornos de conda sin tener que instalar Miniconda/Anaconda.Miniconda is bundled with Python workload as an optional component, enabling you to create conda environments without having to install Miniconda/Anaconda.
  • Ahora se le indicará automáticamente que agregue un entorno si un archivo requirements.txt (entorno virtual) o environment.yml (entorno de conda) está presente en la raíz del proyecto.You will now be automatically prompted to add an environment if a requirements.txt (virtual environment) or environment.yml (conda environment) is present at the root of your project.
  • Una nueva barra de herramientas de Entornos de Python está disponible al editar archivos de Python.A new Python Environments toolbar is available when editing Python files. La nueva barra de herramientas permite cambiar entre distintos intérpretes de Python cuando se trabaja con proyectos, áreas de trabajo de Abrir carpeta o archivos separados de Python en otros proyectos.The new toolbar enables you to switch between different Python interpreters when working with projects, Open Folder workspaces or loose Python files in other projects.
  • Se han realizado mejoras en la calidad de autofinalización de IntelliSense de Python, incluyendo detección mejorada de importaciones de espacio de nombres y relativas.Improvements to the quality of auto-completions in Python IntelliSense, including improved detection of relative and namespace imports.
  • Las plantillas de proyecto de Django se han actualizado para admitir Django 2.x.Django project templates have been updated to support Django 2.x.
  • Los valores devueltos de las funciones ahora se muestran en el depurador de Python.Function return values are now shown in the Python debugger.
  • Ahora puede crear sesiones de VS Live Share y colaborar en código de Python con otros usuarios de Visual Studio.You can now create VS Live Share sessions and collaborate on Python code with other Visual Studio users. Antes, solo se admitía Python al unirse a sesiones creadas en Visual Studio Code.Previously, Python was only supported when joining sessions created from Visual Studio Code.

JavaScript/TypeScriptJavaScript/TypeScript

  • Hemos agregado compatibilidad para habilitar la depuración de JavaScript dentro de pruebas unitarias en proyectos de Node.js.We have added support for enabling JavaScript debugging within unit tests in Node.js projects. Se trata de una característica demandada desde hace tiempo por nuestros clientes de Node.js.This was a long-requested feature from our Node.js customers.
  • El servicio de lenguaje JavaScript/TypeScript ahora se cargará automáticamente en los proyectos que tengan instalado el paquete NuGet de TypeScript o el paquete npm (TypeScript 3.2 y versiones posteriores se admite desde el paquete NuGet y TypeScript 2.1 y versiones posteriores se admite desde el paquete npm).The JavaScript/TypeScript language service will now be automatically loaded in projects that have the TypeScript NuGet package or npm package installed (TypeScript 3.2 and up is supported from the NuGet package and TypeScript 2.1 and up is supported from the npm package).
  • Hemos implementado mejoras de rendimiento en el servicio de lenguaje como resultado de aumentar el extremo de memoria en el servicio de lenguaje para manipular proyectos más grandes.We have implemented performance improvements in the language service as a result of increasing the memory cap on the language service to handle larger projects.
  • Ya no se muestran diagnósticos de archivos cerrados de JavaScript/TypeScript en la lista de errores de forma predeterminada.We no longer show diagnostics of closed JavaScript/TypeScript files in the error list by default.
  • El servicio de lenguaje JavaScript ya no está disponible.The legacy JavaScript language service is no longer available. Anteriormente, los usuarios tenían la opción de restaurar el servicio de lenguaje JavaScript heredado.Previously, users had the option of restoring the legacy JavaScript language service. Ahora, los usuarios tendrán el nuevo servicio de lenguaje JavaScript de fábrica.Users will now have the new JavaScript language service out-of-the-box. El nuevo servicio de lenguaje se basa en el servicio de lenguaje TypeScript, que funciona con análisis estático.The new language service is based on the TypeScript language service, which is powered by static analysis. Esto permite mejor las herramientas, por lo que el código de JavaScript puede beneficiarse de IntelliSense con más funcionalidades según las definiciones de tipo.This enables better tooling, so your JavaScript code can benefit from richer IntelliSense based on type definitions. El nuevo servicio es ligero y consume menos memoria que el servicio heredado, lo que ofrece a los usuarios un mejor rendimiento a medida que se escale el código.The new service is lightweight and consumes less memory than the legacy service, providing users with better performance as their code scales.

Team Explorer y Azure DevOpsTeam Explorer and Azure DevOps

Hemos realizado mejoras en la experiencia de los elementos de trabajo de Git con Azure DevOps.We have made improvements to the Git Work Items experience with Azure DevOps.

  • Puede asignarse elementos de trabajo a sí mismo y a otros usuarios con el nuevo selector de identidad.Assign work items to yourself or others with the new identity picker. De forma predeterminada, se mostrará una lista de las personas que ha usado más recientemente.By default, you will be shown a list of the people you have most recently used. También puede usar la capacidad de búsqueda para buscar otros usuarios de la organización.Or, use the search ability to search and find others in your organization.
  • Hemos mejorado la experiencia de #mentions en el mensaje de confirmación.We have improved the #mentions experience in the commit message. Al seleccionar un elemento de trabajo en el selector de #mention, automáticamente se agregará a la lista de elementos de trabajo relacionados.As you select a work item from the #mention picker, it will automatically be added to the Related Work Items list.
Assigning work items and #mention improvements
Asignación de elementos de trabajo y mejoras de #mentionAssigning work items and #mention improvements

Resaltado de ruta de acceso activaHot Path Highlighting

  • Hemos agregado compatibilidad con el resaltado de ruta de acceso activa en las herramientas Uso de CPU y Asignación de objetos de DotNet en el generador de perfiles de rendimiento.We have added support for hot path highlighting in both the CPU Usage and DotNet Object Allocation tools in the Performance Profiler. Seleccione cualquier función en el árbol de llamadas y presione el botón de ruta de acceso activa para expandir la ruta de acceso activa de Asignación de objetos de Dot Net o Uso de CPU.Select any function in the call tree and press the hot path button to expand the CPU Usage or Dot Net Object Allocation hot path. Esta característica permite identificar fácilmente las llamadas de función que usan un mayor porcentaje de CPU o que asignan la mayoría de los objetos.This feature allows you to easily identify the function calls which use the highest percentage of the CPU or that allocate the most objects.
Hot path highlighting in the CPU Usage tool
Resaltado de ruta de acceso activa en la herramienta Uso de CPUHot path highlighting in the CPU Usage tool

Herramientas de .NET y ASP.NET.NET and ASP.NET Tools

  • Hemos implementado varias pequeñas mejoras en la experiencia de usuario de la página de resumen de perfil de publicación (nuevos encabezados de sección, acciones y métodos abreviados) para todas las aplicaciones.We have implemented various small UX improvements to the publish profile summary page (new section headers and actions/shortcuts) for all applications.
  • Al publicar las aplicaciones de ASP.NET en Azure App Service, la página de resumen de perfil de publicación ahora tiene una nueva sección denominada "Dependencias".When publishing ASP.NET applications to Azure App Service, the publish profile summary page now has a new section called "Dependencies". Esta nueva sección permite asociar los recursos de Azure Storage y Azure SQL con la instancia del servicio de aplicación.This new section currently allows you to associate Azure Storage and Azure SQL resources with your app service instance. En el futuro esperamos sacar a la luz más servicios de Azure mediante este mecanismo.Expect more Azure services to be surfaced through this mechanism in the future.
  • Use las métricas del código con proyectos de .NET Core con nuestra compatibilidad adicional.Use code metrics with .NET Core projects with our added compatibility.
  • Exporte la configuración del editor a un archivo Editorconfig a través de Herramientas > Opciones > Editor de texto > C# > Estilo de código con el botón "Generate .editorconfig file from settings" (Generar archivo .editorconfig desde la configuración).Export editor settings to an Editorconfig file through Tools > Options > Text Editor > C# > Code Style with the button "Generate .editorconfig file from settings".
  • Use la nueva compatibilidad del analizador Regex de C# y Visual Basic.Use C# and Visual Basic's new Regex parser support. Ahora se reconocen las expresiones regulares, y las características de lenguaje están habilitadas en ellas.Regular expressions are now recognized, and language features are enabled on them. Las cadenas de expresiones regulares reconocen cuando se pasa una cadena al constructor Regex o cuando una cadena está precedida inmediatamente por un comentario que contiene la cadena language=regex.Regex strings are either recognized when a string is passed to the Regex constructor or when a string is immediately preceded with a comment containing the string language=regex. Las características del lenguaje incluidas en esta versión son la clasificación, la coincidencia de llaves, resaltar referencias y diagnósticos.The language features included in this release are classification, brace matching, highlight references, and diagnostics.
Regular expressions now have parser support
Compatibilidad con el analizador de expresiones regularesRegular Expression Parser Support
  • Ahora puede usar análisis de código no alcanzado para miembros privados no usados con una corrección de código opcional para quitar la declaración de miembro sin usar.You can now use dead code analysis for unused private members with an optional code fix to remove unused member declaration.
  • La característica Buscar referencias en un descriptor de acceso ahora solo devuelve resultados para ese descriptor de acceso.The Find References feature on an accessor now only returns results for that accessor.
  • Se ha agregado una corrección de código para generar un método de deconstrucción.We have added a code fix for generating a deconstruct method.
  • Las instrucciones "using" pueden agregarse cuando se pega código en un archivo."Using" statements can be added when code is pasted into a file. Una corrección de código aparece después de pegar el código reconocido que le pide agregar importaciones pertinentes que faltan.A code fix appears after pasting recognized code that prompts you to add relevant missing imports.
  • Ahora hay más refactorizaciones y acciones rápidas disponibles con "Ctrl + ."There are now more refactoring and quick actions available by using "Ctrl + ." o "Alt + Intro":or "Alt + Enter":
    • Para los casos donde "await" está implícito, pero se omite, ahora hay una advertencia del compilador.For cases where "await" is implied but omitted, there is now a compiler warning.
    • Para convertir una función local en un método.For converting a local function to a method.
    • Para convertir una tupla en un struct con nombre.For converting a tuple to a named-struct.
    • Para convertir un tipo anónimo en una clase.For converting an anonymous type to a class.
    • Para convertir un tipo anónimo en una tupla.For converting an anonymous type to a tuple.
    • Para un bucle foreach para una consulta LINQ o un método LINQ.For a foreach loop to LINQ query or to LINQ method.
  • Se ha agregado compatibilidad para aplicaciones de ASP.NET Core que se ejecutan en una instancia de Azure Kubernetes Service.You now have added support for ASP .NET Core applications running in an Azure Kubernetes Service. Para empezar, consulte este ejemplo de docker en GitHub.To get started, see this docker example over on GitHub.
  • ASP.NET ahora es compatible con la herramienta Uso de CPU del Generador de perfiles de rendimiento.ASP.NET is now supported in the CPU Usage tool of the Performance Profiler.
CPU Usage Tool in Performance Profiler
Herramienta Uso de CPU en Generador de perfiles de rendimientoCPU Usage Tool in Performance Profiler
  • Ahora puede usar Buscar todas las referencias (Mayús-F12) y CodeLens para mostrar los resultados de los archivos de Razor (.cshtml) en los proyectos de .NET Core.You can now use Find All References (Shift-F12) and CodeLens to show results from Razor (.cshtml) files in .NET Core projects. A continuación, puede navegar al código identificado en los archivos de Razor pertinentes.You can then navigate to the identified code in the relevant Razor files.
  • Se ha agregado compatibilidad con las aplicaciones de ASP .NET (escritorio y core) que se ejecutan en máquinas virtuales (VM) Windows y conjuntos de escalado de máquinas virtuales.We've added support for targeting ASP .NET (core and desktop) applications running on Windows Virtual Machines (VM) and VM Scale Sets.
Snapshot debugger target selection UI
UI de selección de destino de Snapshot DebuggerSnapshot Debugger Target Selection UI
  • Ahora recibirá una advertencia al ejecutar un análisis de código con FxCop.You will now receive a warning when running code analysis using FxCop. Los analizadores del compilador de .NET son la manera recomendada para realizar análisis de código a partir de ahora..NET Compiler analyzers are the recommended way to perform code analysis going forward. Obtenga más información sobre la migración a los analizadores de .NET Compiler Platform.Read more on migrating to .NET compiler platform analyzers.
  • Ya no están disponibles las plantillas de proyecto de biblioteca de clases portable (PCL), y la compatibilidad con proyectos no se instalará de forma predeterminada.Portable Class Library (PCL) project templates are no longer available, and project support will not be installed by default. Los nuevos proyectos destinados a varias plataformas deben usar el tipo de proyecto de .NET Standard.New projects intended to target multiple platforms should use the .NET Standard project type. Los clientes que requieren compatibilidad con proyectos PCL deben instalar el componente por separado en la pestaña Componentes individuales en el instalador de Visual Studio.Customers who require PCL project support must install the component separately from the Individual Components tab in the Visual Studio installer.
  • El comando "Project.CopyWebSite" ya no está disponible.The "Project.CopyWebSite" command is no longer available. Esta característica solo estaba disponible en el tipo de proyecto de "Sitio Web" para. NET.This feature was only available on the "Web Site" project type for .NET. Proporcionaba la capacidad de sincronizar dos sitios web para que tuvieran la misma versión de cada archivo.It provided the ability to synchronize two web sites so that they have the same version of each file. En Visual Studio 2019, puede copiar los archivos desde el destino remoto fuera de Visual Studio y luego abrir el proyecto.In Visual Studio 2019, you can copy the files from the remote destination outside of Visual Studio and then open the project.
  • Se ha quitado la capacidad de abrir un proyecto de Sitio web desde una ubicación FTP remota.The ability to open a Web Site project from a remote FTP location has been removed. Los usuarios de FTP pueden copiar los archivos desde el destino remoto fuera de Visual Studio, abrir el proyecto y realizar cambios y, luego, publicar para devolverlos a la ubicación FTP remota.FTP users can copy the files from the remote destination outside of Visual Studio, open the project and make changes, and then use publish to push them back to the remote FTP location.
  • La carga de trabajo de ASP.NET y Web ya no instala una experiencia de edición de CoffeeScript personalizada.The ASP.NET and Web workload no longer installs a custom CoffeeScript editing experience. Los paquetes TextMate de Visual Studio proporcionan una experiencia de nivel superior para trabajar con CoffeeScript.Visual Studio's TextMate bundles provide a superior experience for working with CoffeeScript.
  • Los errores de CSS y CoffeeScript que generan actualmente las copias integradas de CSSLint y CoffeeLint ya no emergerán automáticamente al editar esos archivos.CSS and CoffeeScript errors that are currently generated by built-in copies of CSSLint and CoffeeLint will no longer automatically surface when editing those files. Use un método alternativo para ejecutar linters, como npm o el Explorador del Ejecutor de tareas de Visual Studio.Use an alternative method for running linters such as npm or the Visual Studio Task Runner Explorer.
  • Visual Studio ya no proporciona IntelliSense para los atributos HTML de Knockout.Visual Studio no longer provides IntelliSense for Knockout HTML attributes. En Visual Studio 2019 deberá escribir los atributos.In Visual Studio 2019 you will need to type the attributes.
  • Se ha quitado la capacidad de usar el depurador de Chrome heredado en proyectos de ASP.NET para la depuración de JavaScript.The ability to use the Legacy Chrome debugger in ASP.NET projects for debugging JavaScript has been removed. Aún puede usar el depurador de Chrome actual integrado en Visual Studio.You can continue to use the current Chrome debugger built into Visual Studio.
  • Se ha quitado la posibilidad de usar la funcionalidad de Consola JavaScript en proyectos ASP.NET.The ability to use JavaScript Console functionality in ASP.NET projects has been removed. Se recomienda a los clientes que usen la consola incluida en las herramientas de desarrollo de su explorador favorito.We recommend that customers use Console included within their favorite browser devtools.

Herramientas de contenedorContainer Tools

  • Hemos agregado una experiencia simplificada de proyecto único para las acciones de incluir en contenedor y depuración:We've added a streamlined single-project experience for containerizing and debugging:
    • Aplicaciones web de ASP.NET (.NET Framework)ASP.NET Web Applications (.NET Framework)
    • Aplicaciones de consola (.NET Core)Console Applications (.NET Core)
  • Hemos agregado compatibilidad para depurar aplicaciones ASP.NET Core que usan Alpine como una imagen de base.We've added support for debugging ASP.NET Core Applications that use Alpine as a base image.
  • Hemos agregado compatibilidad para las imágenes de ASP.NET y .NET Core más recientes.We've added support for the latest ASP.NET and .NET Core images.

Herramientas de .NET Core.NET Core tools

.NET Core 3.0.NET Core 3.0

Con esta versión, puede crear proyectos de ASP.NET Core, consola y biblioteca de clases destinados a .NET Core 3.0 si tiene instalada la versión preliminar del SDK.With this release, you can create ASP.NET Core, Console, and Class Library projects targeting .NET Core 3.0 if you have the preview SDK installed.

Si usa Visual Studio RC, también debe ir a Herramientas > Opciones > Proyectos y soluciones > .NET Core y activar la casilla Usar las vistas previas de los SDK de .NET Core.If you are using Visual Studio RC, you need to also go to Tools > Options > Projects and Solutions > .NET Core and check the Use previews of the .NET Core SDKs checkbox. Si usa Visual Studio Preview, no es necesario hacerlo.If you are using Visual Studio Preview, you do not need to do this. Puede leer más sobre esta configuración y su comportamiento en .NET Core tooling update for Visual Studio 2017 version 15.9 (Actualización de las herramientas de .NET Core para Visual Studio 2017 versión 15.9).You can read more about this setting and its behavior in .NET Core tooling update for Visual Studio 2017 version 15.9.

También puede crear proyectos WPF o Windows Forms para .NET Core 3.0 con el comando "dotnet new".You can also create Windows Forms or WPF projects for .NET Core 3.0 with the "dotnet new" command. Después, estos proyectos se pueden abrir en Visual Studio 2019.These projects can then be opened in Visual Studio 2019.

Características nuevasNew features

A partir de esta versión, vamos a convertir los archivos de proyecto para los proyectos de tipo SDK de .NET en un tipo de archivo de primera clase en Visual Studio.Starting with this release, we are making project files for .NET SDK-style projects a first-class file type in Visual Studio. Ahora es compatible lo siguiente:The following is now supported:

  • Hacer doble clic en un nodo de proyecto para abrir el archivo de proyectoDouble-click a project node to open the project file
  • Hacer clic en el nodo del proyecto para abrir el archivo de proyecto en una pestaña de vista previaSingle-click the project node to open the project file in a Preview tab
  • Buscar un archivo de proyecto por nombre con Ir a todo (ctrl + T)Find a project file by name with Go to All (ctrl + T)
  • Ahora se pueden hacer búsquedas en los elementos de MSBuild de un archivo de proyecto mediante Buscar en archivosMSBuild elements in a project file now are searchable with Find in Files
  • Abrir desde la lista de errores si se desencadena un error de creación de proyectoOpening from the error list if a project authoring error is triggered

Además, los proyectos de tipo SDK de .NET SDK ahora usarán la nueva experiencia de consola integrada para F5 y ctrl + F5 en aplicaciones de consola.Additionally, .NET SDK-style projects will now use the new Integrated Console experience for F5 and ctrl + F5 on console apps. De esta forma se unifica la experiencia al iniciar aplicaciones de consola desde Visual Studio:This unifies the experience when launching console applications from Visual Studio:

  • Para F5, la ventana de consola no se cerrará automáticamente cuando la aplicación termine de ejecutarse.For F5, the console window will not automatically close when the app is finished executing. Ya no necesita agregar llamadas a Console.Read() a las aplicaciones de consola.You no longer need to add Console.Read() calls to your console apps.
  • Para ctrl + F5, la ventana de consola se reutilizará en ejecuciones posteriores de la aplicación.For ctrl + F5, the console window will be re-used in subsequent runs of your app. Ya no necesita cerrar montones de ventanas de consola.You no longer need to close loads of console windows.

La nueva ventana de consola se puede cerrar automáticamente presionando una tecla cuando está abierta, o seleccionando la opción en Herramientas > Opciones > Cerrar la consola automáticamente al detenerse la depuración.The new console window can be closed automatically by pressing a key when it is open or by selecting the option under Tools > Options > Automatically close the console when debugging stops.

Ahora se ha agregado compatibilidad con expresiones de licencia y archivos de licencia a páginas de propiedades del proyecto.Support for License Expressions and License Files has now been added to project property pages. Esto se alinea con los cambios para dejar de utilizar licenseUrl en NuGet.This aligns with changes to deprecate licenseUrl in NuGet.

Mejoras de rendimientoPerformance improvements
  • Se ha mejorado significativamente la escalabilidad de las soluciones de gran tamaño, lo que permite usar soluciones de .NET Core mucho más grandes que antes.The scalability of large solutions has been significantly improved, allowing the use of much larger .NET Core solutions than before.
  • Los tiempos de carga de solución para proyectos grandes se han reducido considerablemente, así como el uso de la CPU al cargarlos.Solution load times for large projects have been significantly reduced, as has the CPU and memory usage when loading them.
Paridad de características con proyectos que no son de .NET CoreFeature parity with non-.NET Core projects

Puede encontrar una lista completa de los problemas y las solicitudes de incorporación de cambios en los hitos de 16.0, 16.0 Versión Preliminar 2, 16.0 Versión Preliminar 3 y 16.0 Versión Preliminar 4.You can find a full list of issues and pull requests in the 16.0, 16.0 Preview 2, 16.0 Preview 3, and 16.0 Preview 4 milestones.

Productividad de .NET.NET Productivity

  • Refactorizaciones de .NET y correcciones de código:.NET refactorings and codefixes:

    • Sincronización de espacio de nombres y nombre de carpetaSync Namespace and Folder Name
    • Refactorización de Extraer miembros con las opciones del cuadro de diálogoPull members up refactoring with dialog options
    Pull members up refactoring with dialog options
    Cuadro de diálogo Extraer miembrosPull Members Up dialog
    • Ajuste de línea/sangría/alinear listas de parámetros/argumentosWrap/indent/align lists of parameters/arguments
    • Conversión de un tipo anónimo para tuplaConvert anonymous type to tuple
    • Uso de cuerpo de expresión o bloque para lambdaUse expression/block body for lambda
    • Inversión de expresiones condicionales y operaciones lógicasInvert conditional expressions and logical operations
    • Cierre automático de bloque de comentarios en “/”Automatically close block comment on “/”
    • Conversión a asignación compuestaConvert to compound assignment
    • Corrección de variables con tipo implícito que no pueden ser constantesFix Implicitly-typed variables cannot be constant
    • Corrección automática para reemplazar @$" con $@" al escribir cadenas textuales interpoladasAuto-fixer to replace @$" with $@" when typing interpolated verbatim string
    • Finalización de #nullable enable|disableCompletion for #nullable enable|disable
    • Corrección de parámetros y valores de expresiones no usadasFix for unused expression values and parameters
    • Corrección para permitir que Extraer interfaz permanezca en el mismo archivoFix for allowing Extract Interface to remain in the same file
  • Clasifique las referencias por lectura/escritura.Categorize references by Read/Write.

  • Agregue la opción Editorconfig when_multiline para csharp_prefer_braces.Add Editorconfig when_multiline option for csharp_prefer_braces.

  • Hay nuevos colores de clasificación disponibles en el SDK de .NET Compiler Platform (también conocido como Roslyn).New classification colors are available from the .NET Compiler Platform SDK (aka Roslyn). Se están implementando gradualmente nuevos colores predeterminados, similares a los colores de Visual Studio Code. Puede ajustar estos colores en Herramientas > Opciones > Entorno > Fuentes y colores o desactivarlos en Entorno > Características en vista previa al desactivar la casilla Use enhanced colors (Usar colores mejorados).New default colors, similar to the Visual Studio Code colors, are gradually being rolled out. You can adjust these colors in Tools > Options > Environment > Fonts and Colors or turn them off in Environment > Preview Features by unchecking the Use enhanced colors check box. Agradecemos recibir comentarios sobre cómo afecta este cambio a su flujo de trabajo.We’d appreciate hearing feedback on how this change affects your workflow.

New Roslyn classification colors
Nuevos colores de clasificación de RoslynNew Roslyn classification colors

Depuración de JavaScript en proyectos de ASP.NETJavaScript Debugging in ASP.NET projects

  • Si ha agregado un nuevo explorador Google Chrome con argumentos personalizados mediante el menú "Examinar con..." para el proyecto ASP.NET, Visual Studio ahora permite depurar JavaScript para la aplicación al iniciar la depuración.If you have added a new Google Chrome browser with custom arguments using the "Browse with..." menu for your ASP.NET project, Visual Studio will now enable JavaScript debugging for your application when debugging is started. Los argumentos de inicio personalizados para Google Chrome se aplicarán al iniciar Chrome.Your custom launch arguments for Google Chrome will be applied when launching Chrome.
Adding Google Chrome with Custom arguments using 'Browse with'
Adición de Google Chrome con argumentos personalizados mediante "Examinar con..."Adding Google Chrome with Custom arguments using 'Browse with...'
Nota: Visual Studio iniciará Chrome de forma predeterminada con un directorio de datos diferente del de la instancia normal de Chrome, a menos que proporcione la ruta de acceso al directorio de datos como un argumento. Note: Visual Studio, by default, will launch Chrome using a different data directory than your regular Chrome instance unless you provide the path to your data directory as an argument. Como resultado, si necesita que alguna extensión esté disponible al usar esta instancia de Chrome, deberá instalarla por primera vez.As a result, if you require any extensions to be available when using this Chrome instance, you will need to install them the first time.

Herramientas de ASP.NET y Azure FunctionsASP.NET & Azure Functions tooling

  • Visual Studio 2019 ofrece una nueva experiencia en la creación de proyectos.Visual Studio 2019 comes with a new experience for creating new projects. Al crear expresamente nuevos proyectos de ASP.NET, Visual Studio ofrece cuadros de diálogo adicionales que cubren opciones específicas de ASP.NET.When creating new ASP.NET projects specifically, Visual Studio offers additional dialogs that surface ASP.NET specific choices. Estos cuadros de diálogo adicionales se han actualizado para que coincidan con el estilo visual del resto de la experiencia.These additional dialogs have been updated to match the visual style of the rest of the experience.
  • Desde hace un tiempo, las credenciales de publicación de Visual Studio se cifran y almacenan en el archivo de usuario de perfil de publicación para que no tenga que volver a escribirlas cada vez que publique la aplicación.For a while now, publish credentials in Visual Studio are encrypted and stored in the publish profile user file so you don't have to re-enter them every time you publish your application. Por norma general, los archivos de usuario se excluyen de forma predeterminada del control de código fuente porque probablemente contengan información confidencial o personal que no debe compartirse.User files in general are excluded from source control by default because they are likely to contain secret and/or personal information that should not be shared. Hasta ahora, si en el control de código fuente se insertaba un perfil de publicación de un proyecto de Azure Functions sin el archivo de usuario, las credenciales de publicación no estaban presentes y no se podía volver a usar el perfil de publicación.Up until now, if a publish profile for an Azure Functions project was checked into source control but the user file was not, the publish credentials were missing and the publish profile could not be re-used. Ahora, se permite editar las credenciales y crear un nuevo archivo de usuario con el fin de que pueda volver a usar el perfil de publicación.Now, we allow for the credentials to be edited and a new user file to be created so that the publish profile can be re-used.

Asistente para rendimientoPerformance Wizard

En Visual Studio 2019, las experiencias de generación de perfiles que estaban disponibles en el Asistente de rendimiento se han movido al Generador de perfiles de rendimiento.In Visual Studio 2019, the profiling experiences that were available in the Performance Wizard have been moved to the Performance Profiler. Puede encontrar la herramienta Uso de CPU para muestreo e instrumentación en la herramienta Instrumentación en el Generador de perfiles de rendimiento.You can find the CPU Usage Tool for sampling, and instrumentation in the Instrumentation tool in the Performance Profiler. Con este cambio, el Asistente de rendimiento ya no es necesario y se ha quitado de Visual Studio 2019.With this change the Performance Wizard is no longer needed and has been removed from Visual Studio 2019. Además, se ha quitado la opción de muestreo en las herramientas de línea de comandos de Rendimiento de VS, se publicará una herramienta de línea de comandos de reemplazo en una próxima versión preliminar.Additionally, the sampling option in the VS Performance command line tools have been removed, a replacement command line tool will be released in an upcoming preview.

Herramientas de pruebaTest Tools

  • Ahora puede hacer clic con el botón derecho en pruebas, clases de prueba o proyectos de prueba en Explorador de soluciones para ejecutar o depurar pruebas.You can now right-click on tests, test classes or test projects in the Solution Explorer to run or debug tests.
  • Las series de pruebas detectan automáticamente la arquitectura del procesador configurada en las propiedades del proyecto.Test runs now auto-detect what processor architecture is set in the project properties.
  • Las herramientas de prueba de la UI de OSS, como Selenium y Appium, han logrado impulso y tienen una sólida comunidad de respaldo.OSS UI test tools such as Selenium and Appium have gained momentum and have a strong community backing. Dado que estos marcos se han convertido en los estándares del sector, la prueba automatizada de UI está en desuso para las pruebas funcionales controladas por UI.Because these frameworks have become industry standards, we deprecated Coded UI test for automated UI-driven functional testing. Visual Studio 2019 será la versión final de Visual Studio con las características de prueba automatizada de UI.Visual Studio 2019 will be the final version of Visual Studio with Coded UI test features. Se recomienda usar Selenium para probar aplicaciones web, y Appium con WinAppDriver para probar aplicaciones de escritorio y para UWP.We recommend using Selenium for testing web-applications and Appium with WinAppDriver for testing desktop and UWP apps.
  • Visual Studio 2019 será la última versión de Visual Studio con las características de prueba de carga.Visual Studio 2019 will be the last version of Visual Studio with load test features. Para los clientes que requieren herramientas de prueba de carga, se recomienda usar herramientas de prueba de carga alternativas, como Apache JMeter, Akamai CloudTest o Blazemeter.For customers requiring load testing tools, we recommend using alternate load testing tools such as Apache JMeter, Akamai CloudTest, Blazemeter.
  • En Visual Studio 2019, se han quitado algunas API de la ventana de prueba que anteriormente estaban marcadas como públicas, pero que nunca se documentaron oficialmente.In Visual Studio 2019, some test window APIs that were previously marked public but were never officially documented have been removed. Se marcaron como obsoletas en Visual Studio 2017 para proporcionar advertencias prematuras a los mantenedores de extensiones.They were marked deprecated in Visual Studio 2017 to give extension maintainers an early warning. Que nosotros sepamos, muy pocas extensiones han tomado una dependencia en estas API.To our knowledge, very few extensions have taken a dependency on these APIs. Entre estas API se incluyen IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken y SearchFilterTokenType.These APIs include IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken and SearchFilterTokenType. Si este cambio afecta a su extensión, háganoslo saber enviando un error en Comunidad de desarrolladores.If this change affects your extension, please let us know by submitting an issue on Developer Community.

Herramientas de Kubernetes de Visual StudioVisual Studio Kubernetes Tools

Las herramientas de Kubernetes de Visual Studio, que antes estaban disponibles como una extensión independiente para Visual Studio 2017, ahora están integradas en la carga de trabajo de desarrollo de Azure en Visual Studio 2019.The Visual Studio Kubernetes Tools, which were previously available as a separate extension for Visual Studio 2017, are now integrated into the Azure development workload in Visual Studio 2019.

Incorporación de compatibilidad con Kubernetes a un nuevo proyectoAdding Kubernetes support to a new project

Para agregar compatibilidad con Kubernetes a un nuevo proyecto, abra Visual Studio y seleccione la opción Crear un nuevo proyecto.To add Kubernetes support to a new project, open Visual Studio and select the Create a new project option. En la ventana Crear un nuevo proyecto, busque Kubernetes y seleccione la plantilla de proyecto Aplicación contenedora para Kubernetes.In the Create a new project window, search for Kubernetes and select the Container Application for Kubernetes project template.

Creating a Container Application for Kubernetes
Creación de una aplicación contenedora para KubernetesCreating a Container Application for Kubernetes

Haga clic en Siguiente y escriba un nombre de proyecto, la ubicación y el nombre de la solución.Click Next and enter a project name, location, and solution name. Después, haga clic en Crear.Then, click Create. Seleccione la plantilla de aplicación ASP.NET Core que quiere usar para el proyecto y haga clic en Aceptar.Select the ASP.NET Core application template you want to use for your project and click OK. Visual Studio creará automáticamente un gráfico de Dockerfile y Helm que puede usar para compilar e implementar la nueva aplicación en un clúster de Kubernetes.Visual Studio will automatically create a Dockerfile and Helm chart that you can use to build and deploy your new application to a Kubernetes cluster. Estos artefactos se pueden modificar según sea necesario.You can modify these artifacts as needed.

Incorporación de compatibilidad con Kubernetes a un proyecto existenteAdding Kubernetes support to an existing project

También puede agregar compatibilidad con Kubernetes a una aplicación ASP.NET Core existente.You can also add support for Kubernetes to an existing ASP.NET Core application. Para hacerlo, abra el proyecto en Visual Studio 2019.To do this, open the project in Visual Studio 2019. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto, elija Agregar y haga clic en Container Orchestrator Support (Compatibilidad de orquestador de contenedores).In Solution Explorer, right click on the project, point to Add, and click Container Orchestrator Support.

Adding container orchestrator support
Agregar compatibilidad con el orquestador de contenedoresAdding container orchestrator support

En el cuadro de diálogo Add Container Orchestrator Support (Agregar compatibilidad con el orquestador de contenedores), elija Kubernetes/Helm (Kubernetes/Helm) y haga clic en Aceptar.In the Add Container Orchestrator Support dialog, choose Kubernetes/Helm and click OK. Visual Studio creará automáticamente un gráfico de Dockerfile y Helm (en una carpeta con el nombre charts) que puede usar para compilar e implementar la aplicación en un clúster de Kubernetes.Visual Studio will automatically create a Dockerfile and Helm chart (in a folder named charts) that you can use to build and deploy your application to a Kubernetes cluster. Si alguno de estos artefactos ya están en su lugar, no se sobrescribirán.If either of these artifacts are already in place, they will not be overwritten. Estos artefactos se pueden modificar según sea necesario.You can modify these artifacts as needed.

Creación de un punto de conexión de acceso públicoCreating a publicly accessible endpoint

Cuando se agrega compatibilidad con Kubernetes a un proyecto nuevo o existente, Visual Studio le preguntará si quiere crear un punto de conexión de acceso público para su aplicación.When you add Kubernetes support to a new or existing project, Visual Studio will ask you if you want to create a publicly accessible endpoint for your application.

Publicly accessible endpoint prompt
Mensaje de punto de conexión de acceso públicoPublicly accessible endpoint prompt

Si hace clic en , Visual Studio configurará el gráfico de Helm para que la aplicación cree un objeto de entrada de Kubernetes cuando se implementa la aplicación en un clúster de Kubernetes.If you click Yes, Visual Studio will configure the Helm chart for your application to create a Kubernetes ingress object when the application is deployed to a Kubernetes cluster. Puede cambiar esta opción en cualquier momento mediante la modificación del gráfico de Helm.You can change this option at any time by modifying the Helm chart.

Depuración de la aplicación en Azure Kubernetes ServiceDebugging your application in Azure Kubernetes Service

Una vez que se ha agregado compatibilidad con Kubernetes para un proyecto nuevo o existente, puede compilar, ejecutar y depurar la aplicación fácilmente en un clúster activo de Azure Kubernetes Service (AKS), mediante una característica denominada Azure Dev Spaces.Once you have added Kubernetes support to a new or existing project, you can easily build, run, and debug your application in a live Azure Kubernetes Service (AKS) cluster, using a feature called Azure Dev Spaces. Resulta útil para probar el proyecto en el contexto de un clúster de Kubernetes real o para depurar un servicio que forma parte de una aplicación mucho más grande sin tener que replicar toda la aplicación localmente.This is useful for testing your project in the context of an actual Kubernetes cluster or for debugging a service that is part of a much larger application without having to replicate the entire application locally. Azure Dev Spaces también incluye un función que permite al equipo de desarrollo compartir un clúster de AKS.Azure Dev Spaces also includes functionality that allows your development team to share an AKS cluster. Para más información sobre Azure Dev Spaces, vea la documentación de Azure Dev Spaces.For more information on Azure Dev Spaces, see the Azure Dev Spaces documentation. Para empezar, asegúrese de que Azure Dev Spaces está seleccionado como destino de inicio de depuración en Visual Studio.To get started, ensure that Azure Dev Spaces is selected as the debug launch target in Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Selección de Azure Dev Spaces como destino de inicio de depuraciónSelecting Azure Dev Spaces as debug launch target

Antes de iniciar el proyecto en Azure Dev Spaces por primera vez, configure la suscripción de Azure y el clúster de AKS que quiere usar.Before launching your project in Dev Spaces for the first time, configure the Azure subscription and AKS cluster that you wish to use. Seleccione también el espacio donde quiere ejecutar el proyecto.Also, select the space where you wish to run the project.

Configuring Azure Dev Spaces
Configuración de Azure Dev SpacesConfiguring Azure Dev Spaces

Normalmente, el equipo ejecuta la versión estable más reciente de toda la aplicación en el espacio predeterminada.Typically, your team runs the latest stable version of the entire application in the default space. Después, se ejecuta la versión del servicio en el que está trabajando en un espacio secundario del espacio predeterminado.Then, you run your version of the service you are working on in a child space of the default space. Ya no es necesario ejecutar los demás servicios en el espacio secundario; Azure Dev Spaces enruta automáticamente las llamadas de su servicio a las versiones estables de los servicios que se ejecutan en el espacio predeterminado.There is now no need to run the other services in the child space; Dev Spaces automatically routes calls from your service to the stable versions of the services running in default. Para más información sobre cómo configurar esta opción, vea los tutoriales de desarrollo de equipo en la documentación de Azure Dev Spaces.For more information on how to set this up, see the team development tutorials in the Azure Dev Spaces documentation. Una vez que haya seleccionado la suscripción, el clúster y el espacio adecuados, haga clic en Aceptar para continuar con la configuración de Azure Dev Spaces.Once you have selected the correct subscription, cluster, and space, click OK to proceed with the Dev Spaces configuration. Si selecciona un clúster que aún no tiene un controlador de Azure Dev Spaces asociado, haga clic en Aceptar en el siguiente cuadro de diálogo para crear uno automáticamente.If you select a cluster that does not already have an associated Dev Spaces controller, click OK in the following dialog box to create one automatically.

Enable Dev Spaces dialog
Cuadro de diálogo Habilitar Azure Dev SpacesEnable Dev Spaces dialog

La creación del controlador tarda aproximadamente 2 minutos.Controller creation takes about 2 minutes. Puede hacer clic en el botón Tareas en segundo plano en la esquina inferior izquierda de la ventana de Visual Studio para ver el estado.You can click on the Background Tasks button in the lower left corner of the Visual Studio window to see the status.

Azure Dev Spaces controller creation status via Background Tasks
Estado de creación del controlador de Azure Dev Spaces mediante Tareas en segundo planoAzure Dev Spaces controller creation status via Background Tasks

Una vez que tenga listo un controlador de Azure Dev Spaces, presione F5 o haga clic en el botón de depuración de Azure Dev Spaces en la barra de herramientas para depurar el proyecto en AKS.Once you have a Dev Spaces controller ready to go, press F5 or click the Azure Dev Spaces debug button on the toolbar to debug your project in AKS.

Azure Dev Spaces debug button
Botón de depuración de Azure Dev SpacesAzure Dev Spaces debug button

Azure Dev Spaces sincronizará el código en Azure, creará una imagen de contenedor que contiene el código y la implementará en el clúster de AKS mediante el gráfico de Helm definido en el proyecto.Dev Spaces will synchronize your code to Azure, build a container image containing your code, and deploy it to your AKS cluster using the Helm chart defined in your project. Visual Studio abrirá una conexión de depuración remota con el servicio que se ejecuta en el clúster para poder interactuar con él tal como lo haría al depurar un servicio que se ejecuta localmente.Visual Studio will open up a remote debug connection to the service running in the cluster so you can interact with it just as you would when debugging a service running locally.

Desarrollo móvil con XamarinMobile Development with Xamarin

En esta versión se incluyen mejoras en el tamaño de la carga de trabajo y en el rendimiento y la confiabilidad de las compilaciones para Android, así como mejoras de productividad de Xamarin.Android y Xamarin.Forms.This release includes improvements to workload size and Android build performance and reliability, as well as enhancements for Xamarin.Android and Xamarin.Forms productivity.

  • La carga de trabajo de Xamarin ahora tiene simplemente 7,69 GB, una reducción a la mitad desde Visual Studio 2017 versión 15.9 y una mejora del triple con respecto a la versión 15.7.The Xamarin workload is now just 7.69GB, a 2x reduction from Visual Studio 2017 version 15.9 and a 3x improvement over version 15.7.
  • La extensión IntelliCode ahora es compatible con XAML de Xamarin.Forms.The IntelliCode extension now supports Xamarin.Forms XAML.
Archivo > Nuevo proyecto File > New Project

Se han realizado mejoras de rendimiento con el objetivo de reducir el tiempo necesario para crear un nuevo proyecto de Xamarin para que pueda empezar a compilar las aplicaciones con mayor rapidez.We made performance improvements aimed at reducing the time it takes to create a new Xamarin project so you can start building your apps faster. Ahora también se incluyen los paquetes de NuGet usados por las plantillas como parte de la instalación de la carga de trabajo con el fin de reducir el tiempo de restauración del paquete, especialmente en casos en los que no hay conexión o el ancho de banda es bajo.We also now include the NuGet packages used by the templates as part of the workload installation in order to reduce package restore time, especially in low bandwidth or offline situations. Estas mejoras reducen el tiempo para que un nuevo proyecto de Xamarin se cargue y se restaure por completo en casi un 50 % en algunos casos.These improvements reduce the time for a new Xamarin project to be completely loaded and restored by almost 50% in some cases.

New Xamarin project comparison gif
Crear un nuevo proyecto de Xamarin en Visual Studio versión 15.9 (izquierda) y Visual Studio 2019 (derecha)Creating a new Xamarin project in Visual Studio version 15.9 (left) and Visual Studio 2019 (right)
Indicador de progreso de compilación Build progress indicator

Ahora puede ver información más detallada del progreso de la compilación al compilar los proyectos.You can now see more detailed build progress information when building your projects. Al hacer clic en el icono de tareas en segundo plano en la esquina inferior izquierda durante una compilación, se mostrará el destino de compilación actual que se está ejecutando.Clicking the background tasks icon in the bottom left corner during a build will display the current build target that is running. Esto puede ser útil para determinar si la compilación sigue ejecutándose, pero un destino está tardando mucho tiempo en completarse.This can be useful for determining if the build is still running but a target is taking a long time to complete.

Xamarin build progress indicator
Indicador de progreso de compilación de XamarinXamarin build progress indicator
Modo Vista previa básica del Controlador de vista previa de Xamarin.Forms Xamarin.Forms Previewer's Basic Preview mode

Ya no tiene que compilar el proyecto para que el Controlador de vista previa de Xamarin.Forms muestre una vista previa del código.You no longer have to build your project for the Xamarin.Forms XAML Previewer to show you a preview of your code! Si tiene controles personalizados en el archivo XAML, es posible que deba compilar el proyecto para obtener una vista previa u optar por su representación en tiempo de diseño.If you have custom controls in your XAML file, you might need to build your project to preview those, or opt them into design time rendering.

Menú desplegable de dispositivos del Controlador de vista previa de Xamarin.Forms Xamarin.Forms Previewer device drop-down

Ahora puede cambiar entre distintos dispositivos Android y iOS para obtener una vista previa de XAML de Xamarin.Forms mediante el nuevo menú desplegable de dispositivos.You can now swap between different Android and iOS devices to preview your Xamarin.Forms XAML on using our new device drop-down menu.

Xamarin.Forms Device Drop-Down
Menú desplegable de dispositivos de Xamarin.FormsXamarin.Forms Device Drop-Down
Panel de propiedades de Xamarin.Forms Xamarin.Forms Property Panel

Ahora puede editar los atributos más comunes de los controles, las celdas y los diseños de Xamarin.Forms en un panel de propiedades y ver los cambios reflejados inmediatamente en XAML.You can now edit the most common attributes of Xamarin.Forms controls, cells, and layouts in a property panel and see those changes reflected immediately in your XAML.

Xamarin.Forms Property Panel
Panel de propiedades de Xamarin.FormsXamarin.Forms Property Panel
Plantilla de Shell de Xamarin.Forms Xamarin.Forms Shell template

Se han actualizado las plantillas de Xamarin.Forms para usar la versión más reciente de Xamarin.Forms y también se ha agregado una nueva opción de plantilla para una aplicación Shell de Xamarin.Forms.We updated the Xamarin.Forms templates to use the latest Xamarin.Forms release and also added a new template option for a Xamarin.Forms Shell app. Shell pretende reducir la complejidad de las aplicaciones a la vez que aumenta la productividad del desarrollador y se centra en ofrecer velocidad y consumo de memoria.Shell aims to reduce the complexity of apps while increasing developer productivity and focusing on rendering speed and memory consumption. Esta plantilla ofrece una aplicación Shell de arranque para Android e iOS.This template gives you a bootstrapped Shell app for Android and iOS.

Rendimiento y confiabilidad de las compilaciones de Android Android Build performance and reliability

En Visual Studio 2017 versión 15.9 y Visual Studio para Mac 7.7, hemos realizado mejoras en el rendimiento de la compilación inicial y en la corrección de la compilación.In Visual Studio 2017 version 15.9 and Visual Studio for Mac 7.7, we made initial build performance and build correctness improvements. En Visual Studio 2019 y Visual Studio para Mac 7.8, la compilación y la implementación son aún más rápidas.In Visual Studio 2019 and Visual Studio for Mac 7.8, we made building and deploying even faster.

Android Build Performance
Compilación de Android ahora más rápida que tomar una taza de caféAndroid Build Now Faster than Grabbing a Cup of Coffee
  • Ahora aprovechará la última generación de herramientas de empaquetado de Android.You will now make use of Android's next generation packaging tooling. Para habilitar esta característica, agregue una marca de MSBuild en .csproj en el proyecto:To enable this feature, add an MSBuild flag in your project's .csproj:
    • aapt2 divide los paquetes de Android en dos pasos: compilación y vinculación.aapt2 divides Android packaging into two steps: Compile and Link. Esto mejora el rendimiento de las compilaciones incrementales y proporciona informes de errores antes.This improves performance for incremental builds and provides earlier error reporting. Por ejemplo, si hay cambios en un único archivo, solo deberá volver a compilar ese archivo.For example, if there are changes in a single file, you only need to recompile that file. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Al habilitar esta herramienta en sus proyectos, permite un rendimiento mejorado en tiempo de compilación y en tiempo de ejecución.By enabling this tool in your projects, you enable enhanced performance at both build time and runtime. Para obtener más información acerca de estas propiedades, consulte la documentación sobre el proceso de compilación de Xamarin.Android.For more details on these properties, see our documentation on the Build Process in Xamarin.Android.
Mejoras de Android Emulator Android Emulator improvements

En Visual Studio 2019, las imágenes de Android Emulador son más fáciles de crear.In Visual Studio 2019, Android emulator images are easier to create. Además, hemos seguido trabajando con el equipo de Windows en la Actualización de octubre de 2018 de Windows 10, versión 1809, para mejorar el rendimiento de Android Emulator cuando se ejecuta en Hyper-V.We've also continued to work with the Windows team in the Windows 10 October 2018 Update, version 1809, to improve the performance of the Android emulator when running on Hyper-V.

  • Los nuevos usuarios pueden crear su primera imagen simplemente presionando el icono de ejecución.New users can create their first image by simply pressing the run icon.
  • La experiencia de adquisición de nuestro emulador determina automáticamente la mejor configuración para su instalación y aprovecha la aceleración de hardware (con HAXM de Intel o Hyper-V) y el inicio rápido de forma predeterminada.Our emulator acquisition experience automatically determines the best configuration for your setup and takes advantage of hardware acceleration (with Intel HAXM or Hyper-V) and quick boot by default.
  • Cuando quiera crear otra imagen, puede seleccionar Crea Android Emulator en la lista desplegable para abrir Android Device Manager.When you want to create another image, you can select Create Android Emulator from the dropdown to open the Android Device Manager.
Aceleración de los tiempos de compilación con nuestras mejoras para compilar en Xamarin.Android Speed up your build times with our improvements for build in Xamarin.Android

Hemos lanzado un conjunto de mejoras de rendimiento de la compilación inicial.We have released a set of initial build performance improvements. A día de hoy, Xamarin.Android 9.1.1+ incluye mejoras importantes en el rendimiento de la compilación con respecto a la versión anterior.As of today, Xamarin.Android 9.1.1+ includes significant build performance improvements in comparison to the previous release. Eche un vistazo a nuestra comparación del rendimiento de compilación entre Xamarin.Android 15.9 y 16.0 para más información.Check out our Xamarin.Android 15.9 vs. 16.0 build performance comparison for more details.

Mejoras de Fast Deployment para Xamarin.Android Enhanced Fast Deployment for Xamarin.Android

Hasta ahora, Fast Deployment ofrecía tiempos de implementación incrementales más rápidos al omitir la recompilación o la reimplementación del paquete Android (archivo .apk) en escenarios en los que no se realizan cambios a los activos, los recursos, las bibliotecas nativas compartidas empaquetadas en la aplicación o las clases definidas por el usuario que heredan de Java.Lang.Object.Fast Deployment has up until now provided faster incremental deployment times by skipping over rebuilding or redeploying the Android package (.apk file) in scenarios where no changes have been made to any assets, resources, shared native libraries packaged within the app, or user-defined classes that inherit from Java.Lang.Object. Entre las mejoras de Fast Deployment se ofrece una compatibilidad ampliada para abarcar tanto bibliotecas nativas compartidas como clases que heredan de Java.Lang.Object.Enhanced Fast Deployment expands support for fast deployment to cover both shared native libraries and classes that inherit from Java.Lang.Object. Las compilaciones de Fast Deployment que aprovechan estas nuevas mejoras solo tendrán que generar un nuevo archivo .apk en un caso reducido de escenarios, como cuando el archivo AndroidManifest.xml cambia debido a la adición de una nueva subclase Android.App.Application o Activity.Fast deployment builds that use these new enhancements will only need to generate a new .apk file in a limited number of scenarios, such as when the AndroidManifest.xml file changes due to addition of a new Android.App.Application or Activity subclass. Estas mejoras aún no están habilitadas de forma predeterminada en la versión preliminar actual.These enhancements are not yet enabled by default in the current preview. Para habilitarlas, establezca la propiedad $(AndroidFastDeploymentType) de MSBuild en Assemblies:Dexes en el archivo .csproj:To enable them, set the $(AndroidFastDeploymentType) MSBuild property to Assemblies:Dexes in your .csproj file:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Compatibilidad con Dex Compiler(d8) y Code Shrinker(r8) de última generación en Xamarin.Android Next-generation Dex Compiler(d8) and Code Shrinker(r8) support in Xamarin.Android

Xamarin.Android admite ahora el compilador dex Android (d8) y el reductor de código (r8) más actualizados.Xamarin.Android now supports the latest Android dex compiler(d8) and code shrinker (r8). Para habilitar estas características, establezca las propiedades $(AndroidDexTool) y $(AndroidLinkTool) de MSBuild en d8 y r8 respectivamente en el archivo .csproj.To enable these features, set the $(AndroidDexTool) and $(AndroidLinkTool) MSBuild property to d8 and r8 respectfully in your .csproj file

  • d8 es un compilador dex de última generación que se ejecuta más rápido y genera archivos .dex más pequeños con un mejor rendimiento en tiempo de ejecución.d8 is a next-generation dex compiler that runs faster and produces smaller .dex files with better runtime performance.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8es una herramienta nueva para reducción y minificación que convierte el código de bytes de Java en código dex optimizado que reemplaza la necesidad de ProGuard.r8 is a new tool for shrinking and minification that converts Java bytecode to optimized dex code that replaces the need for ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Para más detalles sobre d8 y r8, lea nuestra documentación.For more details on d8 and r8, check out our documentation.

Mejoras de Xamarin.Android Designer Xamarin.Android Designer enhancements

Hemos realizado varias mejoras de productividad para las interacciones en la Vista en dos paneles.We have made a number of productivity enhancements to the interactions in Split View.

  • Arrastrar directamente desde el cuadro de herramientas y coloque en el editor de código fuente para ayudar a agregar scaffolds rápidamente a sus diseños de Android.Drag and drop directly from the toolbox to the source editor to help quickly scaffold your Android layouts.
Android Designer Toolbox to Source Editor
  • Seleccione los elementos directamente desde su intervalo de definición XML en el editor de código fuente.Select elements directly from their XML definition span in the source editor. Esto se ha implementado mediante la sincronización de la posición del símbolo de intercalación con la vista de Android correspondiente, lo que le permite obtener acceso rápidamente a las propiedades de un elemento en el panel de propiedades directamente desde el editor.We implemented this by synchronizing the caret position with the corresponding Android view, allowing you to quickly access an element's properties in the property panel right from the editor.
Android Designer Source Editor to Property Editor
  • Use una vista previa del color insertada en el código XML para poder ver qué colores se usan en los controles.Use an inline color preview to your XML code so you can see what colors are being used in your controls.
Android Designer Color Preview
  • Use nuestra característica de información rápida manteniendo el puntero sobre un valor para obtener más información sobre él, por ejemplo, dónde se define o cuál es el valor hexadecimal del color.Use our quick info feature by hovering over a value to find out more about it, such as where it's defined or what the hexadecimal value for the color is.
Android Designer Quick Info
Información rápida en acciónQuick Info in Action
Mejoras de Xamarin.Android Designer con compatibilidad inicial con diseños de restricciones Xamarin.Android Designer improvements with initial support for constraint layouts

Hemos empezado a trabajar en la mejora de la velocidad de inicio de Android Designer.We’ve begun an effort to improve startup speed of the Android Designer. Como parte de este esfuerzo, también hemos mejorado los mensajes que el diseñador muestra mientras se está cargando.As part of this effort, we have also improved the messaging that the designer provides while it is loading.

Android Designer Output

Junto a estas mejoras, Android Designer ahora admite de forma nativa Android Pie (9.0) y proporciona finalización automática para atributos ConstraintLayout.Alongside these improvements, the Android Designer now natively supports Android Pie (9.0) and provides autocompletion for ConstraintLayout attributes.

Obtención de mejores optimizaciones de comentarios e IntelliSense XML con Xamarin.Android Designer Get better XML IntelliSense and Commenting optimizations with the Xamarin.Android Designer

Al usar IntelliSense para agregar un widget a un diseño, ahora se ofrece una experiencia completa de fragmento de código para que se puedan proporcionar los atributos necesarios desde el principio.When using IntelliSense to add a widget to a layout, a full snippet experience is now provided so that required attributes can be supplied from the start. Hemos agregado funciones para agregar y quitar comentarios de manera inteligente en los diseños XML de Android.We have added smart commenting and uncommenting for Android XML layouts.

Mayor productividad con la opción Ir a definición y uso de IntelliSense XML en archivos de recursos de Android y AndroidManifest.xml Be more productive by using Go-To-Definition and use XML IntelliSense within Android resource files and AndroidManifest.xml

Ahora puede usar Ctrl + clic en direcciones URL de recursos para navegar al archivo o la línea donde están definidas.You can now Ctrl + Click on resource URLs to navigate to the file or line where they are defined.

Android Designer Go-To-Definition

IntelliSense y finalización automática ahora son compatibles con otros archivos XML de Android distintos de los diseños (colores, cadenas, recursos Drawable, menús, manifiesto de Android, etcétera).IntelliSense/Autocompletion is now supported for other Android XML files other than layouts (colors, strings, drawables, menu, Android manifest, etc.).

Plataforma universal de WindowsUniversal Windows Platform

  • La extensión IntelliCode ahora es compatible con XAML.The IntelliCode extension now supports XAML.
  • Para reducir el tamaño y la complejidad de la instalación de Visual Studio, los emuladores de Windows Phone se han quitaron de la instalación de Visual Studio.To reduce Visual Studio setup complexity and size, Windows Phone emulators have been removed from Visual Studio installation. Ahora deberá descargar los emuladores de forma manual.You will now need to download the emulators manually.
  • Se han quitado las herramientas de XAML en tiempo de diseño para aplicaciones para UWP dirigidas a los SDK de Windows 10 antes de Windows 10 Fall Creators Update (compilación 16299).XAML design time tooling for UWP apps targeting Windows 10 SDKs before the Windows 10 Fall Creators Update (build 16299) has been removed. Redestine las aplicaciones a Windows 10 versión 1709 o posterior para usar el Diseñador XAML o el editor de XAML.Retarget your applications to Windows 10 version 1709 or higher to use the XAML Designer, or use the XAML editor.
  • Ya no se admiten los proyectos de prueba de UWP que usan project.json para definir las dependencias de NuGet.UWP test projects using project.json to define NuGet dependencies are no longer supported. Debe actualizar el proyecto para usar el nuevo formato PackageReference.You must upgrade your project to use the new PackageReference format.
  • Las aplicaciones de JavaScript para UWP ya no se admiten en Visual Studio 2019.UWP JavaScript apps are no longer supported in Visual Studio 2019. No puede crear ni abrir proyectos de JavaScript para UWP (archivos con extensión jsproj).You cannot create or open JavaScript UWP projects (files with extension jsproj). Para más información, consulte nuestra documentación sobre la creación de aplicaciones web progresivas (PWA) que se ejecuten correctamente en Windows.You can learn more via our documentation on creating Progressive Web Apps (PWAs) that run well on Windows.
  • Puede proseguir y adjuntar aplicaciones de UWP de JavaScript como antes, pero las herramientas de generación de perfiles de JavaScript (Generador de perfiles de Red, CPU y Memoria) ya no están disponibles en Visual Studio 2019.You can continue to attach to JavaScript UWP apps as before, however the JavaScript profiling tools (Network ,CPU and Memory Profiler) are no longer available in Visual Studio 2019.

Actualizaciones de plantilla de las herramientas de OfficeOffice Tools Template Updates

En Visual Studio 2019, hemos realizado algunos cambios en las plantillas de Office, SharePoint y VSTO.In Visual Studio 2019, we made a few changes to the Office, SharePoint, and VSTO templates.

  • Las plantillas de SharePoint 2019 que se agregaron en Visual Studio 2017 15.9 también están disponibles en Visual Studio 2019.The SharePoint 2019 templates that were added in Visual Studio 2017 15.9 are also available in Visual Studio 2019.
  • Se ha quitado la compatibilidad con Flujo de trabajo secuencial o Flujos de trabajo de máquina de estado de SharePoint.We have removed support for SharePoint Sequential Workflow or State Machine Workflows. Aunque no podrá crear ni abrir estos flujos de trabajo en Visual Studio 2019, aún puede editarlos en versiones anteriores de Visual Studio.While you will not be able to create or open these workflows in Visual Studio 2019, you can continue to edit them in previous releases of Visual Studio.
  • Las plantillas de Office 2010 ya no estarán disponibles.Office 2010 templates will no longer be available. Sin embargo, todavía puede abrir proyectos existentes de Office 2010 en Visual Studio 2019.However, you can still open existing Office 2010 projects in Visual Studio 2019.
  • Ha cambiado el nombre de las plantillas de Office 2013 y 2016 para reflejar que admiten Office 2013 y versiones posteriores.The Office 2013 and 2016 templates have been renamed to reflect that they support Office 2013 and above.

Team Explorer y Azure DevOpsTeam Explorer and Azure DevOps

Lanzamos una nueva experiencia simplificada centrada en los desarrolladores al conectar Team Explorer a un proyecto de Azure DevOps.We are releasing a new, streamlined, developer-centric experience when connecting Team Explorer to an Azure DevOps project.

  • Céntrese en elementos de trabajo pertinentes al filtrar y dinamizar la vista según los elementos de trabajo que tenga asignados, los que está siguiendo, aquellos donde le mencionen en la conversación y basados e en su actividad.Focus on relevant work items by filtering and pivoting your view based on work items assigned to you, ones that you're following, ones where you're mentioned in the discussion, and ones based on your activity.

    • Dentro de cada vista, puede crear un elemento de trabajo insertado, realizar ediciones insertadas simples, marcar un elemento de trabajo como completado y asociar un elemento de trabajo a cambios pendientes.Within each view, you can create a work item inline, perform simple inline edits, mark a work item as complete, and associate a work item to pending changes.
  • Cree una rama local a partir de un elemento de trabajo que relacione automáticamente el elemento de trabajo con los cambios hechos en esa rama local.Create a local branch from a work item which will automatically relate the work item to the changes made to that local branch. Esta es la experiencia predeterminada.This is the default experience. Si quiere cambiar a la experiencia heredada, puede configurar la experiencia Elementos de trabajo en Visual Studio.Should you want to switch to the legacy experience, you can by setting the Work Items experience in Visual Studio. Tenga en cuenta que esta nueva experiencia solo se cumple para repositorios Git. La nueva experiencia para los repositorios TFVC estará disponible en una actualización siguiente.Note that this new experience is only true for Git repos. The new experience for TFVC repos will available in a following update.

    Azure DevOps Work Item Hub
    Concentrador de elemento de trabajo de Azure DevOpsAzure DevOps Work Item Hub
  • Busque elementos de trabajo al hacer una #mención en el mensaje de confirmación con cambios pendientes.Search for work items when doing a #mention in the pending changes commit message. Para más información, consulte la página View and add work items using the Work Items (Ver y agregar elementos de trabajo mediante Elementos de trabajo).For more details, see the View and add work items using the Work Items page.

    Azure DevOps #mentions
    #menciones en Azure DevOpsAzure DevOps #mentions
  • La compatibilidad con Microsoft Project se ha quitado del complemento Integración de Office para Team Foundation Server 2019 para Visual Studio 2019 debido a una baja tasa de adopción en Azure DevOps.Support for Microsoft Project has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019 due to a low adoption rate in Azure DevOps. Ahora deberá exportar los elementos de trabajo a Excel y pegarlos manualmente en Project.You will now need to export your work items to Excel and manually paste them into Project.

  • La compatibilidad con PowerPoint se ha quitado del complemento Integración de Office para Team Foundation Server 2019 para Visual Studio 2019.Support for PowerPoint has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019. Sin embargo, los usuarios aún pueden crear guiones gráficos en PowerPoint y vincularlos manualmente a elementos de trabajo en Azure DevOps.However, users can still create storyboards in PowerPoint and link them manually to work items in Azure DevOps.

Application Insights y HockeyAppApplication Insights and HockeyApp

  • La ventana Tendencias de Application Insights se ha quitado en Visual Studio 2019 a favor de alternativas que son más completas.The Application Insights Trends window has been removed in Visual Studio 2019 in favor of alternatives that are more feature-rich. En su lugar, puede usar la ventana Búsqueda de Application Insights en Visual Studio o el amplio conjunto de herramientas de diagnóstico de Application Insights en Azure Portal.Instead, you can use the Application Insights Search window in Visual Studio or the rich set of diagnostics tools in Application Insights in the Azure portal.
  • Se han quitado los asistentes para agregar el SDK de HockeyApp y para crear nuevas distribuciones beta.The wizards for adding the HockeyApp SDK and creating new beta distributions have been removed. En su lugar, se recomienda usar Visual Studio App Center, el sucesor de HockeyApp.We instead recommend using Visual Studio App Center, the successor to HockeyApp. Todavía puede usar HockeyApp con normalidad, salvo por estos métodos abreviados en Visual Studio.You can still use HockeyApp normally, except without these shortcuts in Visual Studio. Si quiere obtener más información sobre HockeyApp, visite nuestra página de soporte técnico.If you would like to learn more about HockeyApp, check out our support page.

Release Notes Icon Principales problemas corregidos en Visual Studio 2019 RCIssues fixed in Visual Studio 2019 RC

actualizados por última vez el 26 de abril de 2019most recently updated on April 26, 2019


Problemas conocidosKnown Issues

Consulte todos los problemas conocidos y las soluciones alternativas disponibles de la versión 16.0 de Visual Studio 2019 en el vínculo siguiente.See all existing known issues and available workarounds in Visual Studio 2019 version 16.0 by following the below link.

Visual Studio 2019 Known Issues


ComentariosFeedback

Nos encantaría que nos diera su opinión.We would love to hear from you! Puede informarnos de un problema mediante la opción Notificar un problema de la esquina superior derecha del instalador o del propio IDE de Visual Studio.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. A la claseThe Feedback Icon icono se encuentra en la esquina superior derecha.icon is located in the upper right-hand corner. Puede realizar una sugerencia de producto o un seguimiento de los problemas en la comunidad de desarrolladores de Visual Studio, donde podrá hacer preguntas, encontrar respuestas y proponer nuevas características.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. También puede obtener ayuda gratuita para la instalación a través de nuestro servicio de soporte técnico de chat en directo.You can also get free installation help through our Live Chat support.


BlogsBlogs

Saque partido de la información y de las recomendaciones disponibles en los blogs de Developer Tools que le mantendrán al día sobre las nuevas versiones y con publicaciones con mucha información sobre una gran variedad de características.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.

Developer Tools Blogs


Historial de notas de la versión de Visual Studio 2019Visual Studio 2019 Release Notes History

Para obtener más información sobre versiones anteriores de Visual Studio 2019, consulte la página Historial de notas de la versión de Visual Studio 2019.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Principio de página
Top of Page