Notas de la versión de Visual Studio 2017 15.0

Last Update: 01/09/2017

Tenga en cuenta: esta no es la versión más reciente de Visual Studio 2017. Para descargar la versión más reciente, visite las notas de la versión actual de Visual Studio 2017 o la página de descargas.

En este artículo encontrará información relacionada con las versiones de Visual Studio 2017 (versión 15.0).

Comentarios

Queremos que nos dé su opinión. Puede informar de un problema con la opción Notificar un problema del instalador o del propio IDE de Visual Studio. Encontrará la opción en la esquina superior derecha. Puede realizar un seguimiento de sus comentarios en el portal de la Comunidad de desarrolladores. Si quiere hacer alguna sugerencia, puede hacerlo a través del sitio de UserVoice.


Fecha de lanzamiento: 23 de mayo de 2017 - Visual Studio 2017 15.0 (26228.13) #### Problemas corregidos * Ya no se requiere acceso a Internet para los escenarios de instalación sin conexión.


Fecha de lanzamiento: 31 de marzo de 2017 - Visual Studio 2017 15.0 (26228.12)

Resumen de las actualizaciones

  • Ahora las herramientas y las API de Xcode 8.3, iOS 10.3, watchOS 3.2 y tvOS 10.2 son compatibles con la extensión Xamarin.VS para Visual Studio 2017.

Fecha de lanzamiento: 28 de marzo de 2017 - Visual Studio 2017 15.0 (26228.10)

Problemas corregidos

Estos son los problemas detectados por los clientes solucionados en la compilación 26228.10:


Fecha de lanzamiento: 14 de marzo de 2017 - Visual Studio 2017 15.0 (26228.09)

Problemas corregidos

Estos son los problemas detectados por los clientes que se solucionaron en la compilación 26228.09:


Fecha de lanzamiento: 7 de marzo de 2017 - Visual Studio 2017 15.0 (26228.04)

Resumen de las actualizaciones

Desarrollar: Navegue por el código, escríbalo y corríjalo con rapidez

  • La nueva experiencia de instalación tiene un impacto mínimo reducido para una instalación más rápida y personalizable, así como soporte técnico para las instalaciones sin conexión.
  • El IDE de Visual Studio proporciona una amplia variedad de mejoras en Visual Studio 2017, que incluyen la reducción de los tiempos de inicio y carga de soluciones, las mejoras en el inicio de sesión y la entidad, una mejor navegación del código, la vista de carpeta abierta y los servicios conectados permiten conexiones entre la aplicación y cualquier servicio en el entorno local o en la nube.
  • No hay ningún cambio importante para Visual C++ entre 2015 y 2017. Mejor nivel de conformidad con C++14, compatibilidad con CMake, rendimiento de la compilación y productividad en el editor.
  • C# y Visual Basic amplían la compatibilidad con las nuevas características de lenguaje C# 7.0 y Visual Basic 15, y se presentan nuevas refactorizaciones que le permiten organizar el código fuente con una acción.
  • Compatibilidad de F# con características del lenguaje F# 4.1, mejoras en el compilador de F# y FSharp.Core, y un nuevo editor basado en áreas de trabajo de Roslyn.
  • JavaScript y TypeScript con TypeScript 2.1 disponible para todos los proyectos de TypeScript en Visual Studio. Hay disponible y habilitado de manera predeterminada un nuevo servicio de lenguaje JavaScript.

Depuración: Depure, genere perfiles y emita diagnósticos con facilidad

  • Revisión de depuración y diagnóstico de la aplicación auxiliar de excepciones y la navegación de código más rápido con Ejecutar hasta la línea. Además, dispone de un nuevo resumen de los eventos de aplicación en la ventana de herramientas de diagnóstico y de varias mejoras en la herramienta de la CPU.

Prueba: Escriba código de alta calidad con herramientas de pruebas completas

  • Las pruebas unitarias dinámicas ahora pueden visualizar los resultados de las pruebas unitarias y de la cobertura de código en vivo en el editor.
  • Las herramientas de pruebas asocian la automatización con elementos de trabajo de casos de prueba mediante el Explorador de pruebas.

Colaboración: use el control de versiones, actúe con agilidad y colabore de manera eficiente.

  • Nuevas características de Git en Team Explorer y una experiencia de conexión actualizada para hacer más con Git en Visual Studio 2017 y encontrar fácilmente los proyectos y repositorios a los que se quiere conectar.
  • El flujo de trabajo mejorado para comentarios sobre Visual Studio tiene informes de problemas de más colaboración. Búsqueda, seguimiento y votos para obtener las actualizaciones más recientes de todos los comentarios.

Extensión: compile sus propias extensiones para personalizarlas a su gusto.

  • Extensiones de Visual Studio: compile sus propias extensiones para personalizar Visual Studio a su gusto.
  • Detección de plantillas de proyecto y elemento: hay un cambio importante en lo que respecta a cómo Visual Studio usa plantillas de proyecto y elemento para mejorar el rendimiento de la detección de plantillas.

Equipar: use herramientas para aumentar la productividad y explorar nuevas capacidades

  • .NET Core y ASP.NET Core: contiene la versión 1.0 final de las nuevas herramientas de .NET Core basadas en MSBuild. Con Visual Studio 2017, puede crear bibliotecas estándar de .NET, aplicaciones y bibliotecas de .NET Core y proyectos web de ASP.NET que usan el nuevo formato csproj.
  • Herramientas de desarrollo de aplicaciones universales de Windows: las actualizaciones incluyen una versión nueva de la cadena de herramientas nativas de .NET, el marco NuGet de .NET Core, nuevas herramientas de productividad y compatibilidad con el SDK de Windows 10 "Creators Update".
  • Xamarin: Xamarin 4.3 agrega compatibilidad con tvOS y mejora la ya existente con el catálogo de recursos de iOS, así como la experiencia de edición de XML.
  • Visual Studio Tools para Apache Cordova: un nuevo simulador basado en el explorador le permite programar rápidamente y ver los resultados de inmediato.
  • Herramientas de Node.js para Visual Studio: las actualizaciones se centraron en la estabilidad, el rendimiento y la calidad general del producto.
  • Visual Studio Tools para Unity: Visual Studio Tools para Unity 3 ahora está disponible con la carga de trabajo "Desarrollo de juegos con Unity" en el nuevo instalador de Visual Studio.
  • Redgate Data Tools: para ampliar las capacidades de DevOps al desarrollo de bases de datos SQL, Visual Studio ahora incluye Redgate Data Tools, que incluye Redgate ReadyRoll Core, Búsqueda de SQL y SQL Prompt Core.
  • NuGet: NuGet ahora es compatible con el almacenamiento de la información de dependencias de paquetes directamente en archivos de proyecto como referencias de paquete, mientras se mantienen los avances de las referencias transitivas de paquetes.
  • Herramientas para aplicaciones XAML: la barra de herramientas de tiempo de ejecución de XAML ahora permite realizar el seguimiento de foco. Se ha mejorado la productividad de XAML con la opción de editar y continuar de XAML, se ha mejorado el editor XAML y se han realizado optimizaciones de rendimiento.
  • Data Tools y SQL Server: la actualización más reciente de SQL Server Data Tools permite la compatibilidad con las características más recientes de Azure SQL Database y SQL Server 2016.
  • Developer Analytics Tools: Visual Studio 2017 incluye Developer Analytics Tools versión 8.6 con una gran cantidad de mejoras en las características de Application Insights y HockeyApp de Visual Studio.
  • Office Developer Tools para Visual Studio: incluye Office Developer Tools con las características y actualizaciones más recientes.
  • Validación dinámica de dependencias de arquitectura: notificaciones en tiempo real de los diagramas de validación de dependencias (también conocido como diagramas de capas).
  • Símbolo del sistema para desarrolladores: scripts refactorizados para admitir la nueva experiencia de instalación.
  • Azure SDK para .NET: ahora disponible para el nuevo instalador de Visual Studio.

Novedades de esta versión

Experiencia de instalación

Estamos encantados de presentar nuestro nuevo instalador, que se ha diseñado desde cero para:

  • Reducir la superficie mínima de Visual Studio.
  • Instalar más rápidamente y con menos impacto del sistema y desinstalar de forma limpia.
  • Facilitar la selección e instalación de solo las características que necesita.

Cuando instale por primera vez Visual Studio 2017, disfrutará de la nueva experiencia (Figura 1):

(Figura 1) La nueva experiencia de instalación en Visual Studio 2017

La instalación más pequeña es de solo unos pocos cientos de megabytes, aunque todavía contiene soporte para la edición de código básico para más de veinte idiomas, incluido el control de código fuente. La mayoría de los usuarios querrán instalar más. Puede agregar una o más “cargas de trabajo” que representen marcos, lenguajes y plataformas comunes para abarcarlo todo, desde el desarrollo de escritorio de .NET hasta el desarrollo de juegos con Unity.

Actualización de Visual Studio

Para actualizar Visual Studio, ejecute el instalador de Visual Studio y haga clic en el botón "Actualizar".

Comentarios sobre el nuevo instalador

Puede informar sobre problemas o felicitarnos con los comandos Notificar un problema y Proporcionar una sugerencia desde el cliente del nuevo instalador, que encontrará en la esquina superior derecha de la barra de título. Nos interesa saber si se producen errores de instalación, desinstalación o modificación de la instalación, así como tiempos de instalación anómalos (por ejemplo, bloqueos) o mensajes de error inesperados.

Creación de un diseño para la instalación sin conexión y nueva compatibilidad con la instalación desde la línea de comandos

Ahora los administradores del sistema y otros usuarios pueden crear un diseño de Visual Studio sin conexión que contenga todo lo necesario para instalar el producto sin que haga falta tener acceso a Internet. Este diseño puede ser el producto completo, un subconjunto de cargas de trabajo o componentes y una o varias configuraciones regionales del producto. Tenga en cuenta que se requiere acceso a Internet para crear el diseño sin conexión. Para obtener más información, consulte Create an offline installation of Visual Studio 2017 (Creación de una instalación sin conexión de Visual Studio 2017).

Sobrenombre de la instalación

Visual Studio Enterprise y Community (entre otros productos) ahora se pueden instalar en paralelo en el mismo equipo. Con el fin de identificar con más facilidad estas instalaciones, puede especificar un nombre corto o "alias". Por ejemplo, si fuera a instalar Visual Studio Enterprise y, después, instalar la edición Community, ambas ediciones aparecerían el mismo en el menú de inicio. Puede asignar a la segunda edición un alias como "comunidad", y los elementos del menú de inicio aparecerán con nombres como "Visual Studio 2017 (comunidad)" y "Símbolo del sistema para desarrolladores de Visual Studio 2017 (comunidad)".


