Visual Studio IconNotas de la versión de Visual Studio 2015


Términos de licencia | Blog de Visual Studio | Developer Community

Nota:

Esta no es la versión más reciente de Visual Studio. Para descargar la versión más reciente, visite las notas de la versión actual de Visual Studio 2019.


Versiones de Visual Studio 2015

Puede ver las notas de la versión de todas las versiones de Visual Studio 2015:

Descarga de Visual Studio 2015

Puede descargar Visual Studio 2015 desde My.VisualStudio.com. My.VisualStudio.com requiere una suscripción gratuita a Dev Essentials o una suscripción a Visual Studio.


Release Notes IconVisual Studio 2015

Fecha de publicación: 20 de julio de 2015

Resumen de las novedades de esta versión

Otros cambios:

Detalles de las novedades de esta versión

Visual C++ para desarrollo móvil multiplataforma

Ahora es fácil compartir, reutilizar, compilar, implementar y depurar todo, excepto el más específico de la plataforma, en varias plataformas de aplicaciones, y todo dentro de una única solución de Visual Studio. Estas son solo algunas de las cosas que puede hacer:

  • Crear proyectos a partir de plantillas para aplicaciones Android Native Activity o para bibliotecas de código compartido que pueda usar en varias plataformas y en aplicaciones Android nativas de Xamarin.

  • Usar IntelliSense específico de la plataforma para explorar las API y generar código correcto para destinos de Android o Windows.

  • Configure su compilación para x86 o plataformas nativas de ARM.

  • Implemente su código en dispositivos Android asociados o use el emulador de rendimiento para Android de Microsoft para hacer pruebas.

  • Establezca puntos de interrupción, vea las variables y la pila, y revise el código en el depurador de Visual Studio.

  • Ver el registro de mensajes desde un dispositivo Android mediante el visor LogCat. (LogCat es una herramienta de diagnóstico y es esencial para conseguir una buena experiencia de edición->compilación->depuración).
    Use LogCat para hacer lo siguiente:

    • Buscar mensajes de registro específicos mediante la barra de búsqueda.
    • Usar el botón de alternancia de desplazamiento automático para ver los próximos mensajes de registro fácilmente.
    • Borrar los mensajes de salida del registro anteriores.
    • Elegir entre varios niveles de registro.
  • Escribir código de C++ destinado a la plataforma iOS y aprovechar nuestras características avanzadas de creación de código, como el uso compartido de código, IntelliSense multiplataforma, refactorización y ver la definición sin salir, entre otras. La compatibilidad con iOS aún está en fase de desarrollo, así que no pierda de vista esta información. Puede enviarnos sus comentarios mediante Conectar para ver los errores. Además, puede enviarnos sus ideas rápidas mediante Enviar una sonrisa en el IDE de Visual Studio.

También agregamos o actualizamos lo siguiente:

  • Compatibilidad con Android API Nivel 21 (Lollipop).
  • Una nueva plantilla basada en lograr la compatibilidad de los archivos con Android, que permite usar un sistema de compilación externo (incluido NDK- BUILD).
  • Encabezados precompilados en todas las plantillas (incluida la biblioteca dinámica compartida, la biblioteca estática y las plantillas móviles multiplataforma).

Visual Studio Tools para Apache Cordova

Anteriormente conocido como Aplicaciones híbridas de varios dispositivos para Visual Studio, Visual Studio Tools para Apache Cordova facilita la compilación, la depuración y la prueba de aplicaciones multiplataforma destinadas a Android, iOS, Windows y Windows Phone desde un proyecto de Visual Studio sencillo.

Todas las características disponibles en las CTP anteriores ahora están disponibles en la RC de Visual Studio 2015, incluidas las siguientes mejoras:

  • Actualización al guardar para Ripple, sin necesidad de volver a compilar.
  • Depuración de una versión de iOS de la aplicación desde Visual Studio cuando se implementa en el simulador de iOS o en un dispositivo conectado en un equipo Mac.
  • Seguridad mejorada y configuración simplificada del agente de compilación remoto de iOS incluido.
  • Experiencia de administración de complementos mejorada que incluye compatibilidad con la adición de complementos personalizados al proyecto desde Git o el sistema de archivos.
  • Selección de opciones de configuración específicas de la plataforma desde un diseñador de config.xml mejorado.
  • Compatibilidad con Apache Cordova 4.0.0.

Escuchamos sus comentarios y ampliamos el número de dispositivos a los que puede realizar la depuración, como se indica a continuación:

  • Android 4.4, Android 4.3 y versiones anteriores con jsHybugger
  • iOS 6, 7 y 8
  • Windows Store 8.1

Así, se ha ampliado aún más la compatibilidad con la depuración. Ahora puede depurar las aplicaciones de Apache Cordova destinadas a Windows Phone 8.1.

Puede establecer puntos de interrupción, inspeccionar variables, usar la consola y realizar otras tareas de depuración en el emulador de Windows Phone 8.1 o dispositivo asociado.

Debugging with Visual Studio Tools for Apache Cordova

Se ha agregado interoperabilidad de la CLI para la versión RC. Los proyectos de Cordova en Visual Studio ahora se sincronizarán con los cambios realizados en la carpeta del proyecto en el disco. Los cambios pueden fluir dentro y fuera de Visual Studio tanto si trabaja con herramientas de terceros como en otros sistemas operativos. (La estructura de archivos predeterminada de los proyectos de Cordova se basa en la estructura esperada por las herramientas de línea de comandos de Apache Cordova, lo que facilita trabajar directamente con Apache Cordova CLI u otras herramientas que esperan esa estructura de carpetas).

Emulador de Visual Studio para Android

Puede usar el emulador de Visual Studio para Android en un proyecto multiplataforma en Visual Studio (Xamarin o C++), o en Visual Studio Tools para Apache Cordova. El emulador permite cambiar entre distintos emuladores de plataforma sin conflictos de Hyper-V. Admite una amplia variedad de sensores y simulaciones, como GPS/Ubicación, acelerómetro, rotación de pantalla, zoom, tarjeta SD, cámara, función multitáctil y acceso a la red. También es compatible con las versiones 4.4 de Android (KitKat, nivel de API 19) y 5.0 (Lollipop, nivel de API 21).

El emulador de Visual Studio para Android admite la simulación Wi-Fi y la capacidad de elegir entre varias configuraciones de hardware de dispositivo diferentes.

Se han agregado las siguientes características nuevas para RTM:

  • Nuevas plataformas. Están disponibles las imágenes Jellybean (API 17) y Lollipop 5.1 (API 22).
  • Interfaz de la línea de comandos. Navegar a %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe en un símbolo del sistema le permitirá interactuar con el administrador del emulador (lista, instalación, perfiles de inicio, etc.) sin una interfaz de usuario.
  • Bibliotecas ZIP de arrastrar y colocar. Al arrastrar y colocar un archivo ZIP con memoria Flash en el emulador, ahora se desempaqueta e instala automáticamente.
  • Pestaña Tarjeta SD. Esta nueva pestaña de la ventana "Herramientas adicionales" le permite insertar y extraer datos hacia y desde la tarjeta SD.
  • Adquiéralo por sí solo. El emulador se puede instalar en una máquina sin necesidad de instalar Visual Studio. Aparece un acceso directo al Administrador de emuladores en el menú Inicio, de forma que puede iniciarlo y usarlo desde cualquier cadena de herramientas de desarrollo.

Para más información, consulte Emulador de Visual Studio para Android.

Visual Studio Tools para el desarrollo de aplicaciones universales de Windows

Las herramientas de Visual Studio para el desarrollo de aplicaciones universales de Windows se integran con la instalación de Visual Studio. Estas herramientas le permiten crear aplicaciones Windows que se ejecutan en todos los dispositivos Windows 10: el teléfono, la tableta o el portátil, el equipo de escritorio, los dispositivos IoT y pronto, las consolas Xbox de su casa, Surface Hub, y muchos más. Además, también puede usar estas herramientas para crear aplicaciones de escritorio Windows que aprovechen las API de Windows 10. Para más información, consulte Novedades de Visual Studio Tools para aplicaciones universales de Windows.

Para más información sobre el desarrollo de aplicaciones Windows, consulte la Guía de aplicaciones universales de Windows y el Centro para desarrolladores de Windows. Para información sobre las compilaciones y los SDK de Windows más recientes, consulte el portal de Windows Insider.

Visual C++

En esta versión, el compilador de C++ y la biblioteca estándar se actualizaron con compatibilidad mejorada con C++11 y compatibilidad inicial con ciertas características de C++14. También incluyen compatibilidad preliminar con ciertas características que se esperaba que estuvieran contenidas en el estándar C++17.

Además, se han corregido más de 500 errores del compilador, incluidos muchos enviados por los clientes a través de la Comunidad de desarrolladores de Microsoft, a los que damos las gracias.

Características del lenguaje

Se han agregado las siguientes características nuevas para acercar el compilador a C++estándar:

  • Funciones reanudables (resume y await): las palabras clave resume y await proporcionan compatibilidad de nivel de lenguaje con la programación asincrónica y permiten funciones reanudables. Actualmente, esta característica solo está disponible para destinos x64. Propuesto para C++17 [N3858]
  • Expresiones lambda genéricas (polimórficas): ahora se pueden especificar los tipos de parámetro de función lambda mediante auto; el compilador interpreta auto en este contexto, de modo que el operador de llamada de función del cierre sea una plantilla de función miembro y que cada uso de auto en la expresión lambda se corresponda con un parámetro de tipo de plantilla distinto. C++14
  • Expresiones de captura lambda generalizadas: también conocidas como init-capture. El resultado de una expresión arbitraria ahora puede asignarse a una variable en la cláusula de captura de una expresión lambda. Esto permite que los tipos de solo movimiento se capturen por valor y permite que una expresión lambda defina miembros de datos arbitrarios en su objeto de cierre. C++14
  • Ahora se admiten literales binarios. Estos literales tienen el prefijo 0B o 0b y consisten únicamente en los dígitos 0 y 1. C++14
  • Deducción del tipo de valor devuelto: ahora se puede deducir el tipo de valor devuelto de las funciones normales, incluidas las funciones con varias instrucciones "return" y funciones recursivas. Estas definiciones de función están precedidas por la palabra clave auto, como en las definiciones de función con un tipo de valor devuelto final, pero se omite este. C++14
  • decltype(auto): deducción de tipos mediante la palabra clave auto para inicializar calificadores ref de franjas de expresiones y calificadores cv de nivel superior de la expresión. Decltype(auto) conserva los calificadores de referencia y CV y ya puede usarse en cualquier lugar donde pueda usarse auto, excepto para introducir una función con un tipo deducido o con un tipo de valor devuelto final. C++14
  • Generación implícita de las funciones miembro especiales de movimiento: los constructores de movimiento y operadores de asignación de movimientos ahora se generan implícitamente cuando las condiciones lo permiten, lo que hace posible que el compilador cumpla plenamente las referencias rvalue de C++11. C++11
  • Herencia de constructores: una clase derivada ahora puede especificar que heredará los constructores de su clase raíz (Base), mediante la inclusión de la instrucción que usa Base::Base; en su definición. Una clase derivada solo puede heredar todos los constructores de su clase base; no hay manera de que herede solo determinados constructores base. Una clase derivada no puede heredar de varias clases base si tienen constructores con una firma idéntica, ni puede definir un constructor que tenga una firma idéntica a cualquiera de sus constructores heredados. C++11
  • Consultas y control de alineación: es posible consultar la alineación de una variable mediante el operador alignof() y controlarla mediante el especificador alignas(). alignof() devuelve el límite de bytes en las instancias del tipo que debe asignarse; para las referencias, devuelve la alineación del tipo de referencia, y para las matrices, devuelve la alineación del tipo de elemento. alignas() controla la alineación de una variable; toma una constante o un tipo, donde un tipo es una abreviatura de alignas(alignof(type)). C++11
  • sizeof extendido: ahora es posible determinar el tamaño de una variable de miembro de estructura o clase sin una instancia de la estructura o clase mediante usando sizeof(). C++11
  • constexpr: compatibilidad parcial con constexpr de C++11. C++11 (parcial)
  • Literales definidos por el usuario (UDL): ahora es posible anexar sufijos significativos a los literales numéricos y de cadena para darles tipos de semántica específicos. El compilador interpreta los literales con sufijo como llamadas al operador UDL adecuado. C++11
  • Estática "mágica" segura para subprocesos: ahora las variables locales estáticas se inicializan de una manera segura para subprocesos, lo que elimina la necesidad de sincronización manual. Solo la inicialización es segura para subprocesos; todavía debe sincronizarse manualmente el uso de variables locales estáticas por parte de varios subprocesos. La característica de estática de subprocesos se puede deshabilitar mediante la marca /Zc:threadSafeInit- para evitar depender de CRT. C++11
  • Almacenamiento local de subprocesos: use la palabra clave thread_local para declarar que se debe crear un objeto independiente para cada subproceso. C++11
  • El operador noexcept ahora puede usarse para comprobar si una expresión puede producir una excepción. El especificador noexcept ahora puede usarse para especificar que una función no produce excepciones. C++11
  • Espacios de nombres incorporados: ahora se puede especificar un espacio de nombres como incorporado para elevar su contenido al espacio de nombres de inclusión. Los espacios de nombres incorporados pueden usarse para crear bibliotecas con versiones que exponen su versión más reciente de forma predeterminada, aunque también ofrecen las versiones anteriores de API explícitamente. C++11
  • Uniones sin restricciones: un tipo de unión ahora puede contener tipos con constructores no triviales. Se deben definir constructores para dichas uniones. C++11
  • Nuevos tipos de caracteres y literales de Unicode: ahora se admiten los literales de carácter y cadena en UTF-8, UTF-16 y UTF-32 y se han incorporado nuevos tipos de carácter char16_t y char32_t. Los literales de caracteres pueden tener como prefijo u8 (UTF-8), u (UTF-16) o U (UTF-32), como en U'a', mientras que los literales de cadena pueden tener además como prefijo los equivalentes a cadenas sin formato u8R (cadena sin formato UTF-8), uR (cadena sin formato UTF-16) o UR (cadena sin formato UTF-32). Los nombres de carácter universales pueden usarse libremente en literales de Unicode, como en u'\u00EF', u8"\u00EF is i" y u"\U000000ef is I". C++11
  • func: el identificador predefinido func se define implícitamente como una cadena que contiene el nombre no completo y sin adornar de la función de inclusión. C++11
  • __restrict: ahora se puede aplicar __restrict a las referencias.
  • Palabra clave typename. Los usuarios ahora pueden escribir typename en lugar de class en un parámetro de plantilla. C++14
  • Los elementos globales void operator delete(void *, std::size_t) noexcept y void operator delete[](void *, std::size_t) noexcept ahora se pueden sobrecargar. C++14
  • Separadores de dígitos: ahora, puede intercalar literales numéricos con comillas simples para que sean más legibles. Por ejemplo, int x = 1'000'000;. C++14
  • Nombres de caracteres universales en literales: ahora puede escribir caracteres básicos, como "A" y el carácter de fuente de líneas, como puntos de código en literales. Por ejemplo, const char *s = "\u0041\u000A";. C++11
  • Los inicializadores de miembros de datos no estáticos ahora funcionan correctamente con listas de inicializadores. C++11
  • Atributos: ahora puede especificar una función como [[noreturn]] para indicar al compilador que la función no devuelve resultados (aunque puede producir una excepción). Ahora también se pueden especificar varias construcciones como [[deprecated]]. Ahora se permiten atributos en espacios de nombres y enumeradores. C++11, C++14 y C++17
  • Literales definidos por el usuario (UDL): los literales numéricos y de cadena ahora pueden tener sufijos significativos que realizan cálculos personalizados sobre los datos de literales. C++11
  • Atributos de ordenaciónde dependencia de datos: ahora puede especificar parámetros de función o declaraciones de función como [[carries_dependency]] para mejorar las optimizaciones de estructuras de datos simultáneas que se leen con frecuencia, pero apenas se modifican. C++11
  • Nuevas reglas para auto con braced-init-lists: la deducción automática para inicializaciones de lista de copia ahora deducirá un elemento std::initializer_list o, de lo contrario, tendrá un formato incorrecto. C++17

Características de la biblioteca de Visual C++

  • Literales definidos por el usuario (UDL) para tipos de biblioteca estándar: los encabezados <chrono>, <string> y <complex> ahora proporcionan operadores UDL para mayor comodidad. Por ejemplo, 123ms significa std::chrono::milliseconds(123), "hello"s significa std::string("hello") y 3.14i significa std::complex(0.0, 3.14).
  • Iteradores hacia adelante nulos: la biblioteca estándar ahora permite la creación de iteradores hacia adelante que no hacen referencia a una instancia de contenedor. Estos iteradores se inicializan con un valor y son iguales para un tipo de contenedor determinado. La comparación de un iterador que se inicializa con valor y de un iterador que no se inicializa con un valor es indefinida. C++14
  • quoted(): la biblioteca estándar ahora admite la función quoted() para facilitar el trabajo con valores de cadena entre comillas y E/S. Con quoted(), toda una cadena entre comillas se trata como una sola entidad (ya que las cadenas de caracteres sin espacios en blanco están en secuencias de E/S); además, las secuencias de escape se conservan en operaciones de E/S. C++14
  • Búsqueda asociativa heterogénea: la biblioteca estándar ahora admite funciones de búsqueda heterogénea en los contenedores asociativos. Dichas funciones permiten la búsqueda por tipos distintos de key_type, siempre y cuando el tipo sea comparable con key_type. C++14
  • Secuencias de enteros en tiempo de compilación: la biblioteca estándar ahora admite el tipo integer_sequence que representa una secuencia de valores enteros que se pueden evaluar en tiempo de compilación para que sea más fácil trabajar con paquetes de parámetros y para simplificar ciertos patrones de programación de la plantilla. C++14
  • exchange(): la biblioteca estándar ahora admite la función de utilidad std::exchange() para asignar un nuevo valor a un objeto y devuelve su valor anterior. Con los tipos complejos, exchange() evita copiar el valor anterior cuando está disponible un constructor de movimiento, evita copiar el valor nuevo si es temporal o si se mueve, y acepta cualquier tipo como valor nuevo aprovechando cualquier operador de asignación y conversión. C++14
  • equal(), is_permutation(), mismatch() de intervalo doble: la biblioteca estándar ahora admite sobrecargas para std::equal(), std::is_permutation() y std::mismatch() que aceptan dos intervalos. Estas sobrecargas controlan secuencias de diferentes longitudes. C++14
  • get<T>() la biblioteca estándar ahora admite la función de plantilla get<T>() para permitir dirigirse a los elementos de tupla por su tipo. Si una tupla contiene dos o más elementos del mismo tipo get<T>(), no es posible dirigirse a esa tupla por su tipo; sin embargo, todavía es posible dirigirse a otros elementos con tipos únicos. C++14
  • tuple_element_t: la biblioteca estándar ahora admite el alias de tipo tuple_element_t<I, T>, que es un alias para el nombre de tipo tuple_element<I, T>::type. Este alias proporciona cierta comodidad a los programadores de plantillas, ya que es similar a los otros alias de tipo de metafunciones de <type_traits>. C++14
  • Especificación técnica "V3" del sistema de archivos: la implementación incluida en la especificación técnica del sistema de archivos se actualizó a la versión final.
  • Asignadores mínimos: la biblioteca estándar ahora admite la interfaz del asignador mínimo; entre las correcciones importantes se incluyen std::function, shared_ptr, allocate_shared() y basic_string. C++11
  • <chrono>: se han corregido los tipos chrono high_resolution_clock y steady_clock. C++11
  • constexpr se ha implementado en toda la biblioteca estándar de C++. C++11, C++14 y C++17
  • quick_exit(): ahora puede finalizar los procesos multiproceso de forma más limpia llamando a quick_exit() y ejecutar código de limpieza en at_quick_exit(). C++11
  • void_t admite metaprogramación avanzada de plantillas. C++17
  • Ahora se permiten conversiones a unique_ptr<T[]> si se sabe que son seguras. C++17
  • invoke() permite llamar a objetos de función, punteros a funciones miembro y punteros a miembros de datos con sintaxis uniforme. C++17
  • noexcept: la biblioteca estándar ha eliminado el uso de noexcept en determinadas funciones. C++17
  • uncaught_exceptions() informa del número de excepciones en curso (que pueden ser más de 1). C++17
  • reference_wrapperahora se puede copiar sin problemas. C++17
  • map/unordered_map ahora admite insert_or_assign()/try_emplace(). C++17
  • Ahora se proporcionan las funciones no miembros size(), empty() y data(). C++17
  • La maquinaria auto_ptr, random_shuffle() y old <functional> se puso en desuso en C++11/14 y se eliminó en C++17. Visual Studio 2015 la proporciona de forma predeterminada, pero la definición de _HAS_AUTO_PTR_ETC como 0 en todo el proyecto quita sus definiciones.
  • Las asignaciones de unique_ptr ahora están restringidas con precisión. C++17
  • bool_constant ahora se admite como alias para integral_constant<bool>. C++17

Compilaciones más rápidas de Visual C++

  • Generación de código incremental en tiempo de vínculo (LTCG): ahora puede indicar a LTCG que recompile solo las partes del proyecto afectadas por una edición. Esto puede reducir significativamente los tiempos de vínculo de las aplicaciones que usan LTCG. Active esta característica mediante el modificador /LTCG:incremental linker.
  • Vinculación incremental para bibliotecas estáticas: los cambios en las bibliotecas estáticas a las que hacen referencia otros módulos de código ahora se vinculan de forma incremental.
  • /Debug:FastLink reduce sustancialmente los tiempos de vínculo mediante las nuevas técnicas de creación de PDB.
  • Se realizaron mejoras algorítmicas en el vinculador para reducir los tiempos de vínculo.
  • Se introdujeron mejoras que permiten compilar código denso de plantilla mucho más rápido.
  • Instrumentación rápida de la Optimización guiada por perfiles (PGO): se ha introducido en PGO un nuevo modo de instrumentación ligero para juegos y sistemas en tiempo real. Junto con otras características nuevas que se ponen a disposición a través de los modificadores del vinculador /GENPROFILE y /FASTGETPROFILE, ahora se puede equilibrar la calidad del código y la velocidad de compilación cuando se usa PGO.
  • Reducción del tamaño de archivos objeto: las mejoras en la biblioteca estándar de C++ y en el compilador dan como resultado archivos objeto y bibliotecas estáticas considerablemente más pequeños. Estas mejoras no afectan al tamaño de las bibliotecas de vínculos dinámicos (DLL) o archivos ejecutables (exe), ya que el vinculador eliminó históricamente el código redundante.

Rendimiento y calidad del código de Visual C++

  • Mejoras en la vectorización automática. Se ha mejorado la vectorización del flujo de control (if-then-else), la vectorización al compilar en /O1 (minimizar tamaño) y la calidad general del código vectorial, incluida la compatibilidad con STL paralelo, la vectorización basada en más intervalos para bucles y la compatibilidad con #pragma loop(ivdep).
  • Mejoras en la optimización escalar. Se han agregado mejoras en la generación de código de operaciones de prueba de bits, las combinaciones y optimizaciones del flujo de control (cambio de loop-if) y otras optimizaciones escalares (por ejemplo, mejor generación de código para std::min y std::max).
  • Optimización guiada por perfiles (PGO). Se han introducido una serie de mejoras en PGO, como la mejora de los conjuntos de referencia y de las capacidades de diseño de datos, así como la posibilidad de reutilizar las decisiones tomadas previamente en materia de inclusión, velocidad frente a tamaño y diseño.
  • Protección del flujo de control (CFG). Se ha agregado una nueva característica de seguridad; basta con agregar una nueva opción al proyecto y el compilador de Visual C++ ahora insertará comprobaciones de seguridad adicionales en los archivos binarios para ayudar a detectar intentos de secuestro del código. Cuando se active la comprobación, se detendrá la ejecución del código antes de que un secuestrador pueda dañar sus datos o PC.

Nota:

Se han actualizado las opciones de comando. En lugar de usar el modificador /d2guard4 como se hiciera en versiones anteriores, ahora debe usar /guard:cf.

Productividad, depuración y diagnóstico de Visual C++

Hemos agregado compatibilidad con la refactorización de C++ con las siguientes características:

  • Cambiar el nombre del símbolo cambia el nombre de todas las apariciones de un símbolo.
  • Función de extracción: mueve el código seleccionado a su propia función. Esta refactorización está disponible como extensión de Visual Studio en la Galería de Visual Studio.
  • Implementar virtuales puros: genera definiciones de función para las funciones virtuales puras heredadas por una clase o estructura. Se admite la herencia recursiva y múltiple. Active esta factorización desde la definición de clase heredada para implementar todas las funciones virtuales puras heredadas, o desde un especificador de clase base para implementar funciones virtuales puras solo de esa clase base.
  • Crear declaración o definición: genera una declaración a partir de una definición existente o una definición predeterminada de una declaración existente. Acceda a esta refactorización desde la declaración o definición existentes, o desde el indicador de bombilla.
  • Mover definición de función: mueve el cuerpo de una función entre los archivos de encabezado y código fuente. Active esta refactorización desde la firma de la función.
  • Convertir en literal de cadena sin formato: convierte una cadena que contiene secuencias de escape en un literal de cadena sin formato. Las secuencias de escape admitidas son \n (nueva línea), \t (tabulación), ' (comilla sencilla), " (comilla doble) y ? (signo de interrogación). Active esta característica haciendo clic con el botón secundario en cualquier lugar dentro de una cadena.

Entre las mejoras de la base de datos de programa (PDB) en Visual C++ se incluyen las siguientes:

  • Se mejoró la velocidad de exploración de soluciones, especialmente para soluciones de gran tamaño.
  • Las operaciones como Ir a definición ya no se bloquean durante la exploración de soluciones, excepto durante la exploración de soluciones inicial, cuando se abre una nueva solución por primera vez.

Mejoras en la legibilidad de IntelliSense: las instancias de plantilla y las definiciones de tipo complejas se simplificaron en la ayuda de parámetros y en la información rápida para facilitar su lectura.

Visualizaciones del depurador en C++