IDE de Visual Studio

Mejoras del IDE

  • Visual Studio se optimizó para disminuir el tiempo de inicio y el tiempo de carga de solución. El primer lanzamiento de Visual Studio es un 50 % más rápido.
  • Visual Studio ahora supervisará el rendimiento de la extensión que afecta al inicio, la carga de solución o la edición. Recibirá alertas sobre las extensiones de bajo rendimiento mediante la barra de notificaciones del IDE. El nuevo Centro de rendimiento (disponible también mediante Ayuda > Administrar el rendimiento de Visual Studio) le permite ver no solo las extensiones que afectan al rendimiento, sino también detectar ventanas de herramientas que afectan al rendimiento de inicio y cambiar su comportamiento de carga al inicio.
  • Es posible seleccionar la extensión de GitHub para Visual Studio en el nuevo instalador de Visual Studio.
  • Recargar todos los proyectos se ha reemplazado por Recargar solución para mejorar el rendimiento cuando se conmutan las ramas externas a VS. Al usar la línea de comandos Git para cambiar las ramas, elija Recargar solución después de que la rama haya cambiado para lograr la máxima mejora del rendimiento.
  • Se mejoraron las capacidades de comodín de archivos para los proyectos .NET Core y ASP.NET Core. Consulte Comodín de archivo de proyecto para más detalles.
  • Ahora se le dirigirá automáticamente a la vista de carpeta del repositorio después de la clonación. Puede ver archivos o abrir soluciones con la nueva lista de selección de soluciones en el Explorador de soluciones.
  • Se introduce un nuevo host de servicio externo que reemplazará a VSHub. Este host de servicio nuevo es un proceso externo y aparecerá en el Administrador de tareas como ServiceHub.Host.CLR.*.exe y también como ServiceHub.Host.Node.x86.exe. Este host eliminará definitivamente el tráfico HTTP del tipo localhost que se introdujo con VSHub, lo que mitigará el ruido que informaron los usuarios de Fiddler.
  • Los mensajes de caducidad de la licencia de la versión preliminar comunican más claramente el estado de la licencia actual.
  • El cuadro de diálogo de configuración de la cuenta es ahora más accesible para los lectores de pantalla.
  • La ayuda sin conexión ya está disponible al instalar el componente Visor de ayuda desde el instalador de Visual Studio.
  • Ahora puede agregar y quitar varios idiomas de la interfaz de usuario en cualquier momento mediante el instalador de Visual Studio en la pestaña Paquetes de idioma. Puede seleccionar el idioma de la interfaz de usuario actual entre los instalados mediante Herramientas > Opciones > Configuración internacional.
  • La barra de estado de control de la versión facilita la publicación de repositorios locales en un host de control de código fuente y la realización del seguimiento del trabajo no confirmado (Figura 2) y no insertado (Figura 3).

Version Control - Unpublished commits example

(Figura 2) Control de versiones: ejemplo de confirmaciones no publicadas

Version Control - No pending changes example

(Figura 3) Control de versiones: ejemplo de cambios no pendientes

Mejoras de identidad e inicio de sesión

Hemos introducido un nuevo servicio de identidades que le permite compartir cuentas de usuario entre herramientas para desarrolladores de Microsoft. En Visual Studio, esta función incluye características como Team Explorer, Azure Tools, publicación en la Tienda Windows y mucho más. Estas características comparten ahora el mismo método de inicio de sesión.

Junto con las mejoras de Visual Studio, hemos completado la implementación de algunas mejoras en el servicio que permiten a los usuarios mantener iniciada su sesión con seguridad y eliminar el inicio de sesión obligatorio cada 12 horas. De esta manera, solucionamos el problema de inicio de sesión del que más informan los usuarios. Más información sobre el menor número símbolos del sistema de Visual Studio.

Página de inicio

La página de inicio rediseñada cuenta con nuevos recursos para abrir y crear que permite:

  • Adquirir repositorios remotos de VSTS o usar la opción de MRU más destacada disponible para abrir soluciones y proyectos locales fácilmente.
  • Entre los elementos usados recientemente de la página de inicio se muestran repositorios que ha clonado en otras máquinas, para que pueda clonarlos fácilmente en el equipo actual.
  • Crear un nuevo proyecto directamente desde la página de inicio con plantillas de búsqueda y una lista de plantillas usadas recientemente. Las plantillas usadas recientemente también se transmiten entre instancias de Visual Studio con una cuenta de personalización.
  • Inicio rápido del nuevo clon de la experiencia de VSTS con la opción “Checkout from VSTS” (Obtener de VSTS) de la página de inicio.
  • Una sección "Introducción" que se puede ocultar.
  • Ahora la sección Noticias se puede contraer:
    • Distintivo actualizado en los elementos recientemente agregados al suministro de noticias.
    • Distintivo en el expansor de suministro de noticias si aparecen elementos nuevos cuando se contrae el suministro de noticias.
  • Diseño visual refinado para abordar los elementos truncados en pantallas más pequeñas y utilización del espacio vacío.

A continuación se muestra la nueva página de inicio (Figura 4):

Start Page with Get Started and News

(Figura 4) Página de inicio con Introducción y Noticias

Navegación por código mejorada

Se mejoraron considerablemente las funciones de navegación por el código en Visual Studio 2017:

  • Ir a todo (Ctrl+ o Ctrl+ T) permite buscar e ir rápidamente a archivos, tipos, métodos y otros elementos del código. Permite ubicar elementos de todo tipo, incluso en bases de código de gran tamaño. Además, si sabe qué tipo de elemento busca, puede filtrarlo fácilmente. En C#, Visual Basic y F#, agregamos también la coincidencia "aproximada" para que, si se equivoca al escribir el nombre de un tipo, siga obteniendo resultados. También modernizamos la experiencia de Ir a la línea (Ctrl + G). Puede encontrar la familia de comandos de Ir a en la parte superior del menú Edición (Figura 5) y (Figura 6).

Go To Results Filtered

(Figura 5) Ir a resultados filtrados

Go To Line