Agregue las visualizaciones del depurador Natvis a su proyecto de Visual Studio para facilitar la administración y la integración del control de código fuente. Los archivos de Natvis agregados a un proyecto tienen prioridad de evaluación frente a los visualizadores de Natvis de fuera del proyecto. Para más información, consulte Creación de vistas personalizadas de objetos nativos en el depurador.

Y desde la RC, puede usar archivos Natvis durante la depuración de C++ en Android. El depurador incluye visualizaciones para muchas plantillas comunes y admite la carga de archivos personalizados que se agregan al proyecto de C++.

Diagnóstico de memoria nativa

  • Las sesiones de diagnóstico de memoria (Alt+F2) permite supervisar el uso de memoria activa por parte de la aplicación nativa.
  • Las instantáneas de memoria capturan una imagen momentánea del contenido del montón de la aplicación. Es posible examinar las diferencias en el estado del montón si se comparan dos instantáneas de memoria. Vea los tipos de objeto, los valores de instancia y las pilas de llamadas de asignación de cada instancia después de detener la aplicación.

Mejora de la detección de interbloqueo y recuperación al llamar a funciones de C++ desde las ventanas Inspeccionar e Inmediato.

Mejora de los diagnóstico del compilador: el compilador proporciona advertencias mejoradas sobre código sospechoso. Se agregaron nuevas advertencias (por ejemplo, variables sombreadas y cadenas de formato printf no coincidentes). Se expresaron con más claridad los mensajes de advertencia existentes.

La marca /Wv: las advertencias introducidas después de una versión específica del compilador XX.YY.ZZZZ pueden deshabilitarse mediante la marca /Wv:XX.YY.ZZZZ. Pueden deshabilitarse específicamente otras advertencias, además de las especificadas mediante la marca /Wv.

Compatibilidad mejorada con la depuración de código optimizado: depure código con las marcas /Zi, /Zo o /Z7 habilitadas.

Diagnóstico de gráficos de Visual C++

El diagnóstico de gráficos se mejoró con las siguientes características:

  • Captura consecutiva: capture hasta 30 fotogramas consecutivos con una captura.
  • Captura mediante programación: inicie la captura de fotogramas mediante programación. La captura mediante programación es especialmente útil para depurar los sombreadores de cálculo en programas que nunca llaman a Present o cuando un problema de representación es difícil de capturar manualmente, pero se puede predecir mediante programación a partir del estado de la aplicación en tiempo de ejecución.
  • Lista de eventos de gráficos mejorada: se agregó una nueva vista de llamadas de dibujo que muestra los eventos capturados y su estado en una jerarquía organizada por Llamadas de dibujo. Puede expandir las llamadas de dibujo para mostrar el estado del dispositivo en el momento de la llamada a de dibujo y expandir el estado para mostrar los eventos que establecen sus valores.
  • Compatibilidad con Windows Phone 8.1: Diagnóstico de gráficos ahora tiene compatibilidad completa con la depuración de aplicaciones Windows en el emulador de Windows Phone o en Windows Phone anclado a la red.
  • Análisis de fotogramas de gráficos: esta herramienta recopila las medidas de rendimiento de los fotogramas capturados; además, realiza un conjunto de experimentos predefinidos que proporcionan información sobre cómo se vería afectado el rendimiento al aplicarse varias técnicas de textura. El análisis de fotogramas también recopila los contadores de rendimiento del hardware.
  • UI dedicada para el análisis de gráficos: la nueva ventana del Analizador de gráficos de Visual Studio es un área de trabajo dedicada al análisis de fotogramas de gráficos.
  • Editar y aplicar el sombreador: vea el impacto de los cambios en el código del sombreador en un registro capturado sin volver a ejecutar la aplicación.
  • Configure las opciones de captura en Herramientas->Opciones->Diagnóstico de gráficos.
  • Herramienta de línea de comandos para capturar y reproducir fotogramas.
  • Compatibilidad de Diagnóstico de gráficos con DirectX 12. La herramienta Diagnóstico de gráficos de Visual Studio ahora admite la depuración de problemas de representación en aplicaciones de DirectX 12.

Nueva herramienta de uso de la GPU

La herramienta de uso de la GPU de Visual Studio 2015 puede usarse para entender el uso de la GPU que hacen las aplicaciones DirectX. Están disponibles gráficos del tiempo entre fotogramas, la velocidad de fotogramas y la utilización de la GPU mientras se ejecutan las aplicaciones. Además, al recopilar y analizar datos de uso detallados de la GPU, esta herramienta puede proporcionar información sobre el tiempo de ejecución de la CPU y la GPU de eventos individuales de DirectX y, por tanto, puede ser útil para determinar si la CPU o la GPU están causando el cuello de botella del rendimiento.

Habilitación de la depuración de un proyecto de prueba administrado por Visual C++

Novedad de esta versión: para permitir la depuración de un proyecto de prueba administrado por Visual C++, vaya al panel "Herramientas | Opciones | Depuración | General" y active la opción "Suprimir la optimización JIT al cargar el módulo (solo administrado)".

C# y Visual Basic

Características del lenguaje