(Figura 6) Ir a la línea

  • La función Buscar todas las referencias (Mayús+F12) se ha revisado (actualmente para C#, Visual Basic, F# y C++), y actualmente se proporcionan características avanzadas de agrupamiento, filtrado, ordenación, búsqueda en los resultados de referencias y coloración de resultados (para C# y VB), lo que permite ver las referencias con claridad y encontrar la línea de código que necesita de manera sencilla. Cuando mantiene el puntero sobre un elemento de referencia, aparece información sobre herramientas con el contexto de la referencia en el código fuente (para C# y VB). Si activa o desactiva el botón Mantener resultados en la barra de herramientas, la próxima vez que se invoque la funcionalidad Buscar todas las referencias se rellenarán los resultados de referencia en una ventana nueva. Esto permite mantener los resultados actuales en la ventana existente (Figura 7).

Find All References

(Figura 7) Buscar todas las referencias

  • Ahora se trazan líneas guía de estructura en el editor, para que pueda visualizar fácilmente la estructura del código en que está trabajando. Cuando se mantiene el puntero sobre el elemento (Figura 8), aparece información sobre herramientas que incluye el contexto del bloque de código actual relacionado con los bloques de su antecesor. Las líneas guía de estructura actualmente son compatibles con archivos de C#, Visual Basic, F# y XAML, y con cualquier archivo compatible a través de gramáticas de TextMate. Esta característica se puede deshabilitar en el cuadro de diálogo Herramientas > Opciones; para ello, desactive la casilla Show structure guide lines (Mostrar líneas guía de estructura) en el Editor de texto > categoría General.

Structure Guide Lines

(Figura 8) Líneas guía de estructura

Compatibilidad con la convención de codificación a través de EditorConfig

El editor de Visual Studio ahora es compatible con EditorConfig, lo que permite que los desarrolladores definan y mantengan convenciones de estilo de codificación coherente entre los distintos editores e IDE. Consulte la documentación para más ver más detalles y la documentación de .NET para información sobre cómo usar los archivos .editorconfig a fin de regir el estilo de código .NET. Consulte los problemas conocidos para ver las limitaciones de la compatibilidad de EditorConfig en esta versión.

Abrir carpeta

Abrir carpeta es una forma cómoda de trabajar con bases de código sin proyectos ni soluciones. Abra la vista de carpetas desde Archivo > Abrir > Carpeta y, luego, seleccione la carpeta a la que desea ir. Puede abrir y editar los archivos mediante el Explorador de soluciones (Figura 9). Muchos lenguajes populares tienen resaltado de sintaxis y compatibilidad con la navegación por símbolos (GoTo).

The new Open Folder feature in the Visual Studio IDE

(Figura 9) La nueva característica Abrir carpeta en el IDE de Visual Studio

Además, algunos lenguajes tienen compatibilidad avanzada con depuración e IntelliSense directamente desde la carpeta:

  • C++ (CMake).
  • Node.js - JavaScript/TypeScript.
  • C# y VB.

Puede realizar la compilación o depuración si usa F5 y el menú contextual del archivo en el Explorador de soluciones. Para que la experiencia sea óptima, asegúrese de instalar la carga de trabajo correspondiente a los lenguajes con los que trabaja.

La vista de carpetas también admite lo siguiente:

  • Búsqueda en el código de la carpeta con Ir a (Ctrl+).
  • Muestre la vista de la carpeta del Explorador de soluciones en subcarpetas.
  • Abra carpetas en el explorador o el símbolo del sistema desde el Explorador de soluciones.
  • Desplácese fácilmente entre soluciones en el repositorio o la carpeta abierta con el menú desplegable de selección de soluciones.
  • Ajuste la configuración de depuración e inicio con launch.vs.json. Haga clic con el botón derecho en un archivo que se pueda depurar y seleccione Configuración de depuración e inicio.
  • Configure tareas y personalice la compilación con tasks.vs.json. Haga clic con el botón derecho en cualquier archivo y seleccione Configure Task Settings (Configurar ajustes de tarea).
  • Launch.vs.json y tasks.vsa.json tienen IntelliSense en el editor de JSON.

Se mejoró considerablemente el rendimiento de la apertura de carpetas y la alternancia entre la vista de carpetas y la vista de soluciones.

Carga de solución ligera

Carga de solución ligera permite que las soluciones de gran tamaño se carguen más rápido. En el caso de las soluciones de gran tamaño, puede suponer una mejora sustancial en el uso de memoria y el tiempo de carga de la solución. La característica no está habilitada de manera predeterminada y se puede habilitar en cada solución o de manera global en el IDE. Para habilitar de manera global, vaya a Herramientas > Opciones, seleccione General en Proyectos y soluciones (Figura 10) o busque "Carga de solución ligera" con Inicio rápido. Puede activar o desactivar la característica en cada solución individual en el panel de propiedades de la solución.

The new Lightweight Solution load feature in the Visual Studio IDE

(Figura 10) La nueva característica de carga de solución ligera en el IDE de Visual Studio

Carga de solución ligera se adapta mejor a soluciones de gran tamaño que contienen proyectos de C# o una combinación de proyectos de C# y C++. Puede que se le solicite habilitar la característica si detectamos que trabaja con soluciones de gran tamaño. Puede encontrar información más detallada sobre esta característica en el blog de Visual Studio.

El rendimiento de compilaciones de solución completas se ha mejorado notablemente, ahora en paridad con carga normal de la solución.

Compatibilidad de búsqueda con coloración de sintaxis, autocompletar, fragmento de código y compatibilidad para buscar del tipo "Navegar a" para más lenguajes

Además de la base de compatibilidad que agregamos en actualizaciones de Visual Studio 2015, en Visual Studio 2017 ahora se admite la coloración de sintaxis y la completación automática para un mayor número de lenguajes. Además, algunos de estos lenguajes también admiten la navegación a través de "Navegar a" (Ctrl+) o fragmentos de código.

Los archivos de los lenguajes que se indican más abajo admiten estas características en el nuevo Editor principal de Visual Studio, incluso cuando no se ha instalado ninguna carga de trabajo para admitir explícitamente el lenguaje en cuestión. Si se instala una carga de trabajo que proporciona soporte para lenguajes (por ejemplo, la carga de trabajo de desarrollo de aplicaciones de escritorio de .NET, la carga de trabajo de desarrollo de aplicaciones de escritorio de Windows con C++, etc.), entonces se puede proporcionar soporte más amplio para lenguajes, como IntelliSense y otras características de lenguajes avanzadas, como Light Bulbs.

Tipos de archivos de lenguaje ordenados por nivel de soporte:

  • Solo admite la coloración de sintaxis y autocompletar:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET y YAML.
  • Admite fragmentos de código (además de coloración de sintaxis y autocompletar):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift y XML.
  • Admite la navegación (además de la coloración de sintaxis y autocompletar):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript y Visual Basic.

Introducción a Project Overview Pages

Hemos introducido una experiencia de introducción completamente nueva para los proyectos recién creados. Hemos reemplazado las páginas de introducción actuales con una pestaña de información general en nuestro nuevo diseñador de configuración de aplicaciones y hemos centrado la página en las acciones que le harán ponerse en funcionamiento rápidamente. Esto se ha habilitado en proyectos de ASP.NET 4.x, ASP.NET Core y Cordova (Figura 11).

Project Overview

(Figura 11) Información general del proyecto

Conexión a los servicios mediante servicios conectados

En una versión anterior, esta característica se denominaba Funcionalidades de servicio. Se le cambió el nombre a Servicios conectados.

Servicios conectados es la versión moderna de la característica "Agregar servicio conectado" o "Agregar referencia de servicio" de Visual Studio 2017. La característica Servicios conectados facilita la conexión de la aplicación con los servicios. Hay disponible un nodo nuevo llamado "Servicios conectados" en el Explorador de soluciones para tipos de proyectos web y móviles. Si hace doble clic en este nodo, se abrirá una nueva pestaña de página completa en Visual Studio en la que podrá detectar los servicios populares de Microsoft a los que se puede conectar.

Seleccionar un servicio en la página Servicios conectados (Figura 12) invocará al asistente de Servicios conectados que configura el proyecto y descarga los paquetes NuGet necesarios para comenzar a codificar el servicio rápidamente y sin problemas.

Connected Services

(Figura 12) Servicios conectados

Adquisición en el producto de herramientas y características

Visual Studio 2017 facilita la adquisición de cargas de trabajo y componentes adicionales sin salir del IDE (Figura 13). Aproveche el inicio rápido para buscar e iniciar el instalador de Visual Studio para cualquier componente individual o carga de trabajo.

In-product acquisition via Quick Launch

(Figura 13) Adquisición en el producto a través de Inicio rápido

Si no puede encontrar las plantillas que busca, el instalador de Visual Studio también se puede abrir desde el cuadro de diálogo Nuevo proyecto (Figura 14).

In-product acquisition via New Project Dialog

(Figura 14) Adquisición en el producto a través de Inicio rápido


Visual C++

Visual Studio 2017 incluye muchas actualizaciones y revisiones del entorno de Visual C++. ¡Muchas gracias por notificárnoslos! Hemos corregido más de 250 errores y problemas notificados en el compilador y las herramientas, muchos enviados por los usuarios a través de Microsoft Connect. En esta versión, trabajamos en la mejora de rendimiento de STL. Ahora se está usando el nuevo motor de base de datos basado en SQLite de forma predeterminada. Esto acelerará las operaciones de base de datos como Definiciones de ir y Buscar todas las referencias y mejorará significativamente el tiempo de análisis de la solución inicial. Ahora se proporciona una experiencia de instalación más granular para la instalación de la carga de trabajo original de C++. Se han agregado componentes seleccionables que permiten instalar únicamente las herramientas que necesita. La compatibilidad con CMake en Visual Studio ya está preparada. Cargue los proyectos CMake directamente en VS y empiece a codificar ahora. La experiencia de "Abrir carpeta" de C++ se mejoró: lleve el código fuente a VS sin necesidad de crear ningún proyecto y solución de VS. Navegar a ahora se conoce como Ir a, un término que engloba un conjunto de nuevos filtros de navegación. Esto facilita obtener los resultados adecuados, especialmente en bases de código más grandes.

Análisis de código de C++

Ahora se distribuyen con Visual Studio los comprobadores principales de C++ para aplicar las directrices principales de C++. Simplemente habilite los comprobadores en el cuadro de diálogo Extensiones de análisis de código en las páginas de propiedades del proyecto (Figura 15) y las extensiones se incluirán al ejecutar el análisis de código.

CppCoreCheck properties page

(Figura 15) Página de propiedades de CppCoreCheck

Compilador C++

Actualizamos el compilador C++ y la biblioteca estándar con compatibilidad mejorada con características de C ++ 11 y C ++ 14, así como la compatibilidad preliminar para determinadas características que se esperan que estén en C ++ 17 estándar. Con la compatibilidad de constexpr generalizado y NSDMI para agregados, el compilador se completa con las características que se agregaron en el estándar de C++14. Tenga en cuenta que al compilador todavía le faltan algunas características de los estándares C++11 y C++98. Visual Studio 2017 permite usar /sdl with /await. Quitamos la limitación de /rtc con corrutinas.

Esta versión ofrece varias mejoras en la optimización y generación de código. Estas son algunas de las mejoras destacables incluidas:

  • Generación de código de bucles mejorada: compatibilidad con vectorización automática de división de enteros constantes, mejor identificación de patrones de memset.
  • Seguridad de código mejorada: emisión mejorada de diagnósticos de compilador de saturación del búfer y /guard:cf ahora protege instrucciones switch que generan tablas de saltos.
  • La opción /debug:fastlink se mejoró para proporcionar tiempos de vínculo un 30 % más rápidos en componentes grandes que en Visual Studio 2015.
  • Se quitó la palabra clave experimental "yield" (disponible en el modificador /await) cuando se usan las corrutinas. En su lugar, se debe actualizar el código para que use la palabra clave "co_yield”. Para más información, consulte el blog del equipo de Visual C++.

Bibliotecas de C++

  • [STL] Mejora de rendimiento de basic_string.
  • [STL] Se agregó <any>, <string_view>, apply(), make_from_tuple().
  • [STL] Se mejoró std::vector para aumentar la exactitud y el rendimiento.
  • [STL] STL ahora evitará desreferenciar punteros elaborados nulos.
  • [STL] Se agregó <optional>, <variant>, shared_ptr::weak_type y <cstdalign>.
  • [STL] Se habilitó C++14 constexpr en min/max/minmax(initializer_list) y min_element/max_element/minmax_element().
  • [STL] Se mejora el rendimiento de los constructores de movimiento de std::string o std::wstring, multiplicándose por tres (y más).
  • [STL] Para obtener una lista completa de las mejoras de STL, consulte el blog del equipo de Visual C++.
  • [ATL] Otro conjunto de correcciones de conformidad para la búsqueda de nombres.
  • [ATL] Los constructores de movimiento y de asignación de movimiento están ahora correctamente marcados como no productores de excepciones.
  • [ATL] Inclusión de la advertencia válida C4640 sobre la inicialización segura de subprocesos de elementos estáticos locales en atlstr.h.
  • [ATL] La inicialización segura de subprocesos de elementos estáticos locales estaba desactivada automáticamente en el conjunto de herramientas de XP al [usar ATL Y crear un archivo DLL]. Pero esto ya no es así. Puede agregar /Zc:threadSafeInit- en la configuración del proyecto si se desea tener desactivada la inicialización segura de subprocesos.
  • [AMP] Biblioteca auditada y errores tipográficos corregidos.
  • [VCRuntime] Nuevo encabezado "cfguard.h" para símbolos de protección de flujo de control.

C++ IDE

El rendimiento del cambio de configuración ahora es mejor para proyectos nativos de C++ y mucho mejor para proyectos C++/CLI. Cuando se activa una configuración de solución por primera vez, ahora será más rápida y todas las activaciones posteriores de esta configuración de la solución serán casi instantáneas.

Ahora se está usando el nuevo motor de base de datos basado en SQLite de forma predeterminada. Esto acelerará las operaciones de base de datos como Definiciones de ir y Buscar todas las referencias y mejorará significativamente el tiempo de análisis de la solución inicial. La configuración se ha movido a Herramientas > Opciones > Editor de texto > C o C++ > Opciones avanzadas (se encontraba anteriormente en... C/C++ > Experimental).

Se ha mejorado el rendimiento de IntelliSense en proyectos y archivos que no utilizan encabezados precompilados; se creará un encabezado precompilado automático para los encabezados en el archivo actual.

Otras actualizaciones incluyen:

  • Se ha agregado el filtro de errores y la ayuda para errores de IntelliSense en la lista de errores (Figura 16). Ahora se puede filtrar al hacer clic en la columna de errores (Figura 17). Además, al hacer clic en los errores específicos o al presionar F1, se iniciará una búsqueda en línea del mensaje de error.

Error List

(Figura 16) Lista de errores

Error List Filtered

(Figura 17) Lista de errores filtrados

  • Se ha agregado la capacidad de filtrar los elementos de la lista de miembros por tipo (Figura 18).

Member List Filtered

(Figura 18) Lista de miembros filtrados

  • Se ha agregado una nueva característica de IntelliSense predictiva experimental que proporciona un filtrado de lo que aparece en la lista de miembros que tiene en cuenta el contexto.
  • La nueva interfaz de usuario de Buscar todas las referencias incluye información acerca de si está leyendo desde una variable en los resultados de código de C++ o si está escribiendo en ella.

  • La característica Punto a flecha de IntelliSense pasó de experimental a avanzada y ahora está habilitada de manera predeterminada. Las características del editor Expandir ámbitos y Expandir precedencia también pasaron de ser una característica experimental a una característica avanzada.

  • Las características experimentales de refacturación Cambiar signatura y Extraer función ahora están disponibles de manera predeterminada.

  • Habilitamos la nueva característica experimental para proyectos de C++ "Carga de proyecto más rápida". La próxima vez que abra un proyecto de C++, se cargará más rápido y la siguiente todavía más.

  • Mejoras en la experiencia de Abrir carpeta. Edite, compile y depure el proyecto de C++ no de MSBuild. Para ello, cargue los códigos fuente a través de "Abrir carpeta". Personalice la experiencia con estos archivos .json:

    • CppProperties.json para personalizar la experiencia de IntelliSense y de exploración.
    • Tasks.vs.json para personalizar los pasos de compilación.
    • Launch.vs.json para personalizar la experiencia de depuración.
  • IntelliSense de C++ trabajará sin la necesidad de crear un archivo CppProperties.json en la carpeta raíz. Además, agregamos un nuevo menú desplegable que le permite a los usuarios cambiar fácilmente entre las configuraciones que proporcionan los archivos CMake y CppProperties.json. La compatibilidad de CMake en Abrir carpeta: abrir proyectos de CMake con la característica "Abrir carpeta" configurará automáticamente el entorno para la edición, compilación y depuración de C++.

  • Se admite una configuración adicional a través de un archivo CMakeSettings.json que reside en la misma carpeta que el archivo CMakeLists.txt (Figura 19).

CMake Open Folder

(Figura 19) Abrir carpeta CMake

Cargas de trabajo de instalación de C++

  • Desarrollo del escritorio de Windows con C++:

    • Ahora se proporciona una experiencia de instalación más granular para la instalación de la carga de trabajo original de C++. Se han agregado componentes seleccionables que permiten instalar únicamente las herramientas que necesita. Tenga en cuenta que los tamaños de instalación indicados para los componentes enumerados en la IU del instalador no son precisos y subestiman el tamaño total.

    • Para crear correctamente proyectos de Win32 en la carga de trabajo de escritorio de C++, debe instalar un conjunto de herramientas y un SDK de Windows. La instalación de los componentes recomendados (seleccionados) "Conjunto de herramientas de VC ++ 2017 v141 (x86, x64)" y "Windows 10 SDK (10.0.14393)" garantizará que esto funciona. Si no se instalan las herramientas necesarias, los proyectos no se crearán correctamente y el asistente se bloqueará.

  • Desarrollo para Linux con C++:

    • La extensión popular Visual C++ for Linux Development ya forma parte de Visual Studio. Esta instalación proporciona todo lo que necesita para desarrollar y depurar aplicaciones de C++ que se ejecutan en un entorno de Linux.
  • Desarrollo de juegos con C++:

    • Utilice toda la capacidad de C++ para crear juegos profesionales con tecnología de DirectX o Cocos2d.
  • Desarrollo móvil con C++ (Android y iOS):

    • Ahora puede crear y depurar aplicaciones móviles con Visual Studio que pueden tener como destino iOS y Android.
  • Desarrollo de la Plataforma universal de Windows:

    • C++ viene como un componente opcional de la carga de trabajo de la Plataforma universal de Windows. Actualmente, la actualización de proyectos de C++ se debe hacer de forma manual. Si abre un proyecto de UWP orientado a v140 en Visual Studio 2017, deberá seleccionar el conjunto de herramientas de la plataforma v141 en las páginas de propiedades del proyecto si no tiene instalado Visual Studio 2015.

Conjunto de herramientas de la plataforma Clang/C2

El conjunto de herramientas Clang/C2 que se incluye con Visual Studio 2017 ahora es compatible con el modificador /bigobj, que es fundamental para la creación de proyectos grandes. También incluye varias correcciones de errores importantes, tanto en el front-end y el back-end del compilador.


C## y Visual Basic

Extensiones de lenguaje

Esta versión presenta la compatibilidad con características de los lenguajes C# 7.0 y Visual Basic 15, entre las que se incluyen:

Para C#:

En Visual Basic:

  • Las tuplas de valores presentan compatibilidad con lenguajes de uso de tuplas para agrupar temporalmente un conjunto de valores con tipo: Dim point As (x As Integer, y As Integer) = GetOffset().
  • El consumo de valores devueltos de ByRef amplía el lenguaje para admitir el consumo de funciones y propiedades de bibliotecas que tienen valores devueltos de ByRef.
  • Los literales binarios y los separadores de dígitos permiten la representación nativa de números binarios. Esto resulta muy práctico para las máscaras de bits y las enumeraciones de marcas: &B1001_0011.

Para más información, siga el diseño de lenguaje en GitHub de CSharpLang y GitHub de VBLang para información sobre estas y otras extensiones de lenguaje propuestas.

Acciones rápidas y refactorizaciones

Visual Studio proporciona muchas refactorizaciones que le ayudarán a ser productivo y a escribir un código más legible. Estas son algunas de ellas:

  • Simplifique la inicialización de objetos con un inicializador (Figura 20).

Use object initializer

(Figura 20) Usar inicializador de objeto

  • Mueva las declaraciones de variables de out insertadas con una nueva característica de C#7 (Figura 21).

Move out variable inline

(Figura 21) Quitar variable en línea

  • Simplifique las comprobaciones nulas y las expresiones Throw mediante un operador de uso combinado de NULL con una nueva característica de C#7 (Figura 22).

Use throw expression with null-coalescing operator

(Figura 22) Usar expresión Throw con operador de uso combinado de NULL

  • Mover el tipo a archivo coincidente: extraiga un tipo de un archivo y colóquelo en otro archivo con un nombre coincidente con un solo clic mediante Ctrl+.
  • Sincronizar nombre de tipo y archivo: si el nombre del archivo y del tipo no están sincronizados, puede utilizar Ctrl+.
  • Convertir String.Format a interpolación de cadena: aproveche la característica del lenguaje C# 6 con esta acción rápida.
  • Agregue los casos que faltan a un modificador de C# o un Visual Basic Select.
  • Convierta la propiedad en un método y viceversa.
  • Agregar referencia de paquete: ofrece recuperar automáticamente e instalar un paquete NuGet (y agregar using o Import) para un tipo no reconocido. Para habilitar esta característica, vaya a Herramientas > Opciones > Editor de texto > [C# / Basic] > Advanced (Opciones avanzadas) > Suggest usings for types in reference assemblies / Suggest usings for types in NuGet packages (Sugerir usos para tipos en ensamblados de referencia / Sugerir usos para tipos en paquetes NuGet).
  • Hacer que los métodos asincrónicos sean sincrónicos cuando corresponda.
  • Compatibilidad con coincidencias "aproximadas" en el caso de tipos mal escritos.
Cumplimiento y configuración de la convención de codificación

Al basarnos en la compatibilidad de Visual Studio para EditorConfig, trabajamos con la comunidad para agregar la configuración de estilo de código .NET para el formato de archivo. Esto significa que puede configurar convenciones de estilo de código de su equipo, protegerlas en el control de código fuente y hacer que las infracciones aparezcan activas en el editor cuando escriben los desarrolladores. Puede ver todas las opciones de estilo de código en .editorconfig o en la documentación del repositorio de Roslyn. Puede seguir configurando los ajustes del estilo de código específicos para la máquina en Herramientas > Opciones > Editor de texto > [C#/Basic] > Estilo de código y estas reglas se invalidan cuando hay un EditorConfig que genera conflicto.

También hemos agregado/actualizado los analizadores de estilo para ayudarle a personalizar y aplicar las convenciones de codificación del equipo, incluidos:

  • Nomenclatura de reglas de estilo.
  • Uso de "var" o tipos explícitos.
  • Uso de "this." o "Me." en acceso de miembros.
  • Use bloques o cuerpos de expresión.
  • Use la coincidencia de patrones para comprobaciones "cast" y "null".
  • Use nombres de tupla explícitos.
  • Simplifique la comprobación de tipo NULL con expresiones throw, delegados condicionales, expresiones de fusión y propagación de tipo NULL.
  • Requiere llaves.

Nota: De manera predeterminada, varias de estas reglas de estilo de código están configuradas como sugerencias en el editor (Figura 23).

Configure code style preferences and enforcement from EditorConfig

(Figura 23) Configurar las preferencias de estilo de código y cumplimiento desde EditorConfig

Mejoras en IntelliSense

Esta versión también presenta mejoras en IntelliSense que le permitirán ser más productivo cuando trabaje en una solución grande o en un código base desconocido. Hemos agregado una bandeja de icono a IntelliSense que le permite filtrar la lista de miembros por tipo (por ejemplo, métodos, propiedades, clases, etc.). Cada cambio de filtro tiene un acceso directo de teclado asociado que puede detectar colocando el mouse sobre el icono. Para habilitar esta característica, vaya a Herramientas > Opciones > Editor de texto > [C# / Visual Basic] > IntelliSense y active las opciones de filtrado y resaltado (Figura 24).

IntelliSense Completion Filtering

(Figura 24) Filtrado de finalización de IntelliSense

Otras mejoras del editor

  • Ahora puede dividir una cadena larga en varias cadenas concatenadas colocando la cadena intermedia del cursor y presionando Enter.
  • Se mejoró la capacidad de respuesta del IDE ante la presencia de operaciones en segundo plano que calculan el diagnóstico y la información de CodeLens.

F# 

Compatibilidad con características del lenguaje F# 4.1

  • Tuplas de struct qué interoperan con tuplas de C# 7/VB 15.
  • Valores devueltos de ByRef que admiten el consumo de valores devueltos ref de C# 7.
  • Compatibilidad del registro struct con el atributo [<Struct>] (por Will Smith).
  • Compatibilidad de unión discriminada de struct con el atributo [<Struct>].
  • Un nuevo tipo Result<'TSuccess, 'TFailure> con funciones de compatibilidad en FSharp.Core (por Oskar Gewalli).
  • La palabra clave fixed, que admite el anclaje de una variable local de tipo de puntero en la pila.
  • Caracteres de subrayado en literales numéricos (por Avi Avni).
  • Argumentos de atributos de información de llamador (por Lincoln Atkinson y Avi Avni).
  • Tipos y módulos mutuamente referenciales dentro del mismo archivo a través de namespace rec y module rec.
  • Sufijo "Módulo" implícito en los módulos que comparten el mismo nombre que un tipo.

Mejoras del compilador de F#  y FSharp.Core

(Muchas realizadas por la comunidad de F#)

Un nuevo editor basado en áreas de trabajo de Roslyn

(Muchas características nuevas del IDE aportadas por la destacada comunidad de F#)

Contribuciones adicionales por la comunidad de F# 

Nos gustaría dar las gracias a toda la comunidad de F# por probar las compilaciones del conjunto de herramientas de F# de Visual Studio 2017, por archivar errores, impulsar las discusiones e implementar correcciones de errores y características. El éxito de F# en Visual Studio 2017 realmente no hubiera sido posible sin la comunidad de F#. Puede ver la lista completa de los colaboradores.


JavaScript y TypeScript

TypeScript 2.1

TypeScript 2.1 está disponible para todos los proyectos de TypeScript en Visual Studio. TypeScript 2.1 ofrece async/await de nivel inferior, una inferencia de mejor tipo, expansión de objetos locales, etc. Para más información sobre la versión, vea la entrada de blog de la versión o el registro de cambios completo.

Servicio de lenguaje JavaScript

Hay disponible y habilitado de manera predeterminada un nuevo servicio de lenguaje JavaScript (Figura 25). El nuevo servicio proporciona IntelliSense con más funcionalidades y agrega compatibilidad con IntelliSense para las anotaciones de comentarios de JSDoc, ES6 y formatos del módulo Common JS. También admite la sintaxis JSX y características de ES2016, como los generadores, módulos y decoradores. Para más información, consulte esta entrada de blog o la documentación de JavaScript IntelliSense en GitHub.

Rich JavaScript IntelliSense for jQuery

(Figura 25) JavaScript IntelliSense completo para jQuery

Mejoras en el rendimiento

Mejorar el rendimiento fue uno de los principales enfoques de esta versión. Junto con varias optimizaciones para mejorar las características de capacidad de respuesta y memoria, todo el servicio de lenguaje JavaScript/TypeScript se trasladó a un proceso satélite fuera de devenv.exe con el fin de liberar memoria para los proyectos de VS de mayor tamaño. Verá que el proceso de Visual Studio consumirá menos energía y habrá menos bloqueos de memoria cuando se trabaje con proyectos enormes de JavaScript. Para más información sobre estas mejoras, consulte esta entrada de blog.


Depuración y diagnósticos

Icono para ejecutar hasta la línea

Solo tiene que hacer clic en un icono junto a una línea de código mientras se depura para ejecutar hasta esa línea (Figura 26). Ya no es necesario establecer puntos de interrupción temporales ni realizar varios pasos para ejecutar el código y detenerse en la línea deseada. Ahora mientras está detenido en un estado de interrupción en el depurador, el icono para ejecutar hasta la línea se muestra sutilmente junto a la línea de código sobre la que se sitúa el mouse. Coloque el mouse sobre el icono y haga clic en el botón. El código se ejecutará y se detendrá en esa línea la próxima vez que se alcance en la ruta de código. Desactívela desde Depuración > Opciones > Habilitar icono para ejecutar hasta la línea.

Run to Click Icon

(Figura 26) Icono para ejecutar hasta la línea

Filtro Asociar al proceso

Busque fácilmente en el cuadro de diálogo Asociar al proceso (Figura 27) para encontrar rápidamente el proceso al que quiere asociar el depurador. La lista de procesos en ejecución se filtrará para mostrar los elementos que coincidan con la búsqueda. El filtro de búsqueda es permanente y recordará la búsqueda anterior cuando vuelva a abrir el cuadro de diálogo.

Attach to Process Filter

(Figura 27) Filtro Asociar al proceso

Reasociar al proceso

Ahora puede volver a asociar rápidamente a los procesos que depuró anteriormente. Desencadenar el nuevo comando Depurar/reasociar al proceso (Mayúscula+Alt+P) intentará de inmediato asociar el depurador a los últimos procesos de la sesión de depuración anterior que se invocaron desde el cuadro de diálogo "Asociar al proceso". El depurador se reasociará a los procesos, primero, intentando coincidir con el identificador de proceso anterior y, luego, coincidiendo con el nombre del proceso anterior. Si no se encuentran coincidencias o si se encuentran varios procesos con el mismo nombre, aparecerá el cuadro de diálogo "Asociar al proceso" para que pueda seleccionar el proceso deseado.

Nuevo auxiliar de excepciones

Use la nueva aplicación auxiliar de excepciones (Figura 28) para ver la información de excepción de un vistazo en un cuadro de diálogo no modal compacto con acceso instantáneo a las excepciones internas. Ya puede consultar rápidamente los elementos nulos al diagnosticar la excepción NullReferenceException directamente en el auxiliar de excepciones. Ahora es posible excluir tipos de excepciones de interrupción producidas desde módulos específicos al hacer clic en la casilla para agregar una condición mientras se detiene en la excepción producida. Lea esta entrada de blog para más información sobre las nuevas ventajas del auxiliar de excepciones.

The New Exception Helper dialog

(Figura 28) El cuadro de diálogo de la nueva aplicación auxiliar de excepciones

Adición de condiciones a la configuración de excepciones

Al configurar el depurador para interrumpir las excepciones iniciadas, puede agregar condiciones para que el depurador se interrumpa solo cuando se produzcan excepciones en los módulos especificados (Figura 29).

Edit Conditions dialog box

(Figura 29) Cuadro de diálogo Editar condiciones

Mejoras a la accesibilidad del depurador

Ahora puede usar de forma efectiva varias de las ventanas del depurador (Pila de llamadas, Variables locales, Automático, Inspección e Inspección rápida) con lectores de pantalla para satisfacer necesidades de accesibilidad.

Eventos de IntelliTrace Events para .NET Core

IntelliTrace ahora admite eventos de MVC, ADO.NET y HttpClient para las aplicaciones de ASP.NET Core. Aparecerán en la pestaña Eventos de la ventana Herramienta de diagnóstico.

Actualizaciones de la ventana Herramientas de diagnóstico

Cuando inicie una sesión de depuración verá una nueva vista de resumen (Figura 30) de la aplicación en la ventana Herramientas de diagnóstico. Desde aquí, podrá hacer lo siguiente:

Summary tab in Diagnostics Tools Window

(Figura 30) Pestaña Resumen de la ventana Herramientas de diagnóstico

Actualizaciones del generador de perfiles de rendimiento

El Generador de perfiles de rendimiento ahora se puede asociar a un proceso en ejecución. Las herramientas Uso de CPU y Uso de GPU y el Asistente de rendimiento permiten su asociación a un proceso en ejecución.

Actualizaciones de la herramienta de uso de CPU

Se hicieron varias mejoras en la herramienta Uso de CPU:

  • Mejor compatibilidad con código externo: la herramienta de CPU ahora ofrece información mejorada sobre los costos de las funciones de biblioteca y marco de trabajo cuando la llamada se realiza con el código de usuario.
  • Vista de funciones (Figura 31): una vista que clasifica las funciones según su costo de CPU.

Functions List

(Figura 31) Lista de funciones

  • La vista Llamador y destinatario (Figura 32) permite investigar los costos de las llamadas de funciones realizadas a y desde una función seleccionada.

Caller / Callee View

(Figura 32) Llamador y destinatario (Vista)

  • La vista Código fuente muestra el código fuente de una función cuando está seleccionada en la herramienta de CPU.

Capacidad de depuración de Chrome

Cuando comience a depurar proyectos de ASP.NET y elija Google Chrome como explorador, Visual Studio depurará el código JavaScript en ejecución en Chrome. Si prefiere usar por el contrario las herramientas de desarrollo en el explorador, puede deshabilitar esta característica en Herramientas > Opciones > Depuración.


Pruebas unitarias en vivo

Pruebas unitarias dinámicas (Figura 33) es una característica de la edición Enterprise de Visual Studio 2017 que muestra los resultados de las pruebas unitarias y la cobertura de código de forma dinámica en el editor. Admite MSTest, xUnit y Nunit para proyectos de C# y VB dirigidos a .NET Framework.

Live Unit Testing

(Figura 33) Pruebas unitarias dinámicas
Consulte el blog sobre las pruebas unitarias dinámicas para obtener más información.


Herramientas de pruebas

Asocie la automatización con elementos de trabajo de casos de prueba mediante el Explorador de pruebas

Ahora puede asociar la automatización con los elementos de trabajo de casos de prueba (Figura 34) si selecciona un método de prueba en el Explorador de pruebas. Esta nueva experiencia también le permite ver todas las asociaciones existentes para el método de prueba elegido.

Simplemente haga clic con el botón derecho en el Explorador de pruebas...

Test Explorer Associate Automation

(Figura 34) Asociar automatización del Explorador de pruebas

... y proporcione un identificador de caso de prueba para crear una asociación (Figura 35).

Associate Automation

(Figura 35) Asociar automatización

En las versiones anteriores de Visual Studio, esto se podía hacer con el formulario de elemento de trabajo. La experiencia basada en el formulario de elemento de trabajo se puede habilitar si se activa el modo de compatibilidad a través de Herramientas | Opciones (Figura 36).

Work Item Form Compatibility mode

(Figura 36) Modo de compatibilidad del formulario de elemento de trabajo


Team Explorer

Nuevas características de Git

Agregamos nuevas características de Git a Visual Studio 2017 que le permiten hacer más del flujo de trabajo completo sin tener que dejar el IDE. Puede ver fácilmente la diferencia para las confirmaciones salientes, forzar una inserción para completar una reorganización o insertar una confirmación corregida, quitar la rama ascendente y continuar la reorganización de revisiones desde VS. Además, hemos cambiado a git.exe. De este modo, podemos proporcionar las características más recientes. Se admite SSH, se respetan las opciones de configuración y se muestra exactamente el contenido de la línea de comandos en Team Explorer. Para más información sobre estas características, revise esta entrada de blog.

Conexión a VSTS/TFS

En la página de inicio de Visual Studio y en Team Explorer, se personalizó y optimizó el proceso para conectarse a proyectos y clonar repositorios en VSTS/TFS, por lo que ahora es más rápido y fácil encontrar los proyectos y repositorios con los cuales conectarse. En la nueva página de conexión de la marca solo se muestran los proyectos y repositorios asignados y clonados en todos los servidores VSTS/TFS (en lugar de cada repositorio para cada proyecto). Además, ya no necesita conectarse a un proyecto antes de clonar repositorios.

Al iniciar el cuadro de diálogo para conectarse a VSTS y TFS, verá la experiencia de usuario rediseñada. Verá los servidores TFS que haya agregado, seguidos de todos los servidores, proyectos y repositorios de VSTS de la cuenta de usuario seleccionada. Los resultados se incluyen en un árbol para permitir una navegación más eficiente. Puede conectarse a colecciones o proyectos, además de a repositorios. Para obtener más información, consulte Conectar a proyectos de equipo.

Formularios de elemento de trabajo

Al conectarse a Visual Studio Team Services desde Visual Studio 2017 y abrir un elemento de trabajo, el formulario de elemento de trabajo aparecerá en el explorador web (Figura 37). Sin embargo, si se conecta a Team Foundation Server 2015 o a una versión anterior, verá los formularios de elemento de trabajo heredado.

Work Item Form in Team Explorer

(Figura 37) Formulario de elemento de trabajo en Team Explorer


Flujo de trabajo mejorado para comentarios sobre Visual Studio

Visual Studio 2017 incluye una experiencia de comentarios actualizada para mejorar el seguimiento y la colaboración. Como parte de esta actualización, la notificación de problemas es más colaborativa en Visual Studio ya que se complementa con un amplio portal web que proporciona una solución completa de comentarios descentralizados. Ahora puede buscar, votar, obtener y realizar el seguimiento de las últimas actualizaciones en función de todos los comentarios que nos ha proporcionado a través de la característica Notificar un problema del IDE de Visual Studio. Estas experiencias mejoradas abordan muchos de los comentarios que recibimos de usted y permiten la comunicación bidireccional entre nuestros equipos y usted.


Extensibilidad de Visual Studio

Nuevo formato de extensibilidad

La nueva tecnología del instalador de Visual Studio 2017 le proporciona mayor control sobre las herramientas que se instalan. Algunos usuarios pueden instalar solo el editor de Visual Studio principal, mientras que otros pueden instalar varias cargas de trabajo. Para garantizar la instalación de las características y extensiones que se requieren como requisito previo, ahora los creadores de la extensión podrán especificar en el manifiesto qué componentes individuales se requieren para la extensión.

Los usuarios recibirán una advertencia cuando intenten instalar una extensión no compilada con el nuevo formato VSIX. El antiguo formato VSIX no especifica los requisitos previos necesarios y puede que no funcione si esos requisitos previos no están disponibles en Visual Studio 2017. El nuevo formato VSIX es compatible con versiones anteriores de Visual Studio hasta Visual Studio 2012.

Se actualizó el diseñador de manifiestos de VSIX para que refleje los cambios del manifiesto. En la pestaña de requisitos previos (Figura 38), los desarrolladores de extensiones pueden encontrar una lista de los componentes instalados para especificarlos como requisito previo de su extensión.

Prerequisite

(Figura 38) Pestaña de requisitos previos

Durante la instalación de la extensión, el instalador de VSIX (Figura 39) indicará los componentes que faltan y los instalará junto con la extensión.

VSIXInstaller

(Figura 39) VSIXInstaller

Modificar extensiones de forma masiva

En el cuadro de diálogo Extensiones y actualizaciones (Figura 40), ahora se puede programar la instalación, actualización y desinstalación de varias extensiones antes de que sea necesario reiniciar Visual Studio. En la esquina inferior derecha aparece un resumen de las tareas programadas. Para quitar una modificación programada, haga clic en la X junto a una extensión que está programada para instalarse.

Extensions and Updates Dialog

(Figura 40) Cuadro de diálogo Extensiones y actualizaciones

Una vez que el instalador de VSIX detecta que todas las ventanas de Visual Studio están cerradas, comenzará a realizar las modificaciones programadas (Figura 41).

Batched Modification Installer

(Figura 41) Instalador de modificaciones por lotes

Compatibilidad con NGen

Ahora puede elegir instalar ensamblados con Ngen (Figura 42).

NGEN Properties

(Figura 42) Propiedades de NGEN

  • Ngen: usar o no Ngen en el ensamblado.
  • Aplicación Ngen: la aplicación para pasar a Ngen a través del modificador /ExeConfig.
  • Arquitectura Ngen: la arquitectura de destino de la imagen nativa. Las opciones son: x86, x64 y todas.
  • Prioridad Ngen: nivel de prioridad de Ngen.

Instalar archivos fuera del directorio de la extensión

Ahora puede elegir si instalar los archivos en una lista de selección de carpetas que se encuentran fuera del directorio de la extensión (Figura 43).

VSIX Properties

(Figura 43) Propiedades de VSIX

  • Incluir en VSIX: incluya el archivo en el proyecto de VSIX.
  • Directorio raíz de instalación: el directorio raíz para instalar el archivo. Las opciones son: Default (la instalación se realiza dentro del directorio de la extensión), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger y VSTargets.
  • Ruta de acceso de destino: el nombre del archivo que se va a instalar en el equipo del usuario.
  • Subruta de acceso a VSIX: la subruta en el directorio raíz de instalación donde se va a instalar el archivo.

Roaming Extension Manager

Como novedad de Visual Studio 2017, Roaming Extension Manager permite realizar un seguimiento de las extensiones favoritas en todos los entornos de desarrollo. Al utilizar un perfil móvil de las extensiones se crea una lista sincronizada en la nube que permite realizar un seguimiento de las extensiones que ha instalado.

Al iniciar sesión en Visual Studio, puede ver rápidamente una lista de las extensiones. Para ello, vaya a Herramientas > Extensiones y Actualizaciones, y haga clic en Roaming Extension Manager (Figura 44). Permite realizar un seguimiento de las extensiones que ha instalado y elegir cuáles se agregan a la lista Itinerancia. Teniendo en cuenta que cada día aparecen nuevas extensiones en la galería, esta herramienta facilita y agiliza el proceso de configuración de cada entorno de desarrollo con sus extensiones favoritas.

The new Roaming Extension Manager in the Visual Studio IDE

(Figura 44) Nuevo Roaming Extension Manager en el IDE de Visual Studio

Al usar esta característica, observará 3 tipos de iconos:

  • Icono de extensión con perfil itinerante: indica una extensión que forma parte de la lista Itinerancia, pero que no está instalada en este equipo. Puede instalarla mediante el botón "Descargar".
  • Icono de extensión con perfil itinerante e instalada: indica todas las extensiones que forman parte de la lista Itinerancia y que están instaladas en este entorno. Si decide que no quiere utilizar un perfil móvil, puede quitarlas mediante el botón "Detener itinerancia".
  • Icono de extensión instalada: indica todas las extensiones que están instaladas en este entorno, pero que no forman parte de la lista Itinerancia. Las extensiones se pueden agregar a la lista de itinerancia mediante el botón “Iniciar itinerancia”.

Estos iconos muestran el estado actual de la lista. Puede tener extensiones en cualquier estado y personalizarlas tanto como quiera. Aunque también puede dejar que lo hagamos por usted. Las extensiones que descargue mientras tenga la sesión iniciada se agregarán a la lista como en itinerancia e instaladas y, por tanto, formarán parte de la lista Itinerancia. Podrá acceder a ellas desde cualquier máquina.

Detección de plantillas de proyecto y de elemento

A partir de Visual Studio 2017, hay un cambio importante en lo que respecta a cómo Visual Studio usa plantillas de proyecto y elemento para mejorar el rendimiento de la detección de plantillas. Ahora el nuevo mecanismo de detección requiere que todas las plantillas de proyecto y elemento sigan el esquema "vstemplate" que debe definirse en los archivos de manifiesto de la plantilla. Las plantillas de Visual Studio que no se definen en un archivo de manifiesto de plantilla ya no serán visibles en los cuadros de diálogo Nuevo proyecto o Nuevo elemento. Mientras que las nuevas herramientas de extensibilidad generarán un manifiesto durante el tiempo de compilación de VSIX, si dispone de plantillas de Visual Studio que se han publicado como parte de un paquete MSI, deberá generar manualmente los archivos de manifiesto de plantilla de esas plantillas. Para obtener más información, consulte la página de MSDN Actualización de proyectos personalizados y plantillas de elemento para Visual Studio 2017.


.NET Core y ASP.NET Core

Contiene la versión 1.0 final de las nuevas herramientas de .NET Core basadas en MSBuild. Con Visual Studio 2017, puede crear bibliotecas estándar de .NET, aplicaciones y bibliotecas de .NET Core y proyectos web de ASP.NET que usan el nuevo formato csproj.

Las herramientas de .NET Core se incluyen automáticamente en la carga de trabajo "Desarrollo de ASP.NET y web" y un componente opcional en la carga de trabajo "Desarrollo de escritorio de .NET" del instalador. Si solo desea desarrollar aplicaciones .NET Core para usarlas entre plataformas, puede instalar solamente las herramientas .NET Core y ASP.NET Core a través de la carga de trabajo "Desarrollo multiplataforma de .NET Core" desde la sección "Otros conjuntos de herramientas" del instalador.

Las características de alto nivel de esta versión incluyen lo siguiente:

  • Compatibilidad de MSBuild con proyectos de .NET Core, con un formato de proyecto csproj simplificado que facilita editar a mano sin que sea necesario descargar el proyecto.
  • Editar el archivo .csproj de .NET Core es tan simple como hacer clic con el botón derecho en el proyecto en el Explorador de soluciones y elegir "Editar".
  • Compatibilidad con caracteres comodín de archivo en el archivo del proyecto, donde no es necesario enumerar todos los nombres de archivo de código fuente, lo que permite que el tamaño del archivo csproj siga siendo compacto.
  • Las referencias a paquetes NuGet ahora forman parte del archivo csproj, con lo que todas las referencias de un proyecto se consolidan en un archivo.
  • Interoperabilidad entre proyectos de .NET Core, .NET Standard y .NET Framework. Por ejemplo, un proyecto de .NET Core puede agregar una referencia de proyecto a proyecto a un proyecto de .NET Standard.
  • Varios marcos de trabajo de destino en un proyecto.
  • Los proyectos existentes de .NET Core project.json migrarán automáticamente a csproj cuando se abran en Visual Studio, o bien puede hacerlo manualmente para migrarlos, use la interfaz de la línea de comandos (CLI) de .NET
  • Configure fácilmente la integración de compilación continua para la aplicación de ASP.NET Core con compatibilidad con Docker y entrega de compilación continua a Azure Container Service desde dentro del IDE de Visual Studio.

Consulte el Blog de .NET para obtener más detalles.


Herramientas para desarrollo de aplicaciones universales de Windows

Cadena de herramientas nativa de .NET actualizada

Esta cadena de herramientas .NET Native actualizada agrega varias optimizaciones para mejorar el rendimiento en tiempo de ejecución de las aplicaciones UWP administradas en Visual Studio. La versión incluye más de 600 correcciones de errores y características para abordar los comentarios de clientes clave y mejorar la calidad general de la cadena de herramientas.

Paquete Microsoft.NETCore.UniversalWindowsPlatform 5.3.0

Esta actualización a las bibliotecas del marco .NET Core NuGet corrige una serie de problemas clave notificados por los clientes. Los proyectos existentes de UWP pueden usar el administrador de referencias de NuGet para actualizar a esta nueva versión. Además, el nuevo paquete de .NET Core incluye la cadena de herramientas nativa de .NET.

Emulador y SDK de la Actualización de aniversario de Windows 10

El SDK de Windows y el emulador de Windows Phone de la Actualización de aniversario de Windows 10 se incluyen en esta versión.

  • Los elementos de la interfaz de usuario creados desde el cuadro de herramientas ahora se crearán con menos etiquetas XAML, de forma que se obtendrá un XAML más claro y legible.
  • Una nueva herramienta de opciones en el Diseñador XAML permite al desarrollador seleccionar el tema de la interfaz de usuario y la configuración de Contraste alto que se mostrará como vista previa en la superficie de diseño.
  • Los editores de valores de la ventana Propiedades aceptan ahora ecuaciones matemáticas sencillas, como "60 + 20". Las ecuaciones se evaluarán inmediatamente (en este caso, 80) y su valor resultante se incluirá en el archivo XAML.

Capacidad del diseñador de manifiestos de crear activos visuales

El diseñador de manifiestos (Figura 45) ha experimentado una actualización visual y ahora tiene la capacidad añadida de generar activos visuales para aplicaciones UWP. Ahora puede utilizar una única imagen de origen para crear mosaicos, logotipos, iconos y pantallas de presentación en una o todas las escalas para ajustarse a cada tipo de dispositivo al que se dirija su aplicación.

Manifest Visual Asset Generator

(Figura 45) Generador de activos visuales del manifiesto

Análisis de UI

Las herramientas de la Plataforma universal de Windows ahora tiene la capacidad de detectar problemas frecuentes relacionados con el rendimiento y la accesibilidad. Al habilitar la herramienta "Análisis de UI" en el menú Seleccionar herramientas de la ventana Herramientas de diagnóstico, se notificarán estos problemas junto con vínculos a artículos útiles que explican cómo y por qué deben resolverse. Desarrollar con Análisis de UI habilitado pone la accesibilidad y el rendimiento de la UI en el centro del desarrollo de las aplicaciones.


Xamarin

Xamarin 4.4 está incluido en Visual Studio 2017. Para más información, consulte el notas de la versión de Xamarin.

Esta versión de Xamarin para Visual Studio 4.4 actualiza las versiones Xamarin.iOS 10.8 y Xamarin.Android 7.2.

Correcciones de errores

En esta versión se incluyen las siguientes correcciones:

  • Las aplicaciones de la extensión de iOS no se pueden compilar y se produce el error “cannot read Entitlements data” (no se pueden leer los datos de los derechos) (4.4.0.31).
  • Se incluyen símbolos para los informes Watson (4.4.0.6).
  • Error de la implementación en Android si la solución también contiene un proyecto de Wix (4.3.1.39).
  • Se produce un interbloqueo al abrir algunos proyectos de iOS (4.3.1.39).
  • Los puntos de interrupción no se corresponden con las referencias PCL de segundo nivel (4.3.1.39).
  • Se corrige el problema en iOS debido a la falta de la tarea CodeSignNativeLibraries (4.3.1.39).
  • Error al abrir el guion gráfico tras conectarse al servidor Mac (4.3.1.39).
  • El proyecto de biblioteca de clase de Android solo debe incluir “Compilar mediante la versión de Android” en la página Propiedad (4.3.1.39).
  • Visual Studio se cuelga al acceder a la pestaña Herramientas > Opciones > Xamarin > Otros (4.3.1.39).
  • Visual Studio deja de responder al cargar una solución multiplataforma en algunos entornos (4.3.1.1).
  • Las plantillas de proyecto de VS no incluyen ninguna referencia a Microsoft.Csharp (4.3.1.1).
  • No se puede conectar al servidor Mac si el Shell de usuario configurado no usa la sintaxis bash (4.3.1.1).
  • Falta la opción Enviar a la nube de pruebas (corregido en VS2013 y VS2015) (4.3.1.1).
  • El depurador se confunde cuando el nombre de la variable o propiedad es el mismo que el de la clase de otro elemento (4.3.1.1).
  • No se puede cambiar el nombre del conjunto de imágenes de un catálogo de recursos (4.3.1.1).
  • La carpeta “Recursos” se oculta a la fuerza en los proyectos de las extensiones de inspección (4.3.1.1).
  • Para los proyectos de tvOS, la carpeta “Assets.xcasset” de “Recursos” no se oculta (4.3.1.1).

Visual Studio Tools para Apache Cordova

Esta versión de Visual Studio 2017 incluye las siguientes mejoras:

  • Simulación de Cordova: un nuevo simulador basado en el explorador le permite programar rápidamente y ver los resultados de inmediato en el explorador (Figura 46). La recarga en vivo, simulación de complementos y la compatibilidad con el marco Ionic permiten que Visual Studio tenga el flujo de trabajo de desarrollador más rápido del mercado.

Cordova simulate

(Figura 46) Simulación de Cordova

  • Compatibilidad para iOS 10 y XCode 8: una actualización del agente de servidor remotebuild para desarrollo de iOS ahora incluye compatibilidad con XCode 8.

  • Coloración de errores: dado que el diagnóstico de errores de compilación a menudo requiere que los desarrolladores lean los resultados completos de la compilación, hemos comenzado a colorear los errores en el panel de resultados de la compilación para facilitar la lectura (Figura 47). También hemos agregado encabezados para delimitar los pasos del proceso de compilación con el fin de ayudar a los desarrolladores a identificar dónde se ha producido un error en el proceso de compilación.

Pretty printing

(Figura 47) Errores coloreados

  • Adquisición en el producto: además de la nueva instalación ligera para ayudarle a compilar aplicaciones de Cordova con mayor rapidez, ahora se agregan nuevos métodos en Visual Studio para adquirir unidades de compilación adicionales a medida que prosigue el desarrollo (Figura 48). Si no ha instalado los componentes de Android o Windows, puede obtenerlos a través de la barra de implementación, que iniciará la instalación de Visual Studio y le guiará por el proceso de instalación.

In-product acquisition

(Figura 48) Adquisición en el producto

  • Compilaciones rápidas y confiables: el nuevo instalador de Visual Studio, combinado con la instalación sin conexión de una cadena de herramientas completamente validada de componentes de terceros, permite compilaciones más rápidas que, además, son fáciles de corregir y solucionar.
Importante

Los emuladores y las herramientas de compilación para Android y Windows ahora son opcionales. Puede obtenerlos dinámicamente a través de la barra de menús de compilación e implementación. Esta versión de Visual Studio no admite proyectos de la Tienda Windows 8.1. Se recomienda que actualice sus proyectos de Cordova para dirigirse a Windows 10. La versión mínima admitida de Cordova se eleva a la 6.0.0. Los proyectos destinados a una versión de Cordova inferior a la 6.0.0 tendrán que actualizar su proyecto en config.xml para realizar compilaciones e implementaciones en Visual Studio 2017.


Herramientas de Node.js para Visual Studio

Con Herramientas de Node.js para Visual Studio, Visual Studio se convierte en un entorno de desarrollo de Node.js eficaz. Esta versión se centra en la estabilidad, el rendimiento y la calidad general del producto, lo que incluye:

  • Una mejor integración con el nuevo servicio de lenguaje JavaScript Salsa.
  • Menor uso de memoria y CPU, y menores tiempos de carga del proyecto.
  • Compatibilidad con archivos de plantilla Pug.
  • Plantillas de proyecto más actualizadas.
  • Compatibilidad con el marco de prueba Mocha 3.x.
  • Varias correcciones de errores.

Gracias a todos los colaboradores asombrosos que hicieron posible esta versión de Herramientas de Node.js para Visual Studio. Para más información, consulte el proyecto Herramientas de Node.js de código abierto en GitHub.


Visual Studio Tools para Unity

Use Visual Studio para escribir y depurar juegos de Unity para todas las plataformas. Visual Studio Tools para Unity 3 (Figura 49) ahora está disponible para instalarse con la carga de trabajo "Desarrollo de juegos con Unity" en el nuevo instalador de Visual Studio 2017. Visual Studio Tools para Unity 3 se centra en mejorar la experiencia de edición y depuración de código para los desarrolladores de Unity, además de la calidad general del producto, lo que incluye:

  • Compatibilidad de IntelliSense con los mensajes de Unity.
  • Uso de colores para el código de los mensajes de Unity.
  • Mejor evaluación de expresiones en el depurador de Unity.
  • Mejores asistentes de mensajes de Unity para admitir todos los tipos de Unity que pueden recibir mensajes.
  • Varias correcciones de errores y optimizaciones.

Code completion session for Unity messages

(Figura 49) Sesión de finalización de código para mensajes de Unity


Redgate

Redgate Data Tools se incluye ahora con Visual Studio

Para ampliar las capacidades de DevOps de Visual Studio 2017 para el desarrollo de bases de datos SQL Server, Redgate Data Tools, que incluye Redgate SQL Prompt Core, Búsqueda de SQL de Redgate y Redgate ReadyRoll Core, están ahora disponibles en la carga de trabajo de procesamiento y almacenamiento de datos.

  • Redgate ReadyRoll Core, incluido con Visual Studio Enterprise 2017, le ayuda a desarrollar scripts de migración, administrar cambios en la base de datos a través del control de código fuente y automatizar de forma segura implementaciones de cambios en la base de datos de SQL Server junto con cambios en las aplicaciones.
  • Redgate SQL Prompt Core, incluido con Visual Studio Enterprise 2017, le permite escribir SQL con más rapidez y exactitud con la ayuda de la finalización de código inteligente. SQL Prompt completa automáticamente los objetos de base de datos y del sistema, así como las palabras clave, y ofrece sugerencias de columna a medida que escribe. Esto da como resultado un código más limpio con menos errores porque no es necesario recordar cada nombre o alias de columna.
  • Búsqueda de SQL de Redgate, incluido con todas las ediciones de Visual Studio 2017, aumenta la productividad al permitir encontrar rápidamente fragmentos y objetos de SQL en todas las bases de datos.

NuGet

Visual Studio 2017 incluye NuGet 4.0. Esta versión se centra en admitir la referencia de paquetes para los tipos de proyecto de la mayoría, mejoras en la calidad y mejoras en el rendimiento:

  • En proyectos de WPF, WindowsForms y UWP, ahora es posible administrar los paquetes mediante las referencias de paquete.
  • La compatibilidad con restauración de NuGet se ha mejorado para la restauración de solución ligera. Ahora, las restauraciones pueden llevarse a cabo sin necesidad de cargar ningún proyecto.
  • En el caso de los proyectos de .NET Core y ASP.NET Core, ahora los paquetes se administran con referencias de paquetes.
  • En Visual Studio 2017 y versiones posteriores, el archivo NuGet.config para todo el equipo se encuentra ahora en %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. En el futuro, nuget.exe v4.0.0+ también considerará la ubicación nueva para realizar una configuración en toda la máquina. Ya no se hará referencia implícita ni se considerará a NuGet.config en los datos de programas para la combinación jerárquica de NuGet.config.

Herramientas para aplicaciones XAML

Editar XAML y continuar

Visual Studio ahora permite editar XAML mientras se ejecuta la aplicación universal de Windows o WPF. Mientras se depura la aplicación en Visual Studio, puede realizar un cambio en el marcado en el editor de código XAML y el cambio se reflejará en la aplicación en ejecución sin tener que volver a compilar la aplicación.

Mejoras en la productividad del editor XAML

  • Filtrado de IntelliSense: al escribir XAML, la lista de finalización solo mostrará los tipos coincidentes y se seleccionará la coincidencia más próxima.
  • IntelliSense para x:Bind: hemos habilitado la finalización de IntelliSense para x:Bind al enlazar a eventos y ruta de acceso.
  • Finalización del espacio de nombres: si no existe la referencia al espacio de nombres (Figura 50), no obtendrá compatibilidad con IntelliSense mientras escribe. Cuando haya terminado de escribir, tendrá compatibilidad con sugerencias a través de bombillas para generar e insertar el prefijo del tipo, además de agregar la definición de espacio de nombres en el documento XAML.

IntelliSense_without namespace

(Figura 50) IntelliSense sin espacio de nombres

  • Para los tipos que requieren un prefijo, IntelliSense ofrecerá completar automáticamente el prefijo si ya existe la referencia al espacio de nombres.


  • Refactorización de cambio de nombre del prefijo del espacio de nombres: puede invocar la acción para cambiar nombre (Figura 51) desde el menú contextual o con el método abreviado de teclado Ctrl+R+R cuando el cursor esté en el prefijo. También puede obtener una vista previa de los cambios antes de aplicarlos.

Namespace Prefix Rename

(Figura 51) Cambio de nombre del prefijo de espacio de nombres

  • Quitar y ordenar los espacios de nombres: ahora puede quitar los espacios de nombres que no sean necesarios (Figura 52) y ordenarlos desde el menú contextual o con el método abreviado de teclado Ctrl+R+G. Si los documentos XAML tienen espacios de nombres innecesarios, también verá una bombilla que le dará la opción de quitarlos.

Lightbulb_remove unnecessary namespace

(Figura 52) bombilla para quitar espacio de nombres innecesario

  • Compatibilidad con .editorconfig para el editor XAML: puede definir la configuración de indent_style, indent_size y tab_width en el archivo .editorconfig que se usará en lugar de la configuración definida en Herramientas > Opciones.

  • Visualizador de estructura para el editor XAML: el visualizador de estructura (es decir, las guías de sangría) (Figura 53) ahora está integrado en Visual Studio y no se requiere una extensión independiente. Esta característica muestra el contexto del bloque de código en el que está trabajando, sin necesidad de desplazarse.

Structure Visualizer for XAML editor

(Figura 53) Visualizador de estructura para el editor XAML

Mejoras de rendimiento de XAML

  • Rendimiento de conmutación de la pestaña XAML mejorado: el rendimiento de conmutación de la pestaña XAML ha mejorado considerablemente. En proyectos de cliente de ejemplo se ha observado una reducción del tiempo de conmutación superior al 90%.
  • Solución de demoras en la introducción de texto en el editor XAML: la escritura de XAML es ahora más rápida que nunca. Hemos realizado varias inversiones en esta área para disminuir las demoras en la escritura en el editor de XAML y la mayoría de los desarrolladores encontrarán que el editor XAML e IntelliSense en XAML tienen mayor capacidad de respuesta. Esto quedará especialmente patente al editar un archivo XAML en proyectos que utilizan controles de terceros o grandes bibliotecas de controles.

Herramientas de datos y SQL Server

SQL Server Data Tools

La actualización más reciente de SQL Server Data Tools se ha incluido en Visual Studio 2017, que habilita la compatibilidad para las características más recientes de Azure SQL Database y SQL Server 2016.

Esta versión combina la facilidad de desarrollo, prueba e implementación de una base de datos en todas las versiones compatibles de las plataformas de base de datos y SQL Server (local y en la nube) mediante Visual Studio. La versión también incluye mejoras del área expuesta de programación de base de datos y mejora la experiencia de conexión de SQL en SQL Server Data Tools, que ahora detecta automáticamente SQL Server y Bases de datos SQL de Azure que puede conectar con un simple clic.

Además, Visual Studio 2017 soluciona los nuevos tipos de autenticación de Azure SQL Database, así como la autenticación de contraseña e integrada de Azure Active Directory.


Developer Analytics Tools

Visual Studio 2017 incluye Developer Analytics Tools v8.6, con las siguientes mejoras:

  • CodeLens muestra ahora datos de telemetría activos y de depuración en proyectos que envían datos a un recurso de Application Insights.
  • CodeLens para excepciones se vincula al análisis de aplicaciones para mostrar al usuario el impacto de una excepción.
  • CodeLens muestra solicitudes procedentes de sesiones de depuración local, en los proyectos con el SDK de Application Insights.
  • CodeLens para solicitudes y excepciones disponibles actualmente en los proyectos de Visual Basic.
  • Live Metrics se muestran ahora en una notificación del sistema después de que publique la aplicación desde Visual Studio.
  • La información sobre precios de Application Insights se muestra ahora en la ventana Configuración.
  • Los eventos de disponibilidad se muestran ahora en las herramientas de búsqueda y tendencias.
  • Los eventos de las herramientas de búsqueda y diagnóstico muestran ahora recuentos correspondientes a la frecuencia con que se produjeron en función del muestreo adaptable del SDK.
  • CodeLens muestra las excepciones que se han producido durante las sesiones de depuración local para los proyectos con el SDK de Application Insights.
  • Nuevo diseño de la ventana de configuración de Application Insights.
  • CodeLens para excepciones tiene ahora un vínculo al análisis de aplicaciones para ver el impacto que ha tenido una excepción en los usuarios.
  • El SDK de JavaScript de Application Insights para recopilar datos de telemetría de vista de página se agrega ahora cuando Application Insights se agrega a un proyecto.
  • Las anotaciones de publicación ahora se envían al recurso de Application Insights cuando publica la aplicación desde Visual Studio.
  • Los marcadores de la barra de desplazamiento se muestran ahora para los indicadores rojo y amarillo de CodeLens de Application Insights.

Obtenga más información sobre Application Insights en la documentación de Microsoft Azure.


Office Developer Tools para Visual Studio

Esta versión incluye Office Developer Tools con las últimas características y actualizaciones, que incluyen:

  • Nuevas plantillas de complementos de Office específicas de Excel, Word, PowerPoint y Outlook.
  • Compatibilidad para nuevas características de complementos de Office como comandos de complementos, interfaz de usuario de Fabric y una nueva versión de Office.js.
  • Nuevo código de inicio en las plantillas que mostrarán cómo empezar a trabajar con las nuevas características del complemento de Office.
  • Compatibilidad de SharePoint 2016 en plantillas de complementos y soluciones de SharePoint.

Validación dinámica de dependencias de arquitectura

Si ha configurado diagramas de validación de dependencias (también conocidos como diagramas de capas) en Visual Studio Enterprise, ahora obtendrá notificaciones en tiempo real (Figura 54) de las infracciones de las reglas de dependencia de arquitectura a medida que escriba código en el Editor de código. Los errores aparecen en la Lista de errores y los subrayados ondulados aparecerán en el editor de texto que le mostrarán la ubicación exacta de la infracción. Ahora es menos probable introducir dependencias no deseadas.

Live Architecture Dependency validation

(Figura 54) Validación dinámica de dependencias de arquitectura


Símbolo del sistema para desarrolladores

Los scripts del símbolo del sistema para desarrolladores de Visual Studio 2017 se han refactorizado para admitir la nueva experiencia de instalación:

  • Las variables de entorno solo reflejarán las cargas de trabajo instaladas.
  • El acceso directo del símbolo del sistema para desarrolladores de Visual Studio debe ser compatible con versiones anteriores.
  • Ahora puede configurar los scripts del Símbolo del sistema para desarrolladores a través de los argumentos de la línea de comandos:
    • En un símbolo del sistema, llame a common7\tools\vsdevcmd.bat -help (desde el directorio de instalación de Visual Studio) para más información.

SDK de Azure para .NET

El SDK de Azure para .NET de Visual Studio ahora está disponible para instalarse con el nuevo instalador de Visual Studio. Si anteriormente instaló el SDK de Azure para .NET mediante el Instalador de plataforma web, ahora puede obtener los mismos componentes mediante la instalación de la carga de trabajo de Azure con el nuevo instalador de Visual Studio. Los paquetes que se instalan presentan el mismo nivel de características que la versión 2.9.5 del SDK. Para esta versión de Visual Studio y todas las versiones futuras, el SDK de Azure para .NET solo estará disponible desde el instalador de Visual Studio.


Visite las notas de la versión actual

The Developer Community Portal Consulte los problemas detectados por los clientes que se han solucionado en la versión 15.3 de Visual Studio 2017.

Consulte las notas de la versión 15.2 de Visual Studio 2017

The Developer Community Portal Consulte los problemas detectados por los clientes que se han solucionado en la versión 15.2 de Visual Studio 2017.

Consulte las notas de la versión de Visual Studio 2017 15.1

The Developer Community Portal Consulte los problemas detectados por los clientes que se han solucionado en la versión 15.1 de Visual Studio 2017.

Problemas conocidos

Consulte todos los problemas conocidos y soluciones alternativas disponibles en Visual Studio 2017.

Principio de página