En esta versión, varias nuevas características del lenguaje C# y Visual Basic ayudan a reducir el texto reutilizable y el desorden en el código diario, fomentan un estilo de programación más declarativo y acercan incluso más ambos lenguajes. Por ejemplo, hay mejoras sintácticas en las declaraciones de tipo y miembro y en la comprobación de valores null. Además, las variables locales se pueden declarar dentro de expresiones y await se pueden usar en bloques catch y finally. Muchas de estas características solo se implementan para uno de los dos lenguajes en versiones anteriores, pero estarán disponibles para ambos lenguajes en la versión final.

  • Nameof proporciona una forma segura de refactorización de obtener el nombre de, por ejemplo, un parámetro, un miembro o un tipo como cadena.
  • Con operadores condicionales null, puede obtener una comprobación de valores null integrada al acceder a los miembros e indexadores e invocarlos.
  • Interpolación de cadenas: la interpolación de cadenas proporciona una manera concisa de describir las plantillas de cadena que insertan expresiones en cadenas de formato (C# solo en versión preliminar, tanto VB como C# en RTM).
  • Los métodos, las propiedades de solo captador, etc., ahora pueden tener una sola expresión como cuerpo, al igual que las expresiones lambda.
  • Las propiedades automáticas pueden tener inicializadores y ya no requieren establecedores.
  • Inicializadores de índice: dentro de un inicializador de objeto, ahora puede inicializar un índice específico del nuevo objeto. Solo en C#.
  • Los filtros de excepciones permiten examinar una excepción y decidir si se debe detectar con un bloque catch determinado.
  • El uso de cláusulas para clases estáticas lleva sus miembros estáticos directamente al ámbito, por lo que puede llamar por ejemplo a WriteLine() o Sqrt() sin prefijo con el nombre de clase.
  • Await ahora funciona en bloques catch y finally, obviando algunas soluciones muy complicadas.

Interfaz de usuario y edición del Editor de código

Las experiencias de interfaz de usuario y edición del Editor de código para C# y Visual Basic se han reemplazado por nuevas experiencias creadas en .NET Compiler Platform ("Roslyn"). Muchas de las características que más gustan actualmente se han mejorado o renovado.

  • Las bombillas son el nuevo hogar para todas las acciones rápidas que realice en el editor de Visual Studio, incluidas correcciones para problemas comunes de código y refactorización de código. Cuando tiene problemas en el código, una bombilla muestra correcciones sugeridas para ellos. Todas las operaciones de refactorización se han movido a la bombilla. Puede acceder a la bombilla en cualquier momento escribiendo Ctrl + <dot>.

Light bulb shows suggestions

  • Hay dos nuevas operaciones de refactorización principales: Variable temporal insertada e Introducir local. Este es un ejemplo de la nueva característica Introducir local:

Introduce local light bulb

Y un ejemplo de Variable temporal insertada:

Inline temporary light bulb

  • La compatibilidad de la refactorización con Visual Basic se ha agregado por primera vez y también se ha movido a la bombilla.
  • También se ha mejorado el cambio de nombre; ahora se resaltan todas las instancias del identificador cuyo nombre quiere cambiar, lo que le permite escribir el nuevo nombre para todas las instancias a la vez directamente en el editor.

Improvements to inline renaming

  • Puede obtener análisis del código en directo y correcciones automáticas mientras escribe, con instrucciones específicas del código para las plataformas de Microsoft y los paquetes NuGet de destino. En versión preliminar, debe agregar los analizadores de FxCop activos a través de un paquete NuGet que obtenga de la Galería de NuGet, como haría con cualquier otro paquete. A medida que extraiga cualquier regla activa determinada, se desplaza la regla FxCop posterior a la compilación equivalente, por lo que no obtiene visitas duplicadas. Este es un ejemplo de Code Analysis para el paquete de Azure.

An example from the Code Analysis for Azure package

  • Se ha reescrito el evaluador de expresiones para C# y Visual Basic. Las mejoras incluyen compatibilidad con expresiones LINQ y lambda en las ventanas Inspeccionar e Inmediato.

F#

Características de lenguaje y tiempo de ejecución

F# 4.0 contiene numerosas incorporaciones nuevas de lenguaje y entorno de ejecución que vienen a cubrir deficiencias, hacen que más cosas funcionen y mejoran el rendimiento en áreas clave. También se han corregido numerosos errores y se han implementado pequeñas optimizaciones de rendimiento en el compilador y el entorno de ejecución.

  • Constructores como funciones de primera clase : los nombres de clase ahora se pueden usar como valores de función de primera clase, que representan los constructores de esa clase.
  • Unificación de "mutable" y "ref" : la sintaxis "mutable" ahora se puede usar en todas partes y el compilador convertirá automáticamente los valores capturados en valores 'ref' basados en montón cuando sea necesario. Se ha agregado una nueva advertencia opcional en caso de que un desarrollador desee recibir una notificación cuando esto ocurra.
  • Parámetros estáticos para métodos proporcionados: los métodos individuales proporcionados por los proveedores de tipos ahora pueden especificar parámetros estáticos.
  • Tipos proporcionados que no aceptan valores null: los tipos proporcionados ahora se pueden especificar como que no aceptan valores null mediante el estándar [<AllowNullLiteral(false)>].
  • Comillas implícitas de argumentos de método: los argumentos de método de tipo Expr<'t> ahora se pueden colocar entre comillas automáticamente de forma transparente, pasando el valor del argumento y el AST de la expresión que lo generó.
  • Gramática de preprocesador extendida: ahora se pueden usar los operadores booleanos ||, && y ! junto con la agrupación ( ), en directivas de preprocesador #if.
  • Exponentes racionales en unidades de medida : las unidades de medida ahora admiten exponentes racionales que, en ocasiones, se usan en ciencias físicas como la ingeniería eléctrica.
  • Uso simplificado de unidades de valores de medida con funciones de estilo "printf": los valores numéricos en unidades ahora funcionan sin problemas con especificadores de formato printf numéricos, sin necesidad de quitar las unidades.
  • Compatibilidad con matrices .NET de alta dimensión : el código F# puede consumir matrices .NET de rango 5 o superior.
  • Propiedades de extensión en inicializadores de objetos : ahora se pueden asignar propiedades de extensión configurables en expresiones de inicializador de objeto.
  • Herencia de varias instancias de interfaz genéricas : las clases creadas con F# ahora pueden heredar de las clases que implementan varias instancias de interfaz genéricas.
  • Varias propiedades de "StructuredFormatDisplayAttribute" : un formato especificado mediante [<StructuredFormatDisplay>] ahora puede incluir varias propiedades.
  • Espacio de nombres "Microsoft" principal opcional: al consumir o abrir módulos y espacios de nombres de FSharp.Core, el espacio de nombres "Microsoft" principal ahora es opcional.

Runtime de F#

  • Normalización de los módulos Array, List y Seq : el conjunto de funciones de procesamiento de recopilación ahora es coherente entre los módulos Array, List y Seq (salvo API no aplicables a determinados tipos), con implementaciones dedicadas y optimizadas para cada tipo.
  • Hash estructural optimizado : se han realizado optimizaciones significativas para mejorar el rendimiento de la comparación de hash genérico para los tipos primitivos, lo que da lugar a mejoras de rendimiento por API, como "distinct" y "groupBy".
  • Operadores de comparación no estructurales optimizados : ahora se puede abrir el módulo FSharp.Core.Operators.NonStructuralComparison, y reemplazar los operadores de comparación estructurales de F# predeterminados por operadores no estructurales más eficientes. Esto puede proporcionar importantes mejoras de rendimiento al procesar tipos con implementaciones de operador personalizadas, especialmente tipos de valor.
  • Sintaxis de segmentación en listas de F# : las listas de F# ahora admiten la sintaxis de segmentación para obtener sublistas.
  • Extensiones asincrónicas a System.Net.WebClient' : ahora están disponibles las extensiones de WebClient AsyncDownloadFile y AsyncDownloadData.
  • Mejores seguimientos de pila asincrónicos : las excepciones que se producen en los cálculos asincrónicos de F# ahora llevan seguimientos de pila más fáciles de usar, lo que facilita el diagnóstico de problemas.
  • API de interoperabilidad para Option : se agregaron varias API nuevas al módulo Option para convertir objetos null y valores System.Nullable.
  • Patrón activo de comillas para los valores System.Decimal : ahora se ha creado un patrón activo para buscar valores System.Decimal constantes coincidentes entre comillas.

Características del IDE de F#

También hay nuevas experiencias y características en las herramientas de Visual F#, junto con una serie de correcciones de errores.

  • Depuración de scripts: los scripts de F# ahora se pueden depurar directamente en el depurador de Visual Studio.
  • Metadatos de ensamblado en plantillas de proyecto : todas las plantillas de proyecto de F# ahora contienen un archivo AssemblyInfo.fs que contiene atributos de metadatos comunes de nivel de ensamblado.
  • Comprobación actualizada integrada: los proyectos de F# ahora notifican correctamente su estado "actualizado" al compilarse en Visual Studio.
  • Finalización de IntelliSense en inicializadores de objetos : las expresiones del inicializador de objetos ahora admiten la finalización de IntelliSense de propiedades configurables, mediante Ctrl + Barra espaciadora.
  • Finalización de IntelliSense para parámetros con nombre : las llamadas de método y constructor ahora admiten la finalización automática de IntelliSense de parámetros con nombre, mediante Ctrl + Barra espaciadora.
  • Correcciones de errores en torno a la compatibles con carpetas: las herramientas de Visual F# no admiten directamente carpetas en proyectos, pero se han corregido varios errores del sistema de los proyectos para mejorar la compatibilidad con carpetas agregada por la extensión Visual F# Power Tools.

.NET Framework 4.6

La versión más reciente de .NET Framework es 4.6. Presenta numerosas mejoras en las tecnologías de desarrollo de aplicaciones, como ASP.NET, Windows Communication Foundation y Windows Presentation Foundation. También hay cambios en las redes, la biblioteca de clases base de .NET Framework y Common Language Runtime (incluido un nuevo compilador JIT de 64 bits, compilación de código nativo para aplicaciones de Plataforma universal de Windows, mejoras en el cargador de ensamblados).

Algunos de los cambios son:

  • Los métodos de enlace de modelos de ASP.NET ahora devuelven tareas.
  • ADO.NET ahora admite la característica Always Encrypted disponible en SQL Server 2016 Community Technology Preview 2 (CTP2).
  • Windows Presentation Foundation (WPF) ofrece mayor compatibilidad con la tecnología táctil y un diseño HDPI mejorado.
  • Windows Communication Foundation (WCF) ahora admite la versión SSL TLS 1.1 y TLS 1.2, además de SSL 3.0 y TLS 1.0.
  • La biblioteca de clases base de .NET Framework incluye mejoras en la recolección de elementos no utilizados, en el patrón asincrónico basado en tareas y en la criptografía. También agrega tipos de vectores habilitados para SIMD, así como compatibilidad con modificadores de compatibilidad que permiten a los desarrolladores proporcionar un mecanismo uniforme de exclusión para la funcionalidad admitida por una nueva versión de sus bibliotecas.

Para información adicional y ver una lista completa de las nuevas características agregadas a .NET Framework, consulte Novedades de .NET Framework.

Entity Framework

Esta versión incluye una versión preliminar de Entity Framework 7 y una actualización de Entity Framework 6 que incluye principalmente correcciones de errores y contribuciones de la comunidad.

Entity Framework 7

La nueva versión de Entity Framework permite nuevas plataformas y nuevos almacenes de datos. Windows Phone, Tienda Windows, ASP.NET 5 y las aplicaciones de escritorio tradicionales ahora pueden usar Entity Framework. Esta versión del marco admite bases de datos relacionales, así como almacenes de datos no relacionales, como Azure Table Storage y Redis. Incluye una versión preliminar anticipada del entorno de ejecución de EF7 que se instala en nuevos proyectos de ASP.NET 5. Para más información sobre EF7, consulte ¿Qué es EF7?

Entity Framework 6.x

Esta versión incluye la versión de Entity Framework 6.1.3 del entorno de ejecución y las herramientas. Entity Framework 6.1.3 incluye correcciones de errores y contribuciones de la comunidad; Puede ver una lista de los cambios incluidos en Entity Framework 6.1.3.

El entorno de ejecución de Entity Framework 6.1.1 se incluye en varios lugares de esta versión.

  • El entorno de ejecución se instalará si crea un nuevo modelo mediante las herramientas de Entity Framework en un proyecto que aún no tenga instalado el entorno de ejecución de EF.
  • El entorno de ejecución está preinstalado en nuevos proyectos de ASP.NET, en función de la plantilla de proyecto que seleccione.

IDE de Visual Studio

Cuentas compartidas

Como novedad en esta versión, ahora puede compartir las cuentas de usuario que agregue en Visual Studio con otras aplicaciones, como con Blend para Visual Studio o con Microsoft Test Manager (y viceversa).

Proyectos compartidos

En esta versión, hay nuevas plantillas disponibles para crear proyectos compartidos vacíos para Visual Basic, C# y JavaScript. Ahora, se puede hacer referencia a estos proyectos compartidos por varios tipos de proyectos:

  • Cualquier proyecto que no sea de tipo VB/C# (por ejemplo, aplicaciones de consola, bibliotecas de clases, aplicación de formulario Win)
  • Tienda Windows 8.1 y Windows Phone 8.1 (VB/C#/JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB/C#)
  • WPF y PCL

Puede agregar o quitar referencias a proyectos compartidos mediante el Administrador de referencias, en la pestaña Proyectos compartidos. La referencia del proyecto compartido se muestra en el nodo Referencias del Explorador de soluciones, pero el código y los recursos del proyecto compartido se tratan como si fueran archivos vinculados al proyecto principal.

Editor de código (todos los lenguajes)

Buscar en archivos se ha mejorado al permitir que los resultados subsiguientes se anexen a los resultados anteriores; los resultados acumulados pueden eliminarse.

La compatibilidad con la entrada táctil ahora está disponible en el Editor de Visual Studio para los siguientes gestos:

  • Desplazamiento (pulsando y arrastrando por la superficie del Editor en las barras de desplazamiento normales y mejoradas).
  • Gesto de reducir o ampliar.
  • Seleccionar una línea completa pulsando en el margen del Editor y seleccionar palabras pulsando dos veces en ellas.
  • Invocar el menú contextual del Editor presionando y manteniendo presionado.

Somos conscientes de un problema con la entrada táctil, y es que el gesto de doble pulsación no siempre es confiable en niveles de zoom inferiores. Nos gustaría recibir comentarios sobre la nueva compatibilidad con la entrada táctil y, en particular, cualquier problema que pueda encontrar.

XAML Designer

Los clientes de Visual Studio ahora podrán editar sus plantillas y estilos almacenados en diccionarios de recursos externos en el contexto de su uso. Esta experiencia se ha refinado aún más para usar Ver el código sin salir para habilitar una edición de recursos in situ verdadera en el diseñador XAML.

Diseños de ventana personalizados

Ahora puede guardar diseños de ventana personalizados haciendo clic en Guardar diseño de ventana en el menú Ventana y aplicar un diseño personalizado haciendo clic en Aplicar diseño de ventana en el menú Ventana. También puede aplicar un diseño mediante los métodos abreviados de teclado asignados previamente. Los nueve primeros diseños también tienen métodos abreviados de teclado de Ctrl + Alt + 1 a Ctrl + Alt + 9. Otras tareas que puede realizar incluyen eliminar, cambiar el nombre y reordenar diseños haciendo clic en Administrar diseño de ventana en el menú Ventana.

Iconos de alta resolución

Visual Studio admite iconos de alta resolución en barras de comandos, barras de herramientas de ventanas de herramientas (estándar), los menús principales, la lista de errores, la barra de estado y algunos tipos de proyecto del Explorador de soluciones cuando el dispositivo se ejecuta con un escalado de PPP superior al 100 %.

Mejoras de la UI

  • Los menús ahora aparecen en estilo Tipo Título en lugar de Todos mayúsculas.
  • Los valores de lista desplegable Configuración y Plataforma del cuadro de diálogo de la página de propiedades de Visual C++ se han cambiado para recordar la última selección de usuario cuando se cierra y se vuelve a abrir esta página.

Comentarios de Visual Studio

Se ha mejorado la experiencia Enviar un ceño fruncido con mejores herramientas para notificar lentitud, bloqueos y falta de respuesta. Ahora puede adjuntar archivos o etiquetar sus comentarios para describir mejor el problema. Además, se han actualizado los iconos de Comentarios y los elementos de menú para mejorar la detectabilidad.

Extensibilidad de Visual Studio

  • Ahora puede usar iconos de alta resolución en las extensiones de Visual Studio.
  • Ya no se admiten complementos en esta versión. Se han quitado las plantillas de proyecto de complementos de Visual Studio y el Administrador de complementos. Se recomienda convertir los complementos en extensiones de VSPackage. Para más información, consulte Preguntas frecuentes sobre la conversión de complementos en extensiones de VSPackage.
  • Ahora puede abrir un proyecto de extensibilidad aunque no tenga instalado el SDK de Visual Studio.
  • Además, puede instalar el SDK de Visual Studio mediante el programa de instalación de Visual Studio; ya no tiene que ir a un sitio web. Para ello, en el menú Agregar o quitar programas, haga clic con el botón derecho en Visual Studio 2015 y, luego, seleccione Modificar. En el cuadro de diálogo de instalación de Visual Studio, active Herramientas de extensibilidad de Visual Studio en Herramientas comunes.
  • Para aumentar la portabilidad y el uso compartido de proyectos de extensión, puede usar las versiones NuGet de los ensamblados de referencia del SDK de Visual Studio. Para más información, consulte los ensamblados publicados por Extensibilidad de Visual Studio.

Más información sobre Extensibilidad de Visual Studio.

Blend

Se ha rediseñado Blend para Visual Studio 2015 a fin de proporcionarle una experiencia de desarrollo mejorada con interfaz de usuario para crear hermosas aplicaciones XAML. Blend tiene una nueva apariencia elegante coherente con Visual Studio, compatibilidad con Team Explorer y el Explorador de soluciones, y una experiencia de recarga de archivos enriquecida para facilitar un mejor flujo de trabajo entre Blend y Visual Studio. También se proporcionan las características más deseadas de Blend para ayudarle a ser más productivo:

  • Ahora puede escribir XAML de forma más eficaz con IntelliSense para XAML, que proporciona finalización de instrucciones y navegación al código fuente.
  • También puedes ver y editar controles y recursos XAML en el contexto en el que se usan con Ver la definición sin salir de XAML.
  • Buscar y corregir problemas de la interfaz de usuario en la aplicación en ejecución ahora es más fácil con herramientas de interfaz de usuario para la depuración XAML que le permiten inspeccionar el árbol visual activo y las propiedades de cualquier elemento del árbol.
  • Gracias a la compatibilidad con NuGet agregada, puede administrar paquetes NuGet en Blend.
  • También reemplazamos la característica Área de trabajo de animación por la característica Diseños sincronizados más eficaz, que puede usar para crear muchos diseños de ventana diferentes y recorrerlos entre máquinas.
  • Para los usuarios avanzados que prefieren usar su teclado en lugar del mouse, ahora los paneles del diseñador de Blend son totalmente accesibles con el teclado.
  • Por último, como parte del trabajo continuo de Microsoft para crear software accesible universalmente, Blend ahora es un lector de pantalla completa y accesible con contraste alto.

Para más información sobre las nuevas características agregadas a Blend, visite nuestra entrada de blog Versión preliminar.

Depuración y diagnósticos

Editar y continuar después de conectar (administrado)

A partir de RC, puede editar y continuar cuando se conecte a aplicaciones .NET y cuando la variable de entorno

complus_forceenc se establezca en 1 en el proceso de destino.

Configuración de puntos de interrupción

La nueva ventana Configuración del punto de interrupción permite especificar condiciones y acciones para los puntos de interrupción. La ventana incluye compatibilidad mejorada de IntelliSense con las acciones y condiciones del punto de interrupción. Puede usar Deshacer (CTRL+Z) para restaurar puntos de interrupción eliminados.

Expresiones lambda en ventanas del depurador

Ahora puede usar expresiones lambda en las ventanas del depurador Inspeccionar, Inmediato y otras en C# y Visual Basic.

Sugerencias de rendimiento

Puede usar la característica PerfTips para ver cuánto tiempo tardó el código en ejecutarse directamente en el Editor cuando estableció puntos de interrupción y continuó con el depurador.

Uso de GPU

Puede usar la herramienta Uso de GPU para comprender el uso de GPU de las aplicaciones DirectX. Están disponibles gráficos del tiempo entre fotogramas, velocidad de fotogramas y utilización de la GPU mientras se ejecutan las aplicaciones. Además, al recopilar y analizar datos de uso detallados de la GPU, esta herramienta puede proporcionar información sobre el tiempo de ejecución de la CPU y la GPU de eventos individuales de DirectX y, por tanto, puede ser útil para determinar si la CPU o la GPU son el cuello de botella del rendimiento.

Mejoras en el depurador de C++

Cuando el depurador de C++ se detiene en puntos de interrupción, puede ejecutar código para calcular los resultados, como mostrar los datos en las ventanas Inspeccionar e Inmediato. Si el depurador detecta que una función llamada presenta interbloqueo, intentará resolver el problema.

Cuando un depurador de C++ inicia un proceso, Windows asigna ahora memoria mediante el montón normal en lugar del montón normal de depuración. Como resultado, la depuración inicia de manera más rápida.

Depuración de interfaz de usuario para XAML

Se han agregado dos nuevas herramientas, Live Visual Tree y Live Property Explorer, que inspecciona el árbol visual de la aplicación WPF en ejecución, así como las propiedades de cualquier elemento del árbol. Estas herramientas permiten seleccionar cualquier elemento de la aplicación en ejecución y mostrar las propiedades finales, calculadas y representadas. Las herramientas también incluyen lo siguiente:

  • Live Visual Tree. Ahora, puede ver el árbol visual completo de una aplicación en ejecución durante una sesión de depuración. Live Visual Tree está disponible cuando se presiona F5 en Visual Studio o se asocia a una aplicación en ejecución. Puede usar Live Visual Tree para seleccionar elementos de una aplicación en ejecución para inspeccionarlo en Live Property Explorer. Se muestra el recuento de descendientes y, si la información de origen está disponible, puede encontrar al instante el archivo y la ubicación de la definición del elemento.
  • Live Property Explorer. Use esta nueva herramienta para inspeccionar las propiedades establecidas en cualquier elemento de una aplicación en ejecución, agrupadas por el ámbito en el que se establecen. Puede modificar estas propiedades durante una sesión de depuración y ver inmediatamente sus cambios en la aplicación en ejecución.

Descifrar cómo las propiedades se invalidan entre sí y averiguar el comportamiento ganador puede resultar difícil en tiempo de diseño. Ahora, con nuestras nuevas herramientas de depuración de interfaz de usuario para XAML, puedes realizar estas inspecciones en tiempo de ejecución.

(La compatibilidad con aplicaciones de la Tienda Windows se publicará en una actualización futura).

UI Debugging Tools for XAML, full screen

Configuración de excepciones

Puede configurar las excepciones del depurador mediante la ventana de herramientas Configuración de excepciones. La nueva ventana no es modal e incluye funcionalidades mejoradas de rendimiento, búsqueda y filtrado.

Exceptions Settings - Break when Thrown window

Herramienta Timeline

Nuestra nueva herramienta Timeline le proporciona una vista centrada en el escenario de los recursos que consumen las aplicaciones, que puede usar para inspeccionar, diagnosticar y mejorar el rendimiento de las aplicaciones de WPF y de la Tienda Windows 8.1.

La herramienta Timeline, que se encuentra en el centro de rendimiento y diagnóstico, muestra cuánto tiempo tarda la aplicación en preparar fotogramas de interfaz de usuario y en atender las redes y las solicitudes de disco. La herramienta lo hace en el contexto de escenarios, como la carga de aplicaciones y páginas.

The new Timeline tool

Herramientas de diagnóstico

Se ha agregado una nueva ventana Herramientas de diagnóstico que aparece al iniciar la depuración (presione F5). La ventana Herramientas de diagnóstico contiene las siguientes características:

  • Eventos (con IntelliTrace)
    Eventos (con IntelliTrace) proporciona acceso a todos los eventos de interrupción, salida e IntelliTrace del depurador recopilados durante la sesión de depuración. Los datos se presentan en una escala de tiempo y una vista tabular. Las dos vistas se sincronizan y pueden interactuar entre sí.
  • Uso de memoria
    La herramienta Uso de memoria permite supervisar el uso de memoria de la aplicación mientras se depura. También puede tomar y comparar instantáneas detalladas de memoria nativa y administrada para analizar la causa del crecimiento de la memoria y las pérdidas de memoria.
  • Uso de CPU
    La herramienta Uso de CPU permite supervisar el uso de CPU de la aplicación mientras se depura.
    (Esta herramienta reemplaza a la herramienta PerfTip de tiempo de CPU que estaba disponible en la versión preliminar de Visual Studio 2015).

En versiones anteriores, la ventana Herramientas de diagnóstico admitía los siguientes tipos de proyecto y configuraciones de depuración:

  • Proyectos administrados de WPF, WinForms y consola
  • Proyectos nativos de Win32, consola y MFC
  • ASP.NET 4 solo con IIS Express
  • Proyectos administrados o nativos de la Tienda Windows que se ejecutan localmente
    (No se admiten los proyectos de la Tienda Windows que usan JavaScript o que se ejecutan en un teléfono).

La ventana Herramientas de diagnóstico de la versión RC presenta las siguientes mejoras:

  • Se puede mover a cualquier ubicación de ventana dentro de Visual Studio y recuerda su ubicación y tamaño entre sesiones de depuración.
  • Aparece y muestra los datos de un único proceso al asociarla a un proceso mediante Depuración -> Asociar al proceso.
  • Aparece al depurar proyectos de ASP.NET que se ejecutan en IIS.
  • Aparece al depurar proyectos de ASP.NET 5.
  • Aparece al depurar una aplicación que se ejecuta en un dispositivo de escritorio de Windows remoto.
  • Las instantáneas de memoria se pueden ver después de detener la depuración.
  • Los eventos del depurador (solo eventos de interrupción) están disponibles al depurar proyectos nativos.

Se han agregado las siguientes características nuevas para la versión RC:

Solo mi código. Al presionar F5 para iniciar el depurador, solo se mostrará su código para que pueda comprender los problemas de rendimiento y las excepciones sin que interfiera el marco y otro código. Dado que esta nueva funcionalidad de filtrado de código de IntelliTrace suprime el código del sistema y expone solo el código de usuario, facilita la depuración de solo su código.

Herramienta de diagnóstico de red. Esta nueva herramienta de diagnóstico de red puede ayudarle a diagnosticar problemas relacionados con la red al compilar aplicaciones de la Tienda Windows, así como aplicaciones universales que se ejecutan en todos los dispositivos Windows 10, desde Windows Phone a Xbox y la Tienda Windows.

La herramienta de diagnóstico de red registra información sobre las operaciones de red HTTP de la aplicación, como encabezados de solicitud y respuesta HTTP, cargas de solicitud y respuesta, cookies e información detallada de tiempo, entre otra. La herramienta de diagnóstico de red también puede ayudar a responder preguntas sobre escenarios comunes, como:

  • Problemas relacionados con la autenticación (por ejemplo, por qué no puede acceder a un recurso).
  • Problemas relacionados con la memoria caché (por ejemplo, por qué no obtiene la versión más reciente de un recurso).
  • Cuántos bytes se descargan al ejecutar tareas comunes de las aplicaciones.
  • Dónde están los cuellos de botella al acceder a un recurso y descargarlo.

Para acceder a la herramienta de red, abra la ventana Herramientas de diagnóstico en Visual Studio 2015. En el menú Depurar, seleccione Iniciar herramientas de diagnóstico sin depurar. Como alternativa, simplemente presione Alt + F2.

Se han realizado las siguientes mejoras en la ventana Herramientas de diagnóstico que aparece durante la depuración:

  • Los eventos de la aplicación ahora aparecen en una sola pista de eventos de IntelliTrace en lugar de dividirse entre los eventos de IntelliTrace y los eventos de salida.
  • Los eventos de la aplicación ahora aparecen mientras se ejecuta el programa; ya no tiene que presionar "Interrumpir todo" para ver los eventos.
  • Ahora puede activar la depuración histórica para los puntos de seguimiento que ha establecido en el código, lo que le permite ver el código fuente y la pila de llamadas.
  • Ahora puede ver eventos de recolección de elementos no utilizados e instantáneas en el gráfico Uso de memoria para que pueda ver cuándo se produjeron las recolecciones de elementos no utilizados administrados y cuándo tomó instantáneas con la herramienta Uso de memoria.

ASP.NET

ASP.NET 4.6

El enlace de modelos de ASP.NET admite métodos de devolución de tareas

Los métodos de enlace de modelos de ASP.NET que anteriormente devolvían tareas no se admitían y generaban una excepción en tiempo de ejecución si se configuraban. Si las aplicaciones se implementan con estos métodos, estos métodos ahora se ejecutan correctamente. Este cambio solo se aplica a las aplicaciones destinadas específicamente a .NET 4.6 o posterior.

Habilitación de .NET Compiler Platform ("Roslyn") en aplicaciones de ASP.NET

Puede usar las nuevas características de lenguaje de C# y VB en cualquier proyecto de ASP.NET 4.6. Las plantillas de Web Forms en VS 2015 tienen el paquete Microsoft.CodeDom.Providers.DotNetCompilerPlatform preinstalado.

Compatibilidad agregada con HTTP/2

En Windows 10 y .NET Framework 4.6, se ha agregado compatibilidad con HTTP/2. El objetivo principal de HTTP/2 es mejorar el rendimiento, la latencia y el uso de red mediante una única conexión desde exploradores a un sitio web.

Marcos y controles actualizados para admitir Entity Framework 6

Se han actualizado el marco Dynamic Data, Control de origen de datos de entidad y Proveedores universales para que funcionen con Entity Framework 6.

Actualizaciones de autenticación

Las plantillas de ASP.NET 4.6 ahora usan middleware de OpenID Connect para autenticarse con Azure AD. Esto hace que el modelo de programación se autentique con Azure AD mucho más fácilmente.

Si selecciona la opción "Cuentas de usuario individuales", las plantillas de ASP.NET 4.6 muestran cómo usar la autenticación en dos fases y los inicios de sesión en redes sociales mediante ASP.NET Identity.

ASP.NET MVC 5.2.3, Web Pages 3.2.3 y Web API 5.2.3

Se han actualizado los paquetes de plantilla para usar los paquetes de tiempo de ejecución más recientes para MVC 5.2, Web Pages 3.2 y Web API 2.2. Para más información sobre estas actualizaciones de paquetes, consulte la entrada de blog Versión de ASP.NET MVC 5.2.3, Web Pages 3.2.3 y Web API 5.2.3.

ASP.NET Web API OData 5.3.1

Se han actualizado los procesos scaffolding de Web API OData para usar ASP.NET Web OData 5.3.1. Para más información, consulte Novedades de ASP.NET Web API OData 5.3.

SignalR 2.1.2

Se han actualizado los paquetes de plantilla para usar SignalR 2.1.2. Consulte la nota de la versión de SignalR en GitHub.

Paquete de Microsoft Owin 3.0

Se han actualizado los paquetes de plantilla para usar paquetes NuGet de Microsoft Owin 3.0. Consulte el proyecto Katana.

ASP.NET Identity 2.2.1

ASP.NET Identity 2.2.1 presenta muchas correcciones de errores y mejoras de rendimiento con respecto a la versión 2.1. Para más información, lea esta entrada de blog ASP.NET Identity 2.2.1.

Actualizaciones de herramientas de ASP.NET

Mejoras del Editor JSON

Se han realizado algunas mejoras en el Editor JSON, incluidas mejoras de rendimiento, como carga asincrónica del esquema JSON, almacenamiento en caché de los esquemas secundarios y mejor compatibilidad con IntelliSense. Además, hay estas nuevas características:

  • Validación de esquemas JSON Agregue la característica de validación de esquemas JSON, en función del esquema definido en la lista desplegable de esquemas.
  • Menú contextual Desminificar. Puede hacer clic con el botón derecho en el Editor JSON y seleccionar el menú contextual Desminificar para desminificar cualquier matriz larga del archivo JSON.
  • Menú contextual Recargar esquemas. Visual Studio almacenará en caché el esquema que se descarga de Internet y usará la memoria caché incluso después de reiniciar Visual Studio. Si sabe que se ha cambiado el esquema, puede usar el menú contextual Recargar esquemas (Ctrl+Mayús+J) para volver a descargar el esquema usado actual en el documento JSON activo y, a continuación, usarlo inmediatamente en el documento actual.
  • IntelliSense para package.json/bower.json. Además de probar IntelliSense y la validación para archivos package.json y bower.json, Visual Studio también proporciona IntelliSense dinámico para paquetes Bower y npm directamente en el Editor JSON.
  • Validación de propiedades duplicadas. El Editor JSON ahora proporcionará validación de las propiedades duplicadas. Esto ayuda a detectar un problema común con la creación de archivos JSON.
  • La compatibilidad con IntelliSense y la validación de archivos JSON se ha mejorado considerablemente al admitir completamente la especificación del borrador de esquema JSON v4. Ahora es mucho más fácil identificar las propiedades necesarias, y además el Editor le permite ordenar fácilmente las propiedades alfabéticamente. El formato de un archivo JSON minificado ahora se desminificará automáticamente.
  • Se ha agregado compatibilidad con SchemaStore.org, una colección de código abierto de archivos de esquema JSON útiles. Esto significa que cualquier archivo JSON abierto en Visual Studio que tenga un esquema asociado en SchemaStore.org obtiene automáticamente IntelliSense y la validación.
  • Además, la compatibilidad con los autores de esquemas JSON se ha mejorado mediante una mejor validación de la integridad del esquema.

Mejoras del Editor HTML

El Editor HTML ha actualizado IntelliSense según los estándares web y ha introducido las siguientes características nuevas:

  • Mejor formato de plantilla de cliente. El Editor HTML ya no analiza ni da formato a la sintaxis de llave doble {{...}}. El motivo es asegurarse de que el contenido de esa sintaxis no se trata como HTML y, por lo tanto, se invalida, ni se intenta dar formato al contenido, que no se puede hacer correctamente mediante el formateador HTML. Esta mejora es muy conveniente para Angular, Handlebars, Mustache y otras sintaxis de plantilla de llave doble.
  • Compatibilidad con elementos personalizados, elementos poliméricos y atributos. El Editor HTML ya no valida atributos desconocidos de elementos personalizados, ya que los distintos marcos tienen muchas etiquetas personalizadas. Ya no habrá subrayados ondulados en los elementos desconocidos.
  • IntelliSense básico para componentes web. El Editor HTML tiene IntelliSense para <link rel="import" />, que forma parte del estándar de componentes web.
  • Información sobre herramientas de los elementos HTML. La información sobre herramientas se proporciona para elementos HTML en el Editor.
  • Compatibilidad con #region. El Editor HTML ahora admite el plegado de regiones. También puede usar el fragmento de código circundante para rodear la selección actual.
  • Compatibilidad con comentarios Todo/Hack en la lista de tareas.
  • Iconos de Angular. Tanto las directivas Angular (por ejemplo, <<ng-view>) como los atributos (por ejemplo, ng-controller) ahora se muestran en IntelliSense con un logotipo de Angular para facilitar su identificación.
  • Iconos de arranque. La función IntelliSense proporcionada en los atributos de clase HTML ahora se muestra con el logotipo de arranque si el archivo CSS de arranque definió el nombre de clase.

Mejoras del Editor CSS/LESS/Sass

  • Compatibilidad con comentarios Todo/Hack en la lista de tareas.
  • Corrección @viewport para el Editor LESS. En el editor LESS, @viewport ya no muestra advertencias de comprobación.
  • Se proporcionan muchos más fragmentos de código. El Editor CSS/LESS/Sass ahora proporciona más fragmentos de código para facilitar la experiencia de desarrollo.
  • Ahora hay disponible una extensión para Visual Studio 2015 para compilar LESS, Scss y CoffeeScirpt. Descárguela aquí.

Editor JSX (React.js)

Visual Studio ahora admite la sintaxis JSX de cualquier archivo con la extensión de archivo .jsx. Obtenga IntelliSense, formato y validación en el Editor mientras escribe. Este editor se creó en colaboración con el equipo de Facebook responsable de la biblioteca de React.js.

Vínculo con exploradores

CSS se sincroniza automáticamente. Guardar el archivo CSS o cambiarlo externamente (por ejemplo, mediante un compilador LESS/SASS) hace que todo el archivo CSS se vuelva a cargar en el explorador. Si el archivo no puede sincronizarse automáticamente, al presionar Ctrl + S se recarga automáticamente y debe devolverlo a un estado bueno sin tener que actualizar los exploradores vinculados (Ctrl + Alt + Entrar). La característica se puede deshabilitar en la barra de herramientas.

Más información sobre ASP.NET.

ASP.NET

ASP.NET 5 es una pila .NET ligera y componible para crear aplicaciones web modernas para servidores locales y en la nube. Contiene las características siguientes:

  • Nueva canalización de solicitud ligera.
  • Se ejecuta en IIS o se autohospeda en su propio proceso.
  • Se basa en el nuevo entorno de ejecución .NET (DNX) que se puede ejecutar en la instancia de .NET Framework completa o en .NET Core, un nuevo entorno de ejecución optimizado para la nube que admite el verdadero control de versiones en paralelo.
  • Se ejecuta en todas las plataformas: Windows, Mac y Linux.
  • Todo de NuGet, incluso el propio entorno de ejecución.
  • Admite ASP.NET MVC 6, un marco web unificado para la interfaz de usuario web y las API web.
  • Configuración basada en el entorno para una transición fluida a la nube.
  • Inserción de dependencias inmediata.
  • Nuevo sistema de proyectos Visual Studio y experiencia de herramientas de alta productividad.
  • Todo el código abierto en GitHub gracias a .NET Foundation.

Visual Studio 2015 incluye los paquetes en tiempo de ejecución de ASP.NET 5 beta5. Estos paquetes siguen en versión preliminar y no se recomiendan para su uso en producción. Puede encontrar todos los detalles sobre las mejoras específicas agregadas y los problemas corregidos en las notas de la versión publicadas en GitHub.

Visual Studio 2015 incluye un nuevo sistema de proyectos y una experiencia de herramientas integrada para compilar aplicaciones de ASP.NET 5 y para trabajar con proyectos DNX. Algunas de las nuevas características de herramientas incluyen:

  • Nuevo sistema de proyectos para crear proyectos multiplataforma basados en DNX que se compilan y ejecutan en Windows, Mac y Linux.
  • Plantillas para crear sitios web y API web de ASP.NET 5 mediante MVC 6, Identity 3 y Entity Framework 7.
  • Plantillas para crear bibliotecas de clases y aplicaciones de consola basadas en DNX.
  • Creación y distribución de herramientas de línea de comandos multiplataforma a través de NuGet.
  • Instalación y administración de diferentes versiones de DNX mediante el Administrador de versiones de .NET (DNVM) desde el Símbolo del sistema para desarrolladores.
  • Experiencia integrada para buscar, instalar y restaurar paquetes NuGet.
  • Uso de CTRL + . para buscar e instalar paquetes NuGet para los símbolos sin resolver en el código de C#.
  • Herramientas integradas para el desarrollo web del lado cliente mediante NPM, Grunt/Gulp y Bower, incluida la integración con la administración de paquetes y el nuevo Explorador de ejecutores de tareas.
  • Ejecución de comandos DNX de nivel de proyecto directamente desde Visual Studio mediante el menú desplegable del botón Ejecutar.
  • Creación de perfiles de inicio personalizados que inician IIS Express, incluida la configuración de variables de entorno personalizadas.
  • Compilación de paquetes NuGet a partir de un único proyecto que tenga como destino varias plataformas, incluida .NET Core.
  • IntelliSense combinado al compilar para varias plataformas de destino desde un único proyecto.
  • Nuevas características de Razor introducidas por ASP.NET 5, como asistentes de etiquetas, ahora se iluminan tanto en IntelliSense como en el resaltado de sintaxis.

vas características de esta versión

  • Cuando abra un proyecto que requiera una versión de DNX que no esté disponible, Visual Studio le pedirá que instale la versión de DNX necesaria.
  • Ahora puede agregar referencias a ensamblados perdidos mediante el cuadro de diálogo Agregar referencia.
  • La plantilla Aplicación web de ASP.NET 5 ahora admite la opción Cuentas profesionales y educativas para la autenticación.
  • La opción Hospedar en la nube del cuadro de diálogo Nuevo proyecto de ASP.NET ahora está disponible para proyectos de ASP.NET 5.
  • Use el Explorador de servidores para realizar la edición remota de archivos en approot para proyectos de ASP.NET 5 hospedados en Azure.

Para más información, consulte las notas de la versión de GitHub y nuestro blog de herramientas y desarrollo web de .NET.

Herramientas de Azure

Integración del selector de cuentas

El selector de cuentas se usa en todos los cuadros de diálogo de creación y selección de aplicaciones web y publicación web para permitir el acceso con un solo clic a varias cuentas. Puede iniciar sesión una vez en varias cuentas y tener acceso rápido y sencillo a cuentas cuando publique recursos.

API Apps

La plantilla de versión preliminar de API Apps, la compatibilidad con la publicación y la visibilidad del Explorador de servidores se han migrado a Visual Studio 2015. Ahora puede crear e implementar Azure API Apps con la versión más reciente de Visual Studio. Además, se ha mejorado la funcionalidad de salida de Swagger para que los desarrolladores de aplicaciones de API tengan una mejor compatibilidad integrada con Swagger generado dinámicamente a partir de ASP.NET Web API.

Herramientas de WebJobs

Ahora puede controlar los trabajos web en el nodo WebJob del Explorador de servidores dentro de un sitio web de Azure de las siguientes maneras:

  • Nodos de WebJobs debajo de nodos de sitio web en el Explorador de servidores.
  • Inicio y detención de WebJobs continuos desde el Explorador de servidores.
  • Ejecución de trabajos a petición o programados desde el Explorador de servidores.
  • Vista del panel WebJob desde el Explorador de servidores.
  • El menú contextual Ver panel; úselo para ir al panel WebJob del sitio web de Azure.

SDK de WebJobs

Las plantillas de proyecto de Azure WebJob tienen preinstalado el SDK de WebJobs.

NuGet

NuGet 2.8.3

Se ha agregado compatibilidad con el proyecto DevExtreme y BizTalkProject 2.8.3. Para más información, consulte Notas de la versión de NuGet 2.8.3.

Administrador de paquetes de NuGet

Se ha actualizado la interfaz de usuario del Administrador de paquetes NuGet para proporcionar una administración más sencilla de paquetes en una solución entera de Visual Studio 2015. Con una vista única de los paquetes instalados en los proyectos, puede filtrar la lista de paquetes disponibles en la galería de NuGet, los paquetes instalados y los paquetes que tienen actualizaciones disponibles.

Galería de NuGet

Se ha mejorado el rendimiento de la galería de NuGet con un nuevo servicio web y un cliente integrado. Puede encontrar más detalles sobre las actualizaciones de NuGet en http://docs.nuget.org.

JavaScript

Compatibilidad con el Editor JavaScript

Se ha actualizado el Editor JavaScript para que sea aún más útil.

  • Compatibilidad con herramientas de AngularJS. Ahora, al escribir aplicaciones con AngularJS, IntelliSense proporciona sugerencias para controladores, servicios, factorías, directivas y animaciones de Angular.
  • Se admiten nuevas características del lenguaje JavaScript (desde la versión ES6 de JavaScript), incluidas clases, funciones de flecha y cadenas de plantilla.
  • Compatibilidad con barra de navegación en proyectos compartidos. Ahora puede usar la barra de navegación en el proyecto compartido en proyectos de aplicaciones universales de Windows.
  • Nueva barra de navegación. La nueva barra de navegación facilita la navegación entre los elementos principales del código fuente de JavaScript.
  • Comentario de JSDoc. Los comentarios de documentación escritos en el formato JSDoc ahora se muestran al usar IntelliSense. (Para más información sobre los comentarios de JSDoc, consulte https://jsdoc.app/).
  • IntelliSense de literales de objetos. El Editor JavaScript proporciona sugerencias de IntelliSense cuando se pasa un literal de objeto a funciones documentadas mediante JSDoc.
  • Expandir y contraer. Puede expandir y contraer más secciones del código JavaScript, incluidos comentarios de varias líneas, matrices de varias líneas y todos los bloques de varias líneas.
  • Compatibilidad con lista de tareas. Puede usar la característica Lista de tareas para revisar los comentarios de tareas, como // TODO, en el código JavaScript.

TypeScript

Visual Studio 2015 incluye la versión 1.5 de las herramientas de TypeScript. Esta versión agrega compatibilidad enriquecida con ECMAScript 6, lo que incluye módulos, destructuración, sintaxis for..of, propagación, símbolos, propiedades calculadas, let/const para ES3/ES5 y plantillas de cadena etiquetadas para ES3/ES5. Además de la compatibilidad con ES6, TypeScript 1.5 también agrega compatibilidad con la propuesta experimental del decorador de ES7, salidas del módulo UMD y System.js, y un nuevo archivo de proyecto ligero y portable llamado "tsconfig.json".

IntelliTest

En Visual Studio 2015 se ha agregado IntelliTest, que explora el código .NET para generar datos de prueba y un conjunto de pruebas unitarias. Para cada instrucción en el código, se genera una entrada de prueba que ejecutará esa instrucción. Se lleva a cabo un análisis de caso para cada bifurcación condicional en el código. Por ejemplo,

Se analizan todas las operaciones que pueden producir excepciones, como instrucciones if y aserciones. Este análisis se usa para generar datos de pruebas para una prueba unitaria parametrizada para cada uno de sus métodos y crea pruebas unitarias con una cobertura de código máxima. Luego, utiliza su conocimiento de dominio para mejorar estas pruebas unitarias.

También se ha agregado la siguiente funcionalidad a IntelliTest:

  • Pruebas unitarias parametrizadas. IntelliTest permite la compatibilidad con una API que puede usar para guiar la generación de datos de prueba, especificar las propiedades de corrección del código sometido a prueba y dirigir la exploración de este código. Esta API está disponible en el espacio de nombres Microsoft.Pex.Framework y se puede usar en los métodos de prueba (pruebas unitarias parametrizadas, Factory Method) generados por IntelliTest. Por lo tanto, el comando de menú contextual "IntelliTest" ya está disponible desde los métodos de prueba generados.
  • Creación de clases stub para pruebas. "Crear pruebas unitarias" ahora está disponible en el menú contextual como un comando que ofrece la posibilidad de crear y configurar un proyecto de prueba, una clase de prueba y una clase stub para pruebas.

Para más información sobre IntelliTest (anteriormente conocido como "Pruebas unitarias inteligentes"), consulte Generación de pruebas unitarias para el código con IntelliTest.

Application Insights

Además de varias mejoras de rendimiento y correcciones de errores, Application Insights ahora incluye las siguientes actualizaciones:

  • Las herramientas de Application Insights de Visual Studio ahora forman parte de Servicios conectados de Visual Studio. (Para agregar Application Insights, abra el cuadro de diálogo Servicios conectados y elija Application Insights en la lista de servicios).
  • Esta actualización es totalmente compatible con proyectos en los que se había agregado Application Insights en Visual Studio 2013 Update 3 o en Visual Studio 2013 Update 4.
  • Los desarrolladores de ASP.NET 5 y los de aplicaciones universales de Windows 10 y Windows 8.1 pueden agregar Application Insights directamente a sus proyectos desde Visual Studio.
  • Los desarrolladores de aplicaciones universales de Windows 10 no tienen que iniciar sesión en Azure para agregar el SDK de Application Insights; en su lugar, pueden hacerlo mediante las herramientas de Application Insights de Visual Studio.
  • Dado que Application Insights usa el selector de cuentas global de Visual Studio, puede usar la misma cuenta en todo Visual Studio.
  • Ahora puede ver la información de "introducción" de Application Insights directamente desde la carpeta Referencia de servicio del proyecto; simplemente haga clic en la carpeta Introducción.

View Getting Started information for Application Insights from a Project's Service Reference folder.

Administración de versiones

Con esta característica, puede mejorar el proceso de administrar la versión de la aplicación, implementar la aplicación en un entorno específico para cada fase independiente y administrar los pasos del proceso con aprobaciones para cada paso. Puede configurar una canalización de versión desde la inserción en el repositorio hasta la implementación sin tener que instalar y mantener un servidor de administración de versiones local mediante el servicio Release Management de Visual Studio Online.

Hay disponible una versión actualizada de Release Management para Visual Studio 2015. Esta versión es muy similar a la ya existente en Visual Studio 2013, pero proporciona un rendimiento mejorado en las siguientes áreas:

  • La página de inicio del cliente de administración de versiones que muestra información general sobre el proceso de versión y notificaciones.
  • Representación e interactividad en otras páginas del cliente de administración de versiones, a través del almacenamiento en caché adicional.
  • Sincronización de grupos de seguridad de Active Directory y TFS.
  • Creación de nuevas versiones.

Ahora puede definir componentes y definiciones de versión para las definiciones de compilación del nuevo sistema de compilación incluido en Team Foundation Server 2015. Al definir el componente, también puede especificar su artefacto mediante un nombre de componente que sea igual que (o contenga) el nombre del artefacto publicado de la definición de compilación.

Control de versiones de Git

Es más fácil trabajar con ramas y ver cómo divergen los cambios en su historial.

Ramas

Puede organizar las ramas jerárquicamente especificando un prefijo:

Las ramas locales y las ramas remotas (incluidas las que no se han creado localmente) se muestran por separado en una vista de árbol.

Git branches

Y a partir de RC, se ha rediseñado la página Ramas:

  • Ahora puede combinar desde ramas remotas, así como ramas locales.
  • La rama con la que va a combinar ahora se ha fijado a la rama que está desprotegida actualmente.
  • Ahora puede fusionar mediante cambio de base desde la rama actual en cualquier rama local o remota.
  • Puede desproteger una rama remota haciendo doble clic en ella o haciendo clic con el botón derecho en ella y seleccionando Desproteger.

Administración remota

Ahora puede configurar los elementos remotos de Git en Team Explorer. En Configuración del repositorio, hay una nueva sección Remotos que muestra los elementos remotos configurados actualmente donde puede agregar, editar o quitar elementos remotos. Por ejemplo, si necesita cambiar la dirección URL del elemento remoto de origen, puede hacer clic en Editar y cambiar la dirección URL de captura o inserción.

Historial detallado

Ahora puede ver cómo divergen las confirmaciones en el historial.

Detailed view of history

En el gráfico, las confirmaciones de combinación son grises y las confirmaciones que no son de combinación son de un color más brillante. Puede cambiar entre la vista simple y la vista detallada. Si el gráfico se trunca, puede cambiar su tamaño.

Se han realizado varias actualizaciones en el de gráfico historial de la versión RC:

  • Se ha agregado una barra de herramientas que le permite controlar el nivel de detalle que ve en el gráfico.
  • Ahora se resaltan las líneas de historial para indicar qué confirmaciones son accesibles desde la confirmación seleccionada actualmente.
  • Ahora se muestran ambas líneas del historial si la rama local y remota difieren. Esto es especialmente útil después de fusionar mediante cambio de base una rama local.

Fusionar mediante cambio de base en Team Explorer

Ahora se admite la fusión mediante cambio de base en Team Explorer. Para iniciar una fusión mediante cambio de base, haga clic en el control flotante de fusión mediante cambio de base en la página Ramas, o haga clic con el botón derecho en una rama y seleccione "Fusionar mediante cambio de base en...".

Repositorios de VSO

Se ha mejorado la experiencia de "introducción" al crear un repositorio de VSO y hay en camino muchos más cambios para simplificar la creación de un nuevo repositorio. Para RC, se ha realizado un pequeño cambio para facilitar la incorporación de nuevo código a un repositorio existente: si se conecta a cualquier repositorio mediante Team Explorer y selecciona Archivo > Nuevo proyecto, el cuadro de diálogo se iniciará ahora en la raíz de ese repositorio conectado.

Publicar en Visual Studio Online

La función Publicar en Visual Studio Online simplifica enormemente el proceso de llevar el repositorio local a Visual Studio Online. En lo que se solía tardar 12 pasos, ahora se tarda 2. En la página Sincronización de Team Explorer, la nueva sección Publicar en Visual Studio Online le permite seleccionar cualquiera de las cuentas de usuario del administrador de cuentas de Visual Studio. Las cuentas de Visual Studio Online están disponibles automáticamente en una lista; no es necesario recordar las direcciones URL. Cuando esté listo para compartir el código, simplemente elija un proyecto de equipo nuevo o existente para hospedar el repositorio, haga clic en Publicar y listo.

Publish to Visual Studio Online dialog box

Inicio de sesión único

Usted, al igual que muchos otros desarrolladores de la actualidad, aprovecha las ventajas de varios servicios en la nube al desarrollar sus aplicaciones. Por ejemplo, probablemente haya agregado un back-end en la nube a las aplicaciones para almacenar datos, almacenar el código fuente en la nube o publicar una aplicación en un almacén.

En el pasado, cada uno de estos servicios requería un proceso de inicio de sesión independiente y cada servicio administraba el estado del usuario que ha iniciado sesión por separado.

Con esta versión, se reducen las solicitudes de autenticación necesarias para acceder a muchos servicios en la nube integrados en Visual Studio. Ahora, cuando se autentique en el primer servicio en la nube en Visual Studio, le iniciaremos la sesión automáticamente o reduciremos las solicitudes de autenticación para otros servicios en la nube integrados.

CodeLens

Descubra más información sobre el código, mientras se mantiene centrado en su trabajo en el Editor. Busque referencias de código, cambios en el código, elementos de TFS relacionados y pruebas unitarias, todo ello sin apartar la vista del código.

En esta versión, se han reemplazado los indicadores de "Autores" de CodeLens por los nuevos indicadores del historial "Escala de tiempo de actividad del equipo" y "Autores y cambios".

  • El indicador Escala de tiempo de actividad del equipo muestra el último autor y cuándo se realizó el último cambio. Al elegir este indicador se abre la vista actividad del equipo, donde puede buscar patrones en los cambios en el código. Esto puede ayudarle a evaluar el impacto de los cambios a lo largo del tiempo.
  • El indicador Autores y cambios muestra el número de autores que han cambiado el archivo y el número de cambios. Al elegir este indicador se abre una lista de todos los cambios, detalles de los cambios y vínculos para obtener más información y ver las versiones anteriores.

Toda la información de los indicadores está disponible cuando el código se hospeda en Control de versiones de Team Foundation (tanto en Team Foundation Server como en Visual Studio Online) y en repositorios de Git. Si trabaja en Team Foundation Server o Visual Studio Online, también puede obtener información sobre los elementos de trabajo.

Estos indicadores, junto con los indicadores disponibles en versiones anteriores, se muestran a nivel de elemento de código (método, campo o clase) para archivos de C# y Visual Basic. A continuación, se muestra un ejemplo del indicador Escala de tiempo de actividad del equipo para un archivo de C#:

The Team Activity Timeline indicator for a C# file

A continuación, se muestra un ejemplo del indicador Autores y cambios de un archivo de C#:

The Authors and Changes indicator for a C# file

Sin embargo, los indicadores ahora se muestran a nivel de archivo para todos los demás tipos de archivos (por ejemplo, C++, SQL, JavaScript, etc.). A continuación, se muestra un ejemplo del indicador Escala de tiempo de actividad del equipo para un archivo que no es un archivo de código de C# o Visual Basic:

The Team Activity Timeline indicator for a file that is not a C# or Visual Basic code file

Arquitectura, diseño y modelado

Mapas de código y gráficos de dependencias

Si quiere comprender las dependencias específicas de su código, cree mapas de código para visualizarlas. Podrá navegar entre estas relaciones mediante el mapa, que aparece junto a su código. Los mapas de código también pueden ayudarle a mantener un seguimiento de su lugar en el código mientras trabaja o depura código, por lo que leerá menos código al tiempo que mejorará su comprensión del diseño de este.

En la versión final RTM, se han simplificado mucho más los menús contextuales de vínculos y elementos de código mediante la agrupación de los comandos en secciones relacionadas con la selección, edición y administración de grupos, y el cambio de diseño del contenido del grupo. Observe también que los proyectos de prueba se muestran en un estilo diferente al de otros proyectos, y que se han actualizado los iconos de los elementos del mapa a una versión más apropiada.

New groupings in code maps

También hemos cambiado la forma en que se muestra el contenido de los elementos de código, por lo que ahora puede seleccionar más de un grupo y aplicar el estilo de diseño que desea a todos ellos. Ahora, siempre puede obtener un práctico diagrama de dependencias al expandir un ensamblado, un espacio de nombres o un tipo en un mapa de código.

Select multiple groups and apply one layout in a Code Map

En la versión preliminar anterior y versiones candidatas para lanzamiento de Visual Studio 2015, se han realizado cambios que le permiten:

  • Obtener diagramas de arriba abajo mejorados. En soluciones de Visual Studio de tamaño mediano y grande, ahora se puede usar un menú Arquitectura simplificado con el que se obtienen mapas de código de la solución más útiles. Los ensamblados de la solución se agrupan en carpetas de soluciones para que pueda verlos en contexto y aprovechar el trabajo invertido en la estructura de la solución. Verá inmediatamente las referencias a proyectos y ensamblados y, luego, aparecerán los tipos de vínculo. Además, los ensamblados externos a la solución se agrupan en una manera más compacta.
  • Obtención más rápida de mapas de código reactivos. Las operaciones de arrastrar y colocar producen un resultado inmediato y los vínculos entre los nodos se crean mucho más rápido, sin que por ello se vean afectadas las operaciones subsiguientes iniciadas por el usuario, como la expansión de un nodo o la solicitud de más nodos. En concreto, la opción "Omitir la recompilación de la solución" le permite obtener un mejor rendimiento al crear y editar diagramas. Al crear mapas de código sin compilar la solución, todos los casos extremos y problemáticos, por ejemplo, cuando no se compilan los ensamblados, ahora se procesan.
  • Filtrado de grupos y nodos de elementos de código. Ordene rápidamente los mapas: muestre u oculte elementos de código por categoría y agrupe elementos de código por carpetas de solución, ensamblados, espacios de nombres, carpetas de proyecto y tipos.
  • Filtrado de relaciones para facilitar la lectura de diagramas. Esto se aplica también a los vínculos entre grupos, lo que hace que trabajar con la ventana de filtros sea menos intrusivo que en versiones anteriores.
  • La profundización en los vínculos de dependencia tiene en cuenta los filtros. Obtenga un diagrama útil y claro cuando lo expanda para entender las contribuciones a un vínculo de dependencia. El diagrama aparece menos saturado y tiene en cuenta las opciones de filtrado de vínculos que se seleccionen.
  • Creación de diagramas desde la Vista de clases y el Explorador de objetos. Arrastre y coloque los archivos y ensamblados en un mapa nuevo o existente desde las ventanas Vista de clases y Examinador de objetos.

En general, la lista completa de mejoras realizadas en los mapas de código incluye:

  • Los proyectos de prueba tienen un estilo diferente y se pueden filtrar. Ahora resulta más fácil y rápido identificar proyectos de prueba en el mapa porque tienen un estilo diferente. Además, se pueden filtrar para que pueda centrarse en el código de trabajo de la aplicación.
  • Los elementos de código se agregan con su contexto. Dado que los diagramas aparecen ahora con su contexto (hasta la carpeta de ensamblados y soluciones, que se puede filtrar en caso necesario), se obtienen diagramas más útiles al arrastrar y colocar elementos de código desde el Explorador de soluciones, la Vista de clases, el Explorador de objetos, o al seleccionar elementos en el Explorador de soluciones y elegir Mostrar en mapa de código.
  • Los vínculos de dependencias externas se han simplificado. Los vínculos de dependencia ya no representan la herencia de System.Object, System.ValueType, System.Enum y System.Delegate, lo que facilita ver las dependencias externas en el mapa del código.

Otros cambios de diseño y modelado incluidos en esta versión:

  • Diagramas de capas. actualice estos diagramas usando la Vista de clases y el Explorador de objetos. A fin de cumplir los requisitos de diseño de software, use diagramas de capas para describir las dependencias deseadas para el software. Mantenga la coherencia del código con este diseño mediante la búsqueda de código que no cumpla estas restricciones y la validación de código futuro con esta línea base.
  • Diagramas de UML. Ya no puede crear diagramas de clase UML y diagramas de secuencia a partir del código. Sin embargo, todavía puede crear estos diagramas usando nuevos elementos de UML.
  • Explorador de arquitectura. El Explorador de arquitectura ya no se puede usar para crear diagramas. No obstante, se puede seguir usando el Explorador de soluciones.

Servicio de lenguaje XAML

Se ha recompilado el servicio de lenguaje XAML sobre .NET Compiler Platform ("Roslyn") para proporcionarle una experiencia de edición XAML rápida, confiable y moderna que incluye IntelliSense.

Esto hace que la experiencia de creación de XAML sea igual a la de otros lenguajes de primera clase en Visual Studio. También se proporcionarán conjuntos de características eficaces en torno a la refactorización entre lenguajes a un ritmo mucho más rápido.

Varios

Agents para Visual Studio 2015 ya no requiere un controlador de pruebas.

En Agents para Visual Studio 2015, no necesita un controlador de pruebas aparte porque los agentes pueden controlar la orquestación mediante la comunicación con TFS 2015 o Visual Studio Online.

En todos los nuevos escenarios de Visual Studio 2015 y TFS 2015, se recomienda Agents para Visual Studio 2015.

Sin embargo, si necesita el agente de pruebas o el controlador de pruebas para trabajar con TFS 2013, se recomienda usar Agentes para Visual Studio 2013 Update 5 y configurar el controlador de pruebas.

El controlador de pruebas es compatible con TFS 2015, así como con TFS 2013. Sin embargo, la compatibilidad con pruebas de carga en Visual Studio 2015 no forma parte de los agentes, por lo que se recomienda instalar Agentes para Visual Studio 2013 Update 5 y configurar el controlador.

Servicios conectados

El nuevo cuadro de diálogo Agregar servicio conectado de Visual Studio 2015 le permite conectar fácilmente la aplicación a Azure Application Insights, Azure Storage, Azure Mobile Services, Office 365 y Salesforce. Para agregar un servicio conectado, haga clic con el botón derecho en el nodo Referencias y seleccione Agregar servicio conectado...

Add a Connected Service

El cuadro de diálogo Agregar servicio conectado contiene todos los proveedores de servicios conectados instalados actualmente y proporciona una manera de obtener más información sobre el proveedor, las tecnologías que usa y si se admite en el proyecto actual. Otros proveedores se pueden detectar en la galería de extensiones y actualizaciones mediante el vínculo Buscar más servicios... El cuadro de diálogo Agregar servicio conectado también es extensible. Si es desarrollador de servicios, puede usar nuestro SDK de Servicios conectados para crear un proveedor que pueda mejorar la detectabilidad e impulsar el uso de los servicios.

Enterprise Single Sign-On

Una tarea común para la aplicación empresarial es configurar la aplicación para el inicio de sesión único empresarial mediante Azure Active Directory. Ahora puede hacerlo fácilmente en cualquier momento durante la construcción de la aplicación haciendo clic con el botón derecho en la aplicación y seleccionando Configurar la autenticación de Azure AD... Se abrirá un asistente similar a la experiencia de Agregar servicio conectado para guiarle a través del proceso de configuración de la aplicación para que funcione con Active Directory. Al especificar un Dominio de Active Directory en el asistente, se registrará la aplicación con esa instancia de Active Directory y se configurará la aplicación para solicitar el inicio de sesión.

Specify an Active Directory Domain in the wizard

IIS 10 Express para Visual Studio 2015 RC

La versión RC incluía una nueva versión de IIS 10 Express; su nueva funcionalidad incluye compatibilidad con HTTP 2.0, así como una sincronización de bits con Windows 10.

Otros cambios: correcciones de errores y problemas conocidos

Para una descripción completa de las mejoras tecnológicas, soluciones de errores y problemas conocidos de esta versión, consulte el siguiente artículo de Knowledge Base (KB).

Azure SDK 2.7 para .NET

Azure SDK 2.7 es el primer SDK de Azure compatible con la versión final de Visual Studio 2015. Estas son algunas de las nuevas características y actualizaciones que ayudarán a mejorar la experiencia de desarrollo de Azure:

  • Mejoras de inicio de sesión para Visual Studio 2015: Azure SDK 2.7 para Visual Studio 2015 ahora incluye compatibilidad con cuentas que acceden a Azure mediante control de acceso basado en rolproveedores de soluciones en la nube, DreamSpark y otros tipos de cuenta y suscripción.
  • Cloud Explorer para Visual Studio 2015: Azure SDK 2.7 incluye Cloud Explorer para Visual Studio 2015 que proporciona una herramienta muy eficaz y escalable para buscar y ver los recursos de Azure, inspeccionar sus propiedades y realizar acciones clave de desarrollador y diagnóstico desde Visual Studio.
  • Depuración remota para Virtual Machines en Visual Studio 2015: procesos de depuración remota que se ejecutan en Virtual Machines creados mediante la pila de Azure Resource Manager.
  • Herramientas de Azure Resource Manager: se han actualizado las herramientas de Azure Resource Manager para facilitar el trabajo con las nuevas tareas de compilación de Visual Studio Online. Además, se han agregado mejoras para trabajar con el control de acceso basado en rol (RBAC) y nuevos tipos de suscripción.
  • Herramientas de Azure App Service: las herramientas de App Service ahora también están disponibles en Visual Studio 2015. Esta actualización ofrece compatibilidad con la generación remota de perfiles para Web Apps, mejoras en la generación de Swagger para aplicaciones de API y compatibilidad con el inicio de sesión de varias cuentas. Las herramientas de App Service ahora usan las API de Administración de recursos de Azure con todas las características y permiten la compatibilidad con DreamSpark y proveedores de servicios en la nube. También se ha agregado compatibilidad con la versión preliminar de Azure API Apps para desarrolladores de Visual Studio 2015 en esta actualización.
  • Herramientas de HDInsight: en esta versión, se han agregado vistas de gráficos de ejecución para trabajos de Hive que se ejecutan en Tez, se ha ampliado la compatibilidad con IntelliSense de Hive DML, se ha agregado NuGet para SCP.Net, se han actualizado nuestras plantillas de Storm y se han agregado nuevas plantillas para Pig.
  • Herramientas de Azure Data Factory: ahora en el SDK de Azure se incluyen las herramientas de Azure Data Factory. Nuestro objetivo es simplificar la experiencia de creación de Azure Data Factory y eliminar los desafíos de incorporación e implementación. Nuestras experiencias personalizadas y herramientas enriquecidas de Azure Data Factory mejoran la productividad y la eficiencia de los usuarios nuevos y avanzados. Con esta versión, los clientes pueden crear e implementar canalizaciones de datos de forma interactiva mediante la interfaz Visual Studio. Consulte la entrada de blog de Azure Data Factory para más información sobre estas herramientas.

SDK de Windows 10

Esta versión de las herramientas actualiza Visual Studio 2015 para proporcionar todo lo que necesita para compilar, depurar y enviar aplicaciones en cualquier dispositivo Windows que ejecute la Plataforma universal de Windows. Algunas funciones destacadas:

  • Cree una aplicación universal de Windows en el lenguaje que prefiera (C#, VB, C++ o JS) e impleméntela en un dispositivo Windows 10.
  • Nuevas herramientas de depuración y diagnóstico, incluidas las herramientas de depuración de interfaz de usuario para aplicaciones XAML y un generador de perfiles de red.
  • Cree paquetes de aplicación para enviarlos a la Tienda unificada.
  • El Emulador de Windows 10 Mobile ahora aprovecha el hardware gráfico (GPU) de su PC para que la pantalla se represente más rápido. Proporciona un entorno de depuración más rápido y con mayor capacidad de respuesta mediante Microsoft RemoteFx.
  • Ahora puede usar la característica de simulación NFC del Emulador de Windows 10 Mobile para compilar y probar aplicaciones universales habilitadas para NFC y proximidad.
  • Compatibilidad enriquecida con el diseñador XAML para crear experiencias de usuario adaptadas al dispositivo.
  • Compilación de .NET Native de aplicaciones .NET en la nube.

Para más información sobre las herramientas de desarrollador de Windows 10, consulte Es hora de actualizar su mundo y sus aplicaciones.

Herramientas de Python para Visual Studio 2.2

Compatibilidad totalmente gratuita con Python en Visual Studio.

  • CPython, PyPy, IronPython y mucho más
  • IntelliSense detallado
  • Depuración interactiva
  • Integración con características de Visual Studio
  • Gratis y de código abierto

Para más información, consulte Herramientas de Python para Visual Studio.

Visual Studio Tools para Unity 2.0

Convierta Visual Studio en un eficaz entorno de desarrollo de Unity.

  • Creación de juegos multiplataforma
  • Depuración desde Visual Studio
  • Creación de scripts de Unity en Visual Studio
  • Productividad mejorada con Visual Studio

Para más información sobre Visual Studio Tools para Unity, consulta Desarrollo de juegos con Visual Studio.

Herramientas de Node.js para Visual Studio 1.1 (RC)

Actualizado en octubre de 2021:

Actualización segura de Visual Studio Tools para Apache Cordova en Node.js

Convierta Visual Studio en un eficaz entorno de desarrollo con Node.js.

  • Gratuito y de código abierto
  • Finalización inteligente del código
  • Depuración y generación de perfiles avanzadas
  • Integración con otras características de Visual Studio y herramientas de terceros
  • Compatibilidad con Node.js, io.js, JavaScript, TypeScript, HTML, CSS y JSON

Más información sobre Herramientas de Node.js para Visual Studio.

Office Developer Tools para Visual Studio 2015

Desarrollo con las API de Office 365

  • Office 365 API Tools usa los nuevos servicios conectados de Visual Studio 2015 para proporcionar una experiencia guiada para que los desarrolladores integren las API de Office 365 en el proyecto.
  • Ahora puede permitir que Office 365 API Tools configure automáticamente el inicio de sesión único en las aplicaciones web de ASP.NET MVC simplemente seleccionando "Configurar el inicio de sesión único con Azure AD" en el Asistente para servicios conectados.
  • Al integrar las API de Office 365 en el proyecto, Office 365 API Tools ahora descarga e instala la versión más reciente de los paquetes NuGet de la biblioteca cliente de API de Office 365 desde NuGet.org.

Desarrollo de complementos de SharePoint

  • Al crear un complemento de SharePoint, las herramientas establecen la versión de SharePoint de destino en la versión del sitio web de depuración de SharePoint que especifique en el Asistente para la creación de proyectos. El asistente muestra la versión de SharePoint seleccionada y le permite invalidar la predeterminada. Puede cambiar la versión de destino después de crear el proyecto mediante la pestaña SharePoint del Diseñador de proyectos.
  • Las herramientas ahora instalan un paquete NuGet que contiene el modelo de objetos del lado cliente de SharePoint Online (SPO-CSOM) en el proyecto, cuando la versión de destino es SharePoint Online. Las herramientas agregan referencias a los ensamblados CSOM de SharePoint Online al proyecto. Las herramientas ya no dependen del SDK de componentes de cliente de SharePoint Online que se publica en el Centro de descarga de Microsoft. Esta mejora facilita la actualización de los futuros ensamblados CSOM mediante el Administrador de paquetes NuGet de Visual Studio.
  • Ahora puede usar cadenas de conexión SAS o ACS para Microsoft Azure Service Bus para depurar y solucionar problemas de receptores de eventos remotos en complementos de SharePoint.

Desarrollo de complementos de Office

  • En esta versión, las herramientas siempre crean nuevas aplicaciones para Office con un manifiesto v1.1 en lugar de v1.0, de modo que las aplicaciones puedan admitir las nuevas funcionalidades en aplicaciones web de Office y clientes de Office 2013. En el caso de las aplicaciones existentes para Office que usan un manifiesto v1.0, las herramientas actualizan el manifiesto a v1.1 cuando se use cualquier nueva funcionalidad que requiera esta versión.

Más información sobre Office Developer Tools para Visual Studio.

Extensión de GitHub para Visual Studio 2015

La manera más fácil de conectarse a los repositorios de GitHub en Visual Studio.

  • Fácil de instalar
  • Conexión de GitHub en Visual Studio
  • Creación de repositorios
  • Clonación de repositorios con un solo clic
  • Publicación del trabajo local en GitHub

Más información sobre la extensión de GitHub para Visual Studio.

Pruebas de carga basadas en la nube

Pruebas de carga basadas en la nube desde centros de datos de Azure de todo el mundo

Ahora es mucho más fácil preparar la infraestructura necesaria para ejecutar pruebas de carga, ya que puede ejecutarlas en la nube desde cualquier centro de datos de Azure de todo el mundo compatible.

La prueba de carga basada en la nube ahora admite diagnósticos de agente avanzados

En esta versión, se ha agregado la capacidad para llevar a cabo diagnósticos de agente de prueba para una prueba de carga basada en la nube.

La depuración en la nube es difícil porque las máquinas no son accesibles y, por lo tanto, la recopilación de registros o cualquier otra información de los agentes de prueba no siempre es posible. Sin embargo, con los diagnósticos de agente avanzados, puede recopilar registros de los agentes de prueba y asociarlos a los resultados de las pruebas de carga en la nube.