Visual Studio Notes de publication de la version 2015

Important

Cette version n’est plus prise en charge. Pour télécharger la dernière version, visitez https://visualstudio.microsoft.com/downloads/.

Versions de Visual Studio 2015

Vous pouvez afficher les notes de publication de toutes les versions de Visual Studio 2015 :

Télécharger Visual Studio 2015

Vous pouvez télécharger Visual Studio 2015 à partir de My.VisualStudio.com. My.VisualStudio.com nécessite un abonnement Dev Essentials gratuit ou un abonnement Visual Studio.

Icône des Notes de publication Visual Studio 2015

Publication : 20 juillet 2015

Résumé des nouveautés de cette version

Autres modifications :

Détails des nouveautés de cette version

Visual C++ pour le développement mobile multiplateforme

Il est désormais facile de partager, réutiliser, créer, déployer et déboguer presque tous les codes, sauf ceux qui sont très spécifiques à une plateforme, sur plusieurs plateformes d'application, le tout dans une seule solution avec Visual Studio. Voici quelques-unes des opérations que vous pouvez effectuer :

  • Créez des projets à partir de modèles pour les applications Android Native Activity ou pour les bibliothèques de code partagées que vous pouvez utiliser sur plusieurs plateformes et dans les applications Android natives Xamarin.

  • Utilisez IntelliSense spécifique à la plateforme pour explorer les API et générer du code correct pour les cibles Android ou Windows.

  • Configurez votre build pour les plateformes natives x86 ou ARM.

  • Déployez votre code sur des appareils Android attachés ou utilisez l’émulateur Android performant de Microsoft pour les tests.

  • Définissez des points d’arrêt, suivez les variables, affichez la pile et exécutez le code pas à pas dans le débogueur Visual Studio.

  • Affichez le journal des messages à partir d’un appareil Android à l’aide de la visionneuse LogCat. (Logcat est un outil de diagnostic essentiel pour une bonne expérience de l'édition-build-débogage>>.)
    Utilisez Logcat pour effectuer les opérations suivantes :

    • Recherchez des messages de journal spécifiques à l’aide de la barre de recherche.
    • Utilisez le basculement pour le défilement automatique pour afficher facilement les messages de journal à venir.
    • Effacez les messages de sortie du journal de bord précédents.
    • Choisissez entre différents niveaux de journalisation.
  • Écrivez du code C++ ciblant la plateforme iOS et tirez parti de nos fonctionnalités de création de code avancées, telles que, mais pas uniquement, le partage de code, IntelliSense multiplateforme, la refactorisation et la définition d’aperçu. La prise en charge d’iOS est encore en développement, donc restez à l'affût de nouveautés bientôt. Vous pouvez nous envoyer des commentaires à l’aide de Connect pour les bogues. En outre, vous pouvez nous envoyer vos idées rapides à l’aide d’Send-a-Smile dans l’IDE Visual Studio.

Nous avons également ajouté ou mis à jour les éléments suivants :

  • Prise en charge de l’API Android Niveau 21 (Lollipop).
  • Nouveau modèle basé sur la prise en charge de Makefile pour Android, qui permet d’utiliser un système de compilation externe (y compris NDK-BUILD).
  • En-têtes précompilés dans tous les modèles (y compris la bibliothèque partagée dynamique, la bibliothèque statique et les modèles mobiles multiplateformes).

Visual Studio Outils pour Apache Cordova

Anciennement appelées applications hybrides multi-appareils pour Visual Studio, visual Studio Tools pour Apache Cordova facilite la génération, le débogage et le test d’applications multiplateformes qui ciblent Android, iOS, Windows et Windows Phone à partir d’un projet Visual Studio simple.

Toutes les fonctionnalités disponibles dans les CTP précédents sont désormais disponibles dans Visual Studio 2015 RC, notamment les améliorations suivantes :

  • Mise à jour sur save for Ripple - pas besoin de reconstruire !
  • Déboguer une version iOS de votre application à partir de Visual Studio lorsqu’elle est déployée sur le simulateur iOS ou sur un appareil connecté sur un Mac
  • Amélioration de la sécurité et de la configuration simplifiée pour l’agent de build iOS distant inclus
  • Une expérience de gestion améliorée des plug-ins qui inclut la prise en charge de l’ajout de plug-ins personnalisés à votre projet à partir de Git ou du système de fichiers
  • Sélectionner des options de configuration spécifiques à la plateforme à partir d’un concepteur de config.xml amélioré
  • Prise en charge d’Apache Cordova 4.0.0.

Nous avons écouté vos commentaires et élargi le nombre d’appareils auxquels vous pouvez déboguer, comme suit :

  • Android 4.4, Android 4.3 et versions antérieures avec jsHybugger
  • iOS 6, 7 et 8
  • Windows Store 8.1

Ensuite, nous avons élargi notre prise en charge du débogage. Vous pouvez désormais déboguer vos applications Apache Cordova qui ciblent Windows Phone 8.1.

Vous pouvez définir des points d’arrêt, inspecter des variables, utiliser la console et effectuer d’autres tâches de débogage sur votre émulateur Windows Phone 8.1 ou appareil attaché.

Débogage avec Visual Studio Tools pour Apache Cordova

Nous avons ajouté l’interopérabilité cli pour la version RC. Les projets Cordova dans Visual Studio sont désormais synchronisés avec les modifications apportées au dossier de votre projet sur disque. Les modifications peuvent circuler dans et hors de Visual Studio, que vous travailliez avec des outils tiers ou sur d’autres systèmes d’exploitation. (La structure de fichiers par défaut pour les projets Cordova est basée sur la structure attendue par les outils en ligne de commande Apache Cordova, ce qui facilite l’utilisation directe de l’interface CLI Apache Cordova ou d’autres outils qui attendent cette structure de dossiers.)

Émulateur Visual Studio pour Android

Vous pouvez utiliser l’émulateur Visual Studio pour Android dans un projet multiplateforme dans Visual Studio (Xamarin ou C++) ou dans Visual Studio Tools pour Apache Cordova. L’émulateur vous permet de basculer entre différents émulateurs de plateforme sans Hyper-V conflits. Il prend en charge un large éventail de capteurs et de simulations, notamment GPS/Emplacement, accéléromètre, rotation de l’écran, zoom, carte SD, caméra, multi-touch et accès réseau. Il prend également en charge les versions Android 4.4 (KitKat, API Level 19) et 5.0 (Lollipop, API Level 21).

L’émulateur Visual Studio pour Android prend en charge la simulation Wi-Fi et la possibilité de choisir parmi plusieurs configurations matérielles d’appareil différentes.

Nous avons ajouté les nouvelles fonctionnalités suivantes pour RTM :

  • Nouvelles plateformes. Les images Jellybean (API 17) et Lollipop 5.1 (API 22) sont disponibles.
  • Interface de ligne de commande. La navigation vers %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe dans une invite de commandes vous permet d’interagir avec le gestionnaire d’émulateur (liste, installation, profils de démarrage, etc.) sans interface utilisateur.
  • Bibliothèques zip glisser-déplacer. Glisser-déposer un zip flashable sur l'émulateur le décompressera et l'installera automatiquement.
  • Onglet Carte SD. Ce nouvel onglet de la fenêtre « Outils supplémentaires » vous permet d’envoyer et d’extraire des données vers et depuis la carte SD.
  • Acquérir par lui-même. L’émulateur peut être installé sur un ordinateur sans avoir à installer Visual Studio. Un raccourci vers le Gestionnaire de l’émulateur s’affiche dans le menu Démarrer pour pouvoir le démarrer et l’utiliser à partir de n’importe quelle chaîne d’outils de développement.

Pour plus d’informations, consultez l’émulateur Visual Studio pour Android.

Visual Studio Tools pour le développement d’applications Windows universelles

Les outils Visual Studio pour le développement d’applications Windows universelles sont intégrés à la configuration de Visual Studio. Ces outils vous permettent de créer des applications Windows qui s’exécutent sur tous les appareils Windows 10 : le téléphone dans votre poche, la tablette ou l’ordinateur portable dans votre sac, le PC sur votre bureau, les appareils IoT et bientôt, les consoles Xbox de votre maison, le Surface Hub, etc. En outre, vous pouvez également utiliser ces outils pour créer des applications de bureau Windows qui tirent parti des API Windows 10. Pour plus d’informations, consultez Nouveautés de Visual Studio Tools pour les applications Windows universelles.

Pour plus d’informations sur le développement d’applications Windows, consultez le Guide des applications Windows universelles et le Centre de développement Windows. Pour plus d’informations sur les dernières builds et kits sdk Windows, consultez le portail Windows Insider .

Visual C++

Dans cette version, le compilateur C++ et la bibliothèque standard ont été mis à jour avec une prise en charge améliorée pour C++11 et la prise en charge initiale de certaines fonctionnalités C++14. Ils incluent également la prise en charge préliminaire de certaines fonctionnalités attendues dans la norme C++17.

En outre, plus de 500 bogues du compilateur ont été corrigés, y compris de nombreux clients soumis par le biais de la Communauté des développeurs Microsoft , merci !

Fonctionnalités linguistiques

Nous avons ajouté les nouvelles fonctionnalités suivantes pour rapprocher le compilateur de C++ standard :

  • Fonctions pouvant être reprise (resume/await) Les mots clés resume et await fournissent une prise en charge au niveau du langage pour la programmation asynchrone et active les fonctions pouvant être reprise. Actuellement, cette fonctionnalité est disponible uniquement pour les cibles x64. Proposé pour C++17 [N3858]
  • Expressions lambda génériques (polymorphes) Les types de paramètres de fonction lambda peuvent maintenant être spécifiés à l’aide d’auto ; le compilateur interprète automatiquement dans ce contexte pour signifier que l’opérateur d’appel de fonction de la fermeture est un modèle de fonction membre et que chaque utilisation d’auto dans l’expression lambda correspond à un paramètre de type de modèle distinct. C++14
  • Expressions de capture lambda généralisées Également appelé init-capture. Le résultat d’une expression arbitraire peut maintenant être affecté à une variable dans la clause de capture d’une expression lambda. Cela permet aux types de déplacement uniquement d’être capturés par valeur et permet à une expression lambda de définir des membres de données arbitraires dans son objet de fermeture. C++14
  • Les littéraux binaires sont désormais pris en charge. Ces littéraux sont précédés de 0B ou 0b et se composent uniquement des chiffres 0 et 1. C++14
  • Déduction du type de retour Le type de retour des fonctions normales peut désormais être déduit, y compris les fonctions avec plusieurs instructions de retour et fonctions récursives. Ces définitions de fonction sont précédées du mot clé auto, comme dans les définitions de fonction avec un type de retour différé, mais le type de retour différé est omis. C++14
  • decltype(auto) Déduction de type à l’aide du mot clé automatique pour l’initialisation des expressions supprime les qualificateurs ref-qualifiers et les qualificateurs cv-qualificateurs de niveau supérieur de l’expression. decltype(auto) conserve les qualificateurs ref- et cv et peut désormais être utilisé partout où auto peut être utilisé, sauf pour introduire une fonction avec un type de retour déduit ou final. C++14
  • Génération implicite de fonctions de membre spécial de déplacement Les constructeurs de déplacement et les opérateurs d’affectation de déplacement sont désormais générés implicitement lorsque les conditions autorisent, ce qui permet au compilateur de se conformer pleinement aux références rvalue C++11. C++11
  • Héritage des constructeurs Une classe dérivée peut maintenant spécifier qu’elle héritera des constructeurs de sa classe de base, Base, en incluant l’instruction à l’aide de Base ::Base ; dans sa définition. Une classe dérivatrice ne peut hériter que de tous les constructeurs de sa classe de base, il n’existe aucun moyen d’hériter uniquement des constructeurs de base spécifiques. Une classe dérivatrice ne peut pas hériter de plusieurs classes de base si elles ont des constructeurs qui ont une signature identique, ni la classe dérivatrice ne peut définir un constructeur qui a une signature identique à l’un de ses constructeurs hérités. C++11
  • Requête et contrôle d’alignement L’alignement d’une variable peut être interrogé à l’aide de l’opérateur alignof() et contrôlé à l’aide du spécificateur alignas(). alignof() retourne la limite d’octets sur les instances du type qui doivent être allouées ; pour les références, elle retourne l’alignement du type référencé et pour les tableaux, elle retourne l’alignement du type d’élément. alignas() contrôle l’alignement d’une variable ; il prend une constante ou un type, où un type est abrégé pour alignas (alignof(type)). C++11
  • Taille étendue La taille d’une variable membre de classe ou de struct peut maintenant être déterminée sans instance de la classe ou du struct à l’aide de sizeof(). C++11
  • constexpr Support partiel pour C++11 constexpr. C++11 (partiel)
  • Littéraux définis par l'utilisateur (UDL) Les suffixes explicites peuvent désormais être ajoutés à des littéraux numériques et de chaîne pour leur donner une sémantique spécifique. Le compilateur interprète les littéraux suffixes en tant qu’appels à l’opérateur UDL approprié. C++11
  • statiquesThread-Safe « Magic » Les variables locales statiques sont désormais initialisées de manière thread-safe, ce qui élimine la nécessité d’une synchronisation manuelle. Seule l’initialisation est thread-safe, l’utilisation de variables locales statiques par plusieurs threads doit toujours être synchronisée manuellement. La fonctionnalité statiques thread-safe peut être désactivée à l’aide de l’indicateur /Zc :threadSafeInit- pour éviter de prendre une dépendance sur le CRT. C++11
  • stockageThread-Local Utilisez le mot clé thread_local pour déclarer qu’un objet indépendant doit être créé pour chaque thread. C++11
  • L’opérateur noexcept peut maintenant être utilisé pour vérifier si une expression peut lever une exception. Le spécificateur noexcept peut maintenant être utilisé pour spécifier qu’une fonction ne lève pas d’exceptions. C++11
  • Espaces de noms inline Un espace de noms peut maintenant être spécifié comme inline pour hisser son contenu dans l’espace de noms englobant. Les espaces de noms inline peuvent être utilisés pour créer des bibliothèques avec version qui exposent leur version la plus récente par défaut, tout en rendant les versions d’API précédentes disponibles explicitement. C++11
  • Unions illimitées Un type union peut désormais contenir des types avec des constructeurs non triviaux. Les constructeurs de ces unions doivent être définis. C++11
  • Nouveaux types de caractères et littéraux Unicode Les littéraux de caractères et de chaînes dans UTF-8, UTF-16 et UTF-32 sont désormais pris en charge et de nouveaux types de caractères char16_t et char32_t ont été introduits. Les littéraux de caractères peuvent être préfixés avec u8 (UTF-8), u (UTF-16) ou U (UTF-32) comme dans U'a', tandis que les littéraux de chaîne peuvent également être préfixés avec des équivalents de chaîne brute u8R (chaîne brute UTF-8), uR (chaîne brute UTF-16) ou UR (chaîne brute UTF-32). Les noms de caractères universels peuvent être utilisés librement dans les littéraux Unicode comme dans u'\u00EF', u8"\u00EF est i", et u"\U000000ef est I". C++11
  • funcL’identificateur prédéfini est implicitement défini sous forme de chaîne qui contient le nom non qualifié et non orné de la fonction englobante. C++11
  • __restrict peut désormais être appliqué aux références.
  • Mot-clé typename. Les utilisateurs peuvent désormais écrire typename au lieu de class dans un paramètre de modèle. C++14
  • Les fonctions globales void operator delete(void *, std::size_t) noexcept et void operator delete[](void *, std::size_t) noexcept peuvent maintenant être surchargées. C++14
  • Séparateurs de chiffres À présent, vous pouvez intersperser des littéraux numériques avec des guillemets simples pour les rendre plus lisibles. Par exemple, int x = 1'000'000 ;. C++14
  • Noms de caractères universels dans les littéraux Vous pouvez maintenant écrire des caractères de base, tels que « A » et le caractère de flux de ligne, en tant que points de code dans les littéraux. Par exemple, const char *s = "\u0041\u000A« ;. C++11
  • Les initialiseurs membres de données non statiques fonctionnent désormais correctement avec les listes d’initialiseurs. C++11
  • Attributs Vous pouvez maintenant spécifier une fonction en tant que [[noreturn]] pour indiquer au compilateur que la fonction ne retourne pas (bien qu’elle puisse lever une exception). Plusieurs constructions peuvent désormais être spécifiées comme [[obsolète]]. Les attributs sont désormais autorisés sur les espaces de noms et les énumérateurs. C++11, C++14 et C++17
  • littéraux définis par l'utilisateur (UDLs) Les littéraux numériques et de chaîne peuvent désormais avoir des suffixes significatifs qui effectuent des calculs adaptés sur les données littérales. C++11
  • Attributs d’ordre des dépendances de données Vous pouvez désormais spécifier des paramètres de fonction, des paramètres lambda ou des déclarations de fonction comme [[carries_dependency]] pour améliorer les optimisations des structures de données simultanées qui sont fréquemment lues mais rarement modifiées. C++11
  • Nouvelles règles pour l’auto avec les listes d'initialisation entre accolades La déduction automatique pour les initialisations par liste de copie va maintenant soit déduire un std::initializer_list, soit, sinon, cela serait considéré comme mal formé. C++17

Fonctionnalités de la bibliothèque Visual C++

  • Littéraux définis par l'utilisateur (UDL) pour les types de la bibliothèque standard Les <en-têtes chrono>, <string> et <complex> fournissent désormais des opérateurs de littéraux définis par l'utilisateur pour votre commodité. Par exemple, 123ms signifie std ::chrono ::milliseconds(123), « hello"s signifie std ::string(« hello »), et 3.14i signifie std ::complex(0.0, 3.14).
  • Itérateurs de transfert Null La bibliothèque standard permet désormais la création d’itérateurs de transfert qui ne font pas référence à une instance de conteneur. Ces itérateurs sont initialisés par défaut et sont égaux pour un type de conteneur particulier. Comparer un itérateur initialisé par valeur à un itérateur qui ne l'est pas n'est pas défini. C++14
  • quoted() La bibliothèque standard prend désormais en charge la fonction quoted() pour faciliter l’utilisation des valeurs de chaîne entre guillemets et des E/S. Avec quoted(), une chaîne entre guillemets entière est traitée comme une entité unique (comme les chaînes de caractères non-blancs se trouvent dans des flux d’E/S) ; en outre, les séquences d’échappement sont conservées par le biais d’opérations d’E/S. C++14
  • Recherche associatif hétérogène La bibliothèque standard prend désormais en charge les fonctions de recherche hétérogènes pour les conteneurs associatifs. Ces fonctions permettent la recherche par types autres que les key_type tant que le type est comparable à key_type. C++14
  • Séquences d’entiers au moment de la compilation La bibliothèque standard prend désormais en charge le type integer_sequence qui représente une séquence de valeurs entières pouvant être évaluées au moment de la compilation pour faciliter l’utilisation des paquets de paramètres et simplifier certains modèles de programmation générique. C++14
  • exchange() La bibliothèque standard prend désormais en charge la fonction utilitaire std ::exchange() pour affecter une nouvelle valeur à un objet et retourne son ancienne valeur. Pour les types complexes, exchange() évite de copier l’ancienne valeur lorsqu’un constructeur de déplacement est disponible, évite de copier la nouvelle valeur si elles sont temporaires ou déplacées, et accepte n’importe quel type comme toute nouvelle valeur en tirant parti d'un opérateur d’affectation de conversion. C++14
  • Dual-Range equal(), is_permutation(), mismatch() La bibliothèque standard prend désormais en charge les surcharges pour std::equal(), std::is_permutation() et std::mismatch() qui acceptent deux plages. Ces surcharges gèrent des séquences de longueurs différentes. C++14
  • get<T>() La bibliothèque standard prend désormais en charge la fonction modèle `get<T>()` pour adresser les éléments de tuple par leur type. Si un tuple contient deux éléments ou plus du même type get<T>() le tuple ne peut pas être traité par ce type ; toutefois, d’autres éléments typés de manière unique peuvent toujours être traités. C++14
  • tuple_element_t La bibliothèque standard prend désormais en charge l’alias de type tuple_element_t<I, T> type qui est un alias pour typename tuple_element<I, T> ::type. Cela offre une certaine commodité pour les programmeurs de modèles, comme les autres alias de type metafunction dans <type_traits>. C++14
  • Spécification technique du système de fichiers « V3 » L’implémentation incluse de la spécification technique du système de fichiers a été mise à jour vers la version finale.
  • Allocateurs minimaux La bibliothèque standard prend désormais en charge l’interface d’allocateur minimale dans l’ensemble ; les correctifs notables incluent std::function, shared_ptr, allocate_shared() et basic_string. C++11
  • <chrono Les types chrono> high_resolution_clock et steady_clock ont été corrigés. C++11
  • constexpr a été implémenté tout au long de la bibliothèque standard C++. C++11, C++14 et C++17
  • quick_exit() Vous pouvez maintenant mettre fin à des processus multithreads de manière plus propre en appelant quick_exit() et en exécutant le code de nettoyage dans at_quick_exit(). C++11
  • void_t prend en charge la métaprogrammation de modèles avancée. C++17
  • Les conversions en unique_ptr<T[]> sont désormais autorisées si elles sont connues pour être sécurisées. C++17
  • invoke() autorise les objets de fonction, les pointeurs vers les fonctions membres et les pointeurs vers les membres de données à appeler avec une syntaxe uniforme. C++17
  • noexcept La bibliothèque standard a nettoyé son utilisation de noexcept sur certaines fonctions. C++17
  • uncaught_exceptions() signale le nombre d’exceptions en cours (qui peuvent être supérieures à 1). C++17
  • reference_wrapper est désormais copiable de manière triviale. C++17
  • map/unordered_map prend désormais en charge insert_or_assign()/try_emplace(). C++17
  • size(), empty(), et data() sont désormais fournies en tant que fonctions non membres. C++17
  • auto_ptr, random_shuffle() et les anciennes <machines fonctionnelles> ont été déconseillées en C++11/14 et supprimées en C++17. Visual Studio 2015 les fournit par défaut, mais définir _HAS_AUTO_PTR_ETC à 0 supprime leurs définitions à l’échelle du projet.
  • unique_ptr affectations sont maintenant précisément limitées. C++17
  • bool_constant est désormais pris en charge en tant qu’alias pour integral_constant<bool>. C++17

Optimisation des builds plus rapides pour Visual C++

  • Génération de code de liaison incrémentielle (LTCG) Vous pouvez maintenant indiquer à LTCG de reconstruire uniquement les parties de votre projet affectées par une modification. Cela peut réduire considérablement les temps de liaison des applications qui utilisent LTCG. Activez cette fonctionnalité avec le commutateur de l'éditeur de liens /LTCG:incremental.
  • Liaison incrémentielle pour les bibliothèques statiques Les modifications apportées aux bibliothèques statiques référencées par d’autres modules de code sont désormais liées de manière incrémentielle.
  • /Debug :FastLink diminue considérablement les temps de liaison à l’aide de nouvelles techniques de création PDB.
  • Des améliorations algorithmiques ont été apportées à l’éditeur de liens pour réduire les temps de liaison.
  • Des améliorations ont été apportées, ce qui permettra de créer du code lourd de modèle plus rapidement.
  • Instrumentation d'optimisation rapide guidée par profil (PGO) Un nouveau mode léger d'instrumentation pour les jeux et les systèmes en temps réel a été introduit dans PGO. Avec d’autres nouvelles fonctionnalités disponibles via les commutateurs /GENPROFILE et /FASTGETPROFILE, vous pouvez maintenant équilibrer la qualité du code et la vitesse de génération lors de l’utilisation de PGO.
  • Réduction de la taille du fichier objet Les améliorations apportées aux bibliothèques standard du compilateur et C++ entraînent des bibliothèques d’objets et des bibliothèques statiques beaucoup plus petites. Ces améliorations n’affectent pas la taille des bibliothèques liées dynamiquement (DLL) ou des exécutables (EXEs), car le code redondant a été supprimé par l’éditeur de liens.

Performances et qualité du code Visual C++

  • Améliorations apportées à la vectorisation automatique. Nous avons amélioré la vectorisation du flux de contrôle (if-then-else), la vectorisation lors de la compilation sous /O1 (réduire la taille) et amélioré la qualité du code vectoriel dans l’ensemble, notamment la prise en charge du STL parallèle, la vectorisation plus basée sur la plage pour les boucles et la prise en charge de #pragma boucle(ivdep).
  • Améliorations apportées à l’optimisation scalaire. Nous avons amélioré la génération de code pour les opérations de test de bits, la fusion des flux de contrôle et les optimisations (échange boucle-si) ainsi que d'autres optimisations scalaires (par exemple, une meilleure génération de code pour std::min et std::max).
  • Optimisation guidée du profil (PGO) Nous avons apporté un certain nombre d'améliorations à PGO, notamment des ensembles de référence améliorés, de meilleures fonctionnalités de disposition des données, et la possibilité de réutiliser les décisions antérieures en matière d’incorporation, de vitesse par rapport à la taille et de disposition.
  • Control Flow Guard (CFG). Nous avons ajouté une nouvelle fonctionnalité de sécurité ; ajoutez simplement une nouvelle option à votre projet, et le compilateur Visual C++ injectera désormais des contrôles de sécurité supplémentaires dans vos fichiers binaires pour vous aider à détecter les tentatives de détournement de votre code. Lorsque la vérification se déclenche, elle arrête l’exécution de votre code avant qu’un pirate puisse endommager vos données ou votre PC.

Note

Nous avons mis à jour les options de commande. Au lieu d’utiliser le commutateur /d2guard4 comme vous l’avez fait dans les versions antérieures, vous devez maintenant utiliser /guard :cf.

Productivité, débogage et diagnostics Visual C++

Nous avons ajouté la prise en charge de la refactorisation pour C++ avec les fonctionnalités suivantes :

  • Renommer le symbole Modifie toutes les occurrences d’un symbole en un nouveau nom.
  • Extraction de fonction Déplacez le code sélectionné dans sa propre fonction. Cette refactorisation est disponible en tant qu’extension pour Visual Studio dans la galerie Visual Studio.
  • Implémenter des machines virtuelles pures Génère des définitions de fonction pour les fonctions virtuelles pures héritées par une classe ou une structure. L’héritage multiple et récursif est pris en charge. Activez cette refactorisation de la définition de classe héritée pour implémenter toutes les fonctions virtuelles pures héritées ou à partir d’un spécificateur de classe de base pour implémenter uniquement des fonctions virtuelles pures de cette classe de base.
  • Créer une déclaration ou une définition Génère une déclaration à partir d’une définition existante ou d’une définition par défaut à partir d’une déclaration existante. Accédez à cette refactorisation à partir de la déclaration ou de la définition existante, ou à partir de l’indicateur d’ampoule.
  • Déplacer la définition de la fonction Déplace le corps d’une fonction entre le code source et les fichiers d’en-tête. Activez cette refactorisation à partir de la signature de la fonction.
  • Convertir en littéral de chaîne brute Convertit une chaîne contenant des séquences d’échappement en un littéral de chaîne brute. Les séquences d’échappement prises en charge sont \n (nouvelle ligne), \t (tabulation), ' (guillemet unique), " (guillemet double) et ? (point d’interrogation). Activez cette fonctionnalité en cliquant avec le bouton droit n’importe où dans une chaîne.

Les améliorations apportées à la base de données de programme (PDB) dans Visual C++ sont les suivantes :

  • La vitesse d’analyse des solutions a été améliorée, en particulier pour les solutions volumineuses.
  • Les opérations telles que Go To Definition ne sont plus bloquées pendant l’analyse de la solution, sauf lors de l’analyse initiale de la solution lorsqu’une nouvelle solution est ouverte pour la première fois.

Améliorations de la lisibilité IntelliSense : les instanciations de modèles complexes et les typedefs sont simplifiées dans l'aide à la saisie des paramètres et les info-bulles pour faciliter leur lecture.

Visualisations du débogueur en C++

Ajoutez des visualisations de débogueur Natvis à votre projet Visual Studio pour faciliter la gestion et l’intégration du contrôle de code source. Les fichiers Natvis ajoutés à un projet prennent la priorité sur les visualiseurs Natvis en dehors du projet. Pour plus d’informations, consultez Créer des vues personnalisées d’objets natifs dans le débogueur.

Et depuis RC, vous pouvez utiliser des fichiers Natvis lors du débogage C++ sur Android. Le débogueur inclut des visualisations pour de nombreux modèles courants et prend en charge le chargement de fichiers personnalisés ajoutés au projet C++.

Diagnostics de mémoire native

  • Les sessions de diagnostic de mémoire (Alt+F2) vous permettent de surveiller l’utilisation de la mémoire active de votre application native.
  • Les captures instantanées de mémoire capturent une image momentanée du contenu du tas de votre application. Les différences d’état du tas peuvent être examinées en comparant deux instantanés de mémoire. Afficher les types d’objets, les valeurs d’instance et les piles d’appels d’allocation pour chaque instance après l’arrêt de l’application.

Amélioration de la détection et de la résolution des blocages lors de l’appel des fonctions C++ à partir des fenêtres Évaluation et Immediat.

Diagnostics améliorés du compilateur : le compilateur fournit des avertissements améliorés sur le code suspect. De nouveaux avertissements ont été ajoutés (par exemple, les variables ombrées et les chaînes de format printf incompatibles). Les messages d’avertissement existants ont été plus clairs.

Indicateur /Wv - Les avertissements introduits après une version spécifique du compilateur XX.YY.ZZZZ peuvent être désactivés à l’aide du drapeau /Wv:XX.YY.ZZZZ. D’autres avertissements peuvent être spécifiquement désactivés en plus de ceux spécifiés via l’indicateur /Wv.

Prise en charge améliorée du débogage du code optimisé - Déboguer du code avec les indicateurs /Zi, /Zo ou /Z7 activés.

Diagnostics graphiques Visual C++

Graphics Diagnostics a été amélioré avec les fonctionnalités suivantes :

  • Capture consécutive Capturez jusqu’à 30 images consécutives avec une capture.
  • Capture programmatique Lancez la capture d’images par programmation. La capture programmatique est particulièrement utile pour le débogage des nuanceurs de calcul dans les programmes qui n’appellent jamais Present, ou lorsqu’un problème de rendu est difficile à capturer manuellement, mais peut être prédit par programmation à partir de l’état de l’application au moment de l’exécution.
  • Liste des événements graphiques améliorée Une nouvelle vue Appels de dessin a été ajoutée, affichant les événements capturés ainsi que leur état dans une hiérarchie structurée selon les appels de dessin. Vous pouvez développer les appels de dessin pour afficher l’état de l’appareil actuel au moment de l’appel de dessin et vous pouvez développer davantage chaque type d’état pour afficher les événements qui définissent leurs valeurs.
  • Prise en charge de Windows Phone 8.1 Graphics Diagnostics prend désormais entièrement en charge le débogage d’applications Windows dans l’émulateur Phone ou sur le téléphone connecté.
  • Analyse des images graphiques Cet outil collecte les mesures de performances sur les images capturées ; en outre, il effectue un ensemble d’expériences prédéfinis qui fournit des informations sur la façon dont les performances seraient affectées lorsque différentes techniques de texture sont appliquées. L'analyse de trame collecte également des compteurs de performances à partir du matériel.
  • Interface utilisateur dédiée pour l’analyse graphique La nouvelle fenêtre Visual Studio Graphics Analyzer est un espace de travail dédié pour l’analyse des images graphiques.
  • Modifier et appliquer des shaders Consultez l’impact des modifications de code des shaders dans un journal sans réexécuter l’application.
  • Configurez les options de capture dans Tools-Options-Graphics>> Diagnostics.
  • Outil en ligne de commande pour capturer et lire des images.
  • Support de Graphics Diagnostics pour DirectX 12. L’outil Visual Studio Graphics Diagnostics prend désormais en charge le débogage des problèmes de rendu dans les applications DirectX 12.

Nouvel outil d’utilisation du GPU

L’outil d’utilisation du GPU dans Visual Studio 2015 peut être utilisé pour comprendre l’utilisation du GPU des applications DirectX. Les graphiques du temps de rendu, de la fréquence d’images et de l’utilisation du GPU sont disponibles pendant l’exécution en direct des applications. En outre, en collectant et en analysant des données d’utilisation détaillées du GPU, cet outil fournit des insights sur le temps d’exécution du processeur et du GPU des événements DirectX individuels, et peut donc être utile pour déterminer si l’UC ou le GPU est le goulot d’étranglement des performances.

Activation du débogage d’un projet de test managé Visual C++

Nouveauté de cette version : pour activer le débogage d’un projet de test managé Visual C++, accédez à « Outils | » Options | Débogage | Volet Général et cochez l’option « Supprimer l’optimisation JIT sur le chargement de module (géré uniquement) ».

C# et Visual Basic

Fonctionnalités linguistiques

Dans cette version, plusieurs nouvelles fonctionnalités des langages C# et Visual Basic permettent de réduire le code répétitif et l’encombrement dans le code de tous les jours, d’encourager un style de programmation plus déclaratif et de faire converger les deux langages. Par exemple, il existe des améliorations syntaxiques pour les déclarations de type et de membre, ainsi que pour la vérification de nullité. En outre, les variables locales peuvent être déclarées à l’intérieur d’expressions, et await peut être utilisé dans les blocs catch et finally. La plupart de ces fonctionnalités ne sont implémentées que pour l’une des deux langues des versions antérieures, mais seront disponibles pour les deux langues de la version finale.

  • Nameof fournit un moyen de refactorisation sécurisé d’obtenir le nom d’un paramètre, d’un membre ou d’un type sous forme de chaîne.
  • À l’aide d’opérateurs conditionnels Null, vous pouvez obtenir une vérification null intégrée lors de l’accès et de l’appel de membres et d’indexeurs.
  • Interpolation de chaîne : l’interpolation de chaîne fournit un moyen concis de décrire les modèles de chaînes qui insèrent des expressions dans des chaînes de format (C# uniquement en préversion, VB et C# à RTM).
  • Les méthodes, les propriétés en lecture seule, etc., peuvent désormais avoir une seule expression en tant que corps, à l'instar des lambdas.
  • Les propriétés automatiques peuvent avoir des initialiseurs et ne nécessitent plus de setters.
  • Initialiseurs d’index : à l’intérieur d’un initialiseur d’objet, vous pouvez maintenant initialiser un index spécifique du nouvel objet. C# uniquement.
  • Les filtres d’exceptions vous permettent d’examiner une exception et de décider s’il faut l’intercepter avec un bloc catch donné.
  • L’utilisation de clauses pour les classes statiques amène leurs membres statiques directement dans l’étendue. Vous pouvez donc appeler par exemple WriteLine() ou Sqrt() sans préfixer le nom de la classe.
  • Await fonctionne maintenant dans les blocs catch et finally, éliminant certaines solutions de contournement très délicates.

Interface utilisateur et modification de l’éditeur de code

L’interface utilisateur de l’éditeur de code et les expériences de modification pour C# et Visual Basic ont été remplacées par de nouvelles expériences basées sur la plateforme du compilateur .NET (« Roslyn »). Beaucoup de fonctionnalités que vous aimez aujourd’hui ont été améliorées ou repensées.

  • Les ampoules sont la nouvelle maison pour toutes les actions rapides que vous effectuez dans Visual Studio Editor, y compris les correctifs aux problèmes courants de code et le code de refactorisation. Lorsque vous rencontrez des problèmes dans votre code, une ampoule affiche des correctifs suggérés pour ces problèmes. Toutes les opérations de refactorisation ont été déplacées vers l’ampoule. Vous pouvez accéder à l’ampoule à tout moment en tapant Ctrl + <point>.

Ampoule affichant des suggestions

  • Il existe deux nouvelles opérations de refactorisation de base : variable temporaire inline et introduction locale. Voici un exemple de nouvelle fonctionnalité d’introduction locale :

Présentation de l’ampoule locale

Et un exemple de variable temporaire inline :

Ampoule temporaire inline

  • La prise en charge de la refactorisation de Visual Basic a été ajoutée pour la première fois et a également été déplacée vers l’ampoule.
  • Le changement de nom a également été amélioré ; maintenant, il met en surbrillance toutes les instances de l’identificateur que vous souhaitez renommer, ce qui vous permet de taper le nouveau nom sur toutes les instances à la fois dans l’éditeur.

Améliorations apportées au changement de nommage inline

  • Vous pouvez obtenir des correctifs automatiques et une analyse de code en temps réel à mesure que vous tapez, avec des conseils spécifiques sensibles au code pour les plateformes de Microsoft et les packages NuGet que vous ciblez. À la préversion, vous devez ajouter les analyseurs FxCop en direct via un package NuGet que vous obtenez à partir de la galerie NuGet, comme vous le feriez pour tout autre package. Lorsque vous intégrez une règle en direct donnée, cela remplace la règle FxCop post-build équivalente, donc vous évitez les doublons. Voici un exemple de l’analyse du code pour le package Azure.

Exemple à partir du package Analyse du code pour Azure

  • L’évaluateur d’expression pour C# et Visual Basic a été réécrit. Les améliorations incluent la prise en charge des expressions LINQ et lambda dans Watch and Immediate Windows.

F#

Fonctionnalités de langage et d’exécution

F# 4.0 contient de nombreux nouveaux ajouts au langage et à l'exécution qui comblent les lacunes, permettent à plus de fonctionnalités de « fonctionner simplement » et améliorent les performances dans les domaines clés. De nombreux bogues et optimisations de petites performances ont également été implémentés dans le compilateur et le runtime.

  • Constructeurs en tant que fonctions de première classe : les noms de classes peuvent désormais être utilisés comme valeurs de fonction de première classe, représentant le ou les constructeurs de cette classe.
  • Unification de « mutable » et de « ref » : la syntaxe « mutable » peut désormais être utilisée partout, et les valeurs capturées seront automatiquement transformées en valeurs « ref » basées sur le tas par le compilateur lorsque cela est nécessaire. Un nouvel avertissement facultatif a été ajouté si un développeur souhaite être averti lorsqu’il se produit.
  • Paramètres statiques pour les méthodes fournies : les méthodes individuelles fournies par les fournisseurs de types peuvent désormais spécifier des paramètres statiques.
  • Types fournis non nullables : les types fournis peuvent désormais être spécifiés comme non nullables par le biais de la norme [<AllowNullLiteral(false)>].
  • Guillemets implicites d’arguments de méthode : les arguments de méthode de type Expr< peuvent désormais être cités automatiquement et de manière transparente, en transmettant à la fois la valeur de l'argument et l'AST de l'expression qui l'a générée.
  • Grammaire de préprocesseur étendue - Opérateurs booléens ||, &&& et ! peut maintenant être utilisé, ainsi que le regroupement (), dans les directives de préprocesseur #if.
  • Exposants rationnels en unités de mesure - les unités de mesure prennent désormais en charge les exposants rationnels, qui sont parfois utilisés dans les sciences physiques telles que l’ingénierie électrique
  • Utilisation simplifiée des unités de valeurs de mesure avec les fonctions de style « printf » : les valeurs numériques unitaires fonctionnent désormais de manière transparente avec les spécificateurs de format printf numérique, sans nécessiter la suppression des unités.
  • Prise en charge des tableaux .NET à haute dimension : les tableaux .NET de rang 5 ou supérieur peuvent désormais être consommés par le code F#.
  • Propriétés d’extension dans les initialiseurs d’objet : les propriétés d’extension settable peuvent désormais être affectées dans les expressions d’initialiseur d’objet.
  • L’héritage de plusieurs instanciations d’interface générique : les classes F#-authored sont désormais autorisées à hériter des classes qui implémentent plusieurs instanciations d’interface générique.
  • Plusieurs propriétés dans « StructuredFormatDisplayAttribute » : %A mise en forme spécifiée via [<StructuredFormatDisplay>] peut désormais inclure plusieurs propriétés.
  • Espace de noms « Microsoft » de début facultatif : lors de l’utilisation ou de l’ouverture de modules et d’espaces de noms à partir de FSharp.Core, le premier « Microsoft » est désormais facultatif.

Runtime F#

  • Normalisation des modules Array, List et Seq : l’ensemble de fonctions de traitement de collection est désormais cohérent dans les modules Array, List et Seq (à l’exception des API non applicables à certains types), avec des implémentations dédiées et optimisées pour chaque type.
  • Hachage structurel optimisé : des optimisations significatives ont été effectuées pour améliorer les performances de la comparaison de hachage générique pour les types primitifs, ce qui entraîne des gains de performances par les API telles que « distinct » et « groupBy ».
  • Opérateurs de comparaison non structurel optimisés : le module FSharp.Core.Operators.NonStructuralComparison peut maintenant être ouvert, en remplaçant les opérateurs de comparaison structurelle F# par défaut par des opérateurs non structurels plus efficaces. Cela peut fournir des gains de performances significatifs lors du traitement des types avec des implémentations d’opérateur personnalisées, en particulier des types valeur.
  • Syntaxe de découpage sur des listes F# : les listes F# prennent désormais en charge la syntaxe de découpage pour obtenir des sous-listes.
  • Les extensions asynchrones de System.Net.WebClient' - Les extensions WebClient AsyncDownloadFile et AsyncDownloadData sont désormais disponibles.
  • Meilleures traces de pile asynchrones : les exceptions qui se produisent dans les calculs asynchrones F# comportent désormais des traces de pile plus conviviales, ce qui facilite le diagnostic des problèmes.
  • API d’interopérabilité pour Option : de nouvelles API ont été ajoutées au module Option pour la conversion en et à partir d’objets Null et de valeurs System.Nullable.
  • Modèle de guillemets actifs pour les valeurs System.Decimal : un modèle actif est désormais intégré pour la correspondance des valeurs system.Decimal littérales constantes entre guillemets.

Fonctionnalités de l’IDE F#

Il existe également de nouvelles expériences et fonctionnalités dans les outils Visual F#, ainsi qu’un certain nombre de correctifs de bogues.

  • Débogage de script : les scripts F# peuvent désormais être débogués directement dans le débogueur Visual Studio.
  • Métadonnées d’assembly dans les modèles de projet : tous les modèles de projet F# contiennent désormais un fichier AssemblyInfo.fs qui contient des attributs de métadonnées au niveau de l’assembly courants.
  • Vérification intégrée de la mise à jour - Les projets F# signalent désormais correctement leur état « à jour » lors de la génération dans Visual Studio.
  • Saisie semi-automatique IntelliSense dans les initialiseurs d’objets : les expressions d’initialiseur d’objet prennent désormais en charge l’achèvement IntelliSense des propriétés settables à l’aide deCtrl+Espace.
  • Saisie semi-automatique IntelliSense pour les paramètres nommés : les appels de méthode et de constructeur prennent désormais en charge la saisie semi-automatique IntelliSense des paramètres nommés à l’aide deCtrl+Espace.
  • Correctifs de bogues autour de la prise en charge des dossiers - Les outils Visual F# ne prennent pas directement en charge les dossiers dans les projets, mais un certain nombre de bogues système de projet ont été corrigés pour améliorer la prise en charge des dossiers ajouté par l’extension Visual F# Power Tools.

.NET Framework 4.6

La version la plus récente du .NET Framework est 4.6. Il offre de nombreuses améliorations dans les technologies de développement d’applications telles que ASP.NET, Windows Communication Foundation et Windows Presentation Foundation. Il existe également des modifications dans la mise en réseau, la bibliothèque de classes de base .NET Framework et le Common Language Runtime (y compris un nouveau compilateur JIT 64 bits, la compilation de code natif pour les applications de plateforme Windows universelle, améliorations du chargeur d’assembly).

Voici un échantillon des modifications :

  • Les méthodes de liaison de modèle d'ASP.NET renvoient maintenant des tâches.
  • ADO.NET prend désormais en charge la fonctionnalité Always Encrypted disponible dans SQL Server 2016 Community Technology Preview 2 (CTP2).
  • Windows Presentation Foundation (WPF) offre une meilleure prise en charge tactile et une disposition améliorée pour la haute densité de pixels (HDPI).
  • Windows Communication Foundation (WCF) prend désormais en charge SSL version 1.1 et TLS 1.2, en plus de SSL 3.0 et TLS 1.0.
  • La bibliothèque de classes de base .NET Framework inclut des améliorations apportées au garbage collection, au modèle asynchrone basé sur les tâches et au chiffrement. Il ajoute également des types de vecteurs activés pour SIMD, ainsi que la prise en charge des commutateurs de compatibilité qui permettent aux développeurs de fournir un mécanisme uniforme de désactivation pour les fonctionnalités prises en charge par une nouvelle version de leurs bibliothèques.

Pour plus d’informations et une liste complète des nouvelles fonctionnalités ajoutées au .NET Framework, consultez Nouveautés du .NET Framework.

Entity Framework

Cette version inclut une préversion d’Entity Framework 7 et une mise à jour d’Entity Framework 6 qui inclut principalement des correctifs de bogues et des contributions de la communauté.

Entity Framework 7

La nouvelle version d’Entity Framework permet de nouvelles plateformes et de nouveaux magasins de données. Windows Phone, Windows Store, ASP.NET 5 et l’application de bureau traditionnelle peuvent désormais utiliser Entity Framework. Cette version de l’infrastructure prend en charge les bases de données relationnelles ainsi que les magasins de données non relationnelles tels que Stockage Table Azure et Redis. Il inclut une préversion anticipée du runtime EF7 installé dans de nouveaux projets ASP.NET 5. Pour plus d’informations sur EF7, consultez Présentation d’EF7.

Entity Framework 6.x

Cette version inclut la version Entity Framework 6.1.3 du runtime et des outils. Entity Framework 6.1.3 inclut des correctifs de bogues et des contributions de la communauté ; Vous pouvez voir la liste des modifications incluses dans Entity Framework 6.1.3.

Le runtime Entity Framework 6.1.1 est inclus dans un certain nombre d’emplacements dans cette version.

  • Le runtime est installé si vous créez un modèle à l’aide des outils Entity Framework dans un projet qui n’a pas encore installé le runtime EF.
  • Le runtime est préinstallé dans de nouveaux projets ASP.NET, en fonction du modèle de projet que vous sélectionnez.

IDE Visual Studio

Comptes partagés

Nouveautés de cette version, vous pouvez partager les comptes d’utilisateur que vous ajoutez dans Visual Studio avec d’autres applications, telles que Blend pour Visual Studio ou Microsoft Test Manager (et vice versa).

Projets partagés

Dans cette version, de nouveaux modèles sont disponibles pour créer des projets partagés vides pour Visual Basic, C# et JavaScript. Ces projets partagés peuvent désormais être référencés par plusieurs types de projets :

  • Tous les projets VB/C# non aromatisés (par exemple, applications console, bibliothèques de classes, application de formulaire Win)
  • Windows Store 8.1 et Windows Phone 8.1 (VB/C#/JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB/C#)
  • WPF et PCL

Vous pouvez ajouter/supprimer des références à des projets partagés via le Gestionnaire de références, sous l’onglet Projets partagés. La référence de projet partagé s’affiche sous le nœud Références dans l’Explorateur de solutions, mais le code et les ressources du projet partagé sont traités comme s’ils étaient des fichiers liés au projet principal.

Éditeur de code (toutes les langues)

La recherche dans les fichiers a été améliorée en permettant aux résultats suivants d’être ajoutés aux résultats précédents ; les résultats cumulés peuvent être supprimés.

La prise en charge tactile est désormais disponible dans l’éditeur Visual Studio pour les mouvements suivants :

  • Défilement (appuyer et glisser sur la surface de l’éditeur sur les barres de défilement régulières et améliorées)
  • Pincer pour zoomer
  • Sélectionnez une ligne entière en appuyant sur la marge de l’éditeur, puis sélectionnez les mots en les appuyant deux fois.
  • Appel du menu contextuel de l’éditeur en appuyant et en maintenant

Nous sommes conscients d’un problème avec l’interaction tactile, car le mouvement de double appui n’est pas toujours fiable aux niveaux de zoom inférieurs. Nous aimerions entendre des commentaires sur le nouveau support tactile, et en particulier les problèmes que vous pouvez trouver.

Concepteur XAML

Les clients visual Studio pourront désormais modifier leurs modèles et styles stockés dans des dictionnaires de ressources externes dans le contexte de leur utilisation. Cette expérience a été affinée pour utiliser Peek pour activer une véritable modification de ressource in situ dans le concepteur XAML.

Dispositions de fenêtre personnalisées

Vous pouvez désormais enregistrer des dispositions de fenêtre personnalisées en cliquant sur Enregistrer la disposition de la fenêtre dans le menu Fenêtre, puis appliquer une disposition personnalisée en cliquant sur Appliquer la disposition de fenêtre dans le menu Fenêtre . Vous pouvez également appliquer une disposition à l’aide des raccourcis clavier préassignés. Les neuf premières dispositions ont également des raccourcis clavier de Ctrl + Alt + 1 à Ctrl+Alt+9. Les autres tâches que vous pouvez effectuer incluent la suppression, le renommage et la réorganisation des dispositions en cliquant sur Gérer la disposition de fenêtre dans le menu Fenêtre.

icônes haute résolution

Visual Studio prend en charge les icônes haute résolution dans les barres de commandes, les barres d'outils des fenêtres d'outils (standard), les menus principaux, la liste d’erreurs, la barre d’état et certains types de projets dans l'Explorateur de solutions lorsque votre appareil s’exécute avec une mise à l’échelle supérieure à 100% ppp.

Améliorations apportées à l’interface utilisateur

  • Les menus apparaissent désormais dans le style Majuscules pour les Titres au lieu du style TOUT EN MAJUSCULES.
  • Les valeurs du menu déroulant Configuration et Plateforme de la boîte de dialogue Page de propriétés de Visual C++ ont été modifiées pour mémoriser la dernière sélection de l’utilisateur lorsque la page de propriétés est fermée et réouverte.

Commentaires Visual Studio

Nous avons amélioré l’expérience Envoyer un Frown avec des outils améliorés pour signaler la lenteur, les blocages et les plantages. Vous pouvez maintenant joindre des fichiers ou étiqueter vos commentaires pour mieux décrire le problème. En outre, nous avons mis à jour les icônes de commentaires et les éléments de menu pour améliorer la détectabilité.

Extensibilité de Visual Studio

  • Vous pouvez maintenant utiliser des icônes haute résolution dans vos extensions Visual Studio.
  • Les compléments ne sont plus pris en charge dans cette version. Nous avons supprimé les modèles de projet de complément Visual Studio et le Gestionnaire de compléments. Nous vous recommandons de convertir vos compléments en extensions VSPackage. Pour plus d’informations, consultez le FAQ : Conversion de compléments en extensions VSPackage.
  • Vous pouvez maintenant ouvrir un projet d’extensibilité même si le Kit de développement logiciel (SDK) Visual Studio n’est pas installé.
  • En outre, vous pouvez installer le Kit de développement logiciel (SDK) Visual Studio à l’aide de la configuration de Visual Studio ; vous n’avez plus besoin d’accéder à un site web. Pour ce faire : dans le menu Ajouter des programmes supprimés, cliquez avec le bouton droit sur Visual Studio 2015, puis sélectionnez Modifier. Dans la boîte de dialogue Configuration de Visual Studio, consultez Visual Studio Extensibility Tools sous Common Tools.
  • Pour améliorer la portabilité et le partage des projets d’extension, vous pouvez utiliser les versions NuGet des assemblys de référence du KIT de développement logiciel (SDK) Visual Studio. Pour plus d’informations, consultez les assemblies publiées par Visual Studio Extensibility.

En savoir plus sur l’extensibilité de Visual Studio.

Mélanger

Nous avons repensé Blend pour Visual Studio 2015 pour vous offrir une expérience de développement d’interface utilisateur améliorée pour créer de belles applications XAML. Blend a une nouvelle apparence élégante cohérente avec Visual Studio, la prise en charge de Solution et Team Explorer, ainsi qu’une expérience enrichie de rechargement de fichiers pour faciliter un meilleur flux de travail entre Blend et Visual Studio. Nous avons également fourni les fonctionnalités les plus recherchées de Blend pour vous aider à être plus productif :

  • Vous pouvez désormais écrire du code XAML plus efficacement à l’aide d’IntelliSense XAML qui fournit la saisie semi-automatique et la navigation vers le code source.
  • Vous pouvez également afficher et modifier des contrôles et des ressources XAML dans le contexte dans lequel ils sont utilisés avec la définition d’aperçu XAML.
  • La recherche et la résolution des problèmes d'interface utilisateur dans votre application en cours d'exécution sont désormais plus faciles grâce aux outils de débogage XAML, qui vous permettent d'inspecter l'arborescence visuelle vivante et les propriétés des éléments de l'arborescence.
  • Avec la prise en charge de NuGet ajoutée, vous pouvez gérer les packages NuGet dans Blend.
  • Nous avons également remplacé la fonctionnalité Espace de Travail d’Animation par la fonctionnalité plus puissante Dispositions Synchronisées que vous pouvez utiliser pour créer de nombreuses dispositions de fenêtre différentes et les déplacer entre différentes machines.
  • Pour les utilisateurs puissants qui préfèrent utiliser leur clavier au lieu de la souris, nous avons rendu les volets du concepteur Blend entièrement accessibles au clavier.
  • Enfin, dans le cadre de l’effort continu de Microsoft visant à créer des logiciels universellement accessibles, Blend prend désormais en charge un lecteur d'écran complet et est accessible aux contrastes élevés.

Pour en savoir plus sur les nouvelles fonctionnalités ajoutées à Blend, consultez notre billet de blog en préversion .

Débogage et diagnostics

Modification en mode géré et poursuivre lors de la jonction

À partir de RC, vous pouvez modifier et continuer lorsque vous vous connectez à des applications .NET et lorsque la variable d’environnement

complus_forceenc est défini sur 1 dans le processus cible.

Configuration de point d’arrêt

La nouvelle fenêtre Paramètres de point d’arrêt vous permet de spécifier des conditions et des actions pour vos points d’arrêt. La fenêtre inclut une prise en charge améliorée d’IntelliSense pour les conditions et les actions de point d’arrêt. Vous pouvez utiliser la fonction annuler (CTRL+Z) pour restaurer les points d’arrêt supprimés.

Expressions lambda dans les fenêtres du débogueur

Vous pouvez désormais utiliser des expressions lambda dans les fenêtres Espionnage, Immédiat et autres fenêtres de débogueur en C# et Visual Basic.

PerfTips

Vous pouvez utiliser la fonctionnalité PerfTips pour voir combien de temps le code a pris pour s’exécuter directement dans l’éditeur lorsque vous définissez des points d’arrêt et une étape avec le débogueur.

Utilisation du GPU

Vous pouvez utiliser l’outil Utilisation du GPU pour comprendre l’utilisation du GPU des applications DirectX. Les graphiques du temps de trame, du taux de trames et de l’utilisation du GPU sont disponibles lorsque les applications s’exécutent en temps réel. En outre, en collectant et en analysant des données d’utilisation détaillées du GPU, cet outil peut fournir des insights sur le temps d’exécution du processeur et du GPU de chaque événement DirectX individuel, et peut donc être utile pour déterminer si l’UC ou le GPU est le goulot d’étranglement des performances.

Améliorations apportées au débogueur C++

Lorsque le débogueur C++ est arrêté aux points d'arrêt, il peut exécuter du code pour calculer les résultats, par exemple pour afficher les données dans les fenêtres Surveillance et Immédiat. Si le débogueur détecte qu’une fonction appelée est bloquée, il tente de résoudre le problème.

Lorsqu’un débogueur C++ lance un processus, Windows alloue désormais de la mémoire à l’aide du tas normal plutôt que du tas de débogage habituel. Cela entraîne un démarrage plus rapide du débogage.

Outils de débogage d’interface utilisateur pour XAML

Nous avons ajouté deux nouveaux outils, l’arborescence de visuels en direct et l’Explorateur de propriétés dynamiques qui inspectent l’arborescence visuelle de votre application WPF en cours d’exécution, ainsi que les propriétés sur n’importe quel élément de l’arborescence. Ces outils vous permettent de sélectionner n’importe quel élément dans votre application en cours d’exécution et d’afficher les propriétés finales, calculées et rendues. Les outils incluent également les éléments suivants :

  • Arborescence visuelle dynamique. À présent, vous pouvez afficher l’arborescence visuelle complète d’une application en cours d’exécution pendant une session de débogage. L’arborescence de visuels dynamiques est disponible lorsque vous appuyez sur F5 dans Visual Studio ou joignez-vous à une application en cours d’exécution. Vous pouvez utiliser l'Arborescence visuelle en temps réel pour sélectionner des éléments dans une application en cours d'exécution et les inspecter dans l'Explorateur de propriétés en direct. Le nombre de descendants s’affiche et, si les informations sources sont disponibles, vous pouvez rechercher instantanément le fichier et l’emplacement de la définition de l’élément.
  • Live Property Explorer. Utilisez ce nouvel outil pour inspecter les propriétés définies sur n’importe quel élément d’une application en cours d’exécution, regroupés par l’étendue qu’ils sont définis. Vous pouvez modifier ces propriétés pendant une session de débogage et voir immédiatement leurs modifications dans l’application en cours d’exécution.

Choisir la façon dont les propriétés se substituent les unes aux autres et déterminer le comportement gagnant peut s’avérer difficile au moment de la conception. À présent, à l’aide de nos nouveaux outils de débogage d’interface utilisateur pour XAML, vous pouvez effectuer ces inspections au moment de l’exécution.

(La prise en charge des applications du Windows Store sera publiée dans une prochaine mise à jour.)

Outils de débogage d’interface utilisateur pour XAML, plein écran

Paramètres d’exception

Vous pouvez configurer les paramètres d’exception du débogueur à l’aide de la fenêtre de l’outil Paramètres d’exception. La nouvelle fenêtre est non modale et inclut des fonctionnalités améliorées de performances, de recherche et de filtre.

Paramètres des exceptions - Arrêt lors de la fenêtre levée

Outil Chronologie

Notre nouvel outil Chronologie vous fournit une vue centrée sur les scénarios des ressources que vos applications consomment pour inspecter, diagnostiquer et améliorer les performances de vos applications WPF et Windows Store 8.1.

L’outil Chronologie qui se trouve dans le hub Performances et diagnostics vous montre combien de temps votre application passe dans la préparation des trames de l'interface utilisateur et dans le traitement des requêtes réseau et des accès disque. L’outil le fait dans le contexte de scénarios tels que le chargement d’application et le chargement de page.

Nouvel outil Chronologie

Outils de diagnostic

Nous avons ajouté une nouvelle fenêtre Outils de diagnostic qui s’affiche lorsque vous démarrez le débogage (appuyez sur F5). La fenêtre Outils de diagnostic contient les fonctionnalités suivantes :

  • Événements (avec IntelliTrace)
    Les événements (avec IntelliTrace) vous permettent d’accéder à tous les événements Debugger Break, Output et IntelliTrace collectés pendant votre session de débogage. Les données sont présentées sous la forme d’une chronologie et d’une vue tabulaire. Les deux vues sont synchronisées et peuvent interagir entre elles.
  • Utilisation de la mémoire
    L’outil Utilisation de la mémoire vous permet de surveiller l’utilisation de la mémoire de votre application pendant le débogage. Vous pouvez également prendre et comparer des instantanés détaillés de mémoire native et managée pour analyser la cause de la croissance de la mémoire et des fuites de mémoire.
  • Utilisation du processeur
    L’outil Utilisation du processeur vous permet de surveiller l’utilisation du processeur de votre application pendant le débogage.
    (Cet outil remplace le temps processeur PerfTip disponible dans la préversion de Visual Studio 2015.)

Dans les versions précédentes, la fenêtre Outils de diagnostic a pris en charge les types de projets et les configurations de débogage suivants :

  • Projets WPF, WinForms et Console managés
  • Projets Win32, Console et MFC natifs
  • ASP.NET 4 à l’aide d’IIS express uniquement
  • Projets gérés ou natifs du Windows Store s’exécutant localement
    (Les projets du Windows Store qui utilisent JavaScript ou qui s’exécutent sur un téléphone ne sont pas pris en charge)

La fenêtre Outils de diagnostic dans la version RC présente les améliorations suivantes :

  • Il peut être déplacé vers n’importe quel emplacement de fenêtre dans Visual Studio et mémorise son emplacement et sa taille entre les sessions de débogage
  • Il apparaît et affiche les données d’un processus unique lors de l'attachement à un processus à l’aide de Debug -> Attacher au processus
  • Il apparaît lors du débogage de projets ASP.NET en cours d’exécution sur IIS
  • Il apparaît lorsque vous déboguez des projets ASP.NET 5
  • Cela se produit lorsqu’on débogue une application s'exécutant sur un ordinateur de bureau Windows distant
  • Les instantanés de mémoire peuvent être consultés après l’arrêt du débogage
  • Les événements du débogueur (événements d’arrêt uniquement) sont disponibles lors du débogage de projets natifs

Nous avons également ajouté les nouvelles fonctionnalités suivantes pour la version RC :

Mon code uniquement. Lorsque vous appuyez sur F5 pour lancer le débogueur, il affiche uniquement votre code afin que vous puissiez comprendre les problèmes de performances et les exceptions sans bruit provenant de l’infrastructure et d’autres codes. Étant donné que cette nouvelle fonctionnalité de filtrage de code dans IntelliTrace supprime le code système et expose uniquement du code utilisateur, il vous permet de déboguer plus facilement « juste mon code ».

Outil de diagnostic réseau. Ce nouvel outil de diagnostic réseau peut vous aider à diagnostiquer les problèmes liés au réseau lors de la création d’applications du Windows Store ainsi que des applications universelles qui s’exécutent sur tous les appareils Windows 10, de Windows Phone à Xbox et du Windows Store.

L’outil de diagnostic réseau enregistre des informations sur les opérations réseau HTTP de votre application, notamment les en-têtes de requête et de réponse HTTP, les charges utiles de requête et de réponse, les cookies et les informations de minutage détaillées, etc. L’outil de diagnostic réseau peut également vous aider à répondre à des questions sur les scénarios courants, tels que :

  • Problèmes liés à l’authentification (par exemple, pourquoi vous ne pouvez pas accéder à une ressource)
  • Problèmes liés au cache (par exemple, pourquoi vous n’obtenez pas la dernière version d’une ressource)
  • Nombre d’octets téléchargés lors de l’exécution de tâches courantes de vos applications
  • Où sont les goulots d’étranglement lors de l’accès et du téléchargement d’une ressource

Pour accéder à l’outil réseau, ouvrez la fenêtre Outils de diagnostic dans Visual Studio 2015. Dans le menu Débogage , sélectionnez Démarrer les outils de diagnostic sans débogage. Vous pouvez également appuyer sur Alt+F2.

Nous avons apporté les améliorations suivantes à la fenêtre Outils de diagnostic qui s’affiche lors du débogage :

  • Les événements de votre application apparaissent désormais dans une seule piste d’événements IntelliTrace au lieu de fractionner entre les événements IntelliTrace et les événements de sortie.
  • Les événements de votre application s’affichent maintenant pendant l’exécution de votre programme ; vous n’avez plus besoin d’appuyer sur « Arrêter tout » pour afficher les événements.
  • Vous pouvez désormais activer le débogage historique pour les points de trace que vous avez définis dans votre code, ce qui vous permet de voir le code source et la pile des appels.
  • Vous pouvez maintenant voir les événements Garbage Collection et Snapshot sur le graphique Utilisation de la mémoire afin que vous puissiez voir quand des garbage collections managées se sont produites et quand vous avez pris des instantanés avec l’outil Utilisation de la mémoire.

ASP.NET

ASP.NET 4.6

ASP.NET Liaison de modèle prend en charge les méthodes de retour de tâche

Les méthodes de liaison de modèle de ASP.NET qui retournaient auparavant des tâches n'étaient pas prises en charge et provoquaient une exception lors de l'exécution si elles étaient configurées. Si les applications sont déployées avec ces méthodes, ces méthodes sont désormais exécutées correctement. Cette modification s’applique uniquement aux applications ciblant spécifiquement .NET 4.6 ou version ultérieure.

Activation de la plateforme du compilateur .NET (« Roslyn ») dans les applications ASP.NET

Vous pouvez utiliser les nouvelles fonctionnalités de langage de C# et VB dans n’importe quel projet ASP.NET 4.6. Les modèles Web Forms dans VS 2015 ont le package Microsoft.CodeDom.Providers.DotNetCompilerPlatform préinstallé.

Ajouter la prise en charge de HTTP/2

Dans Windows 10 et .NET Framework 4.6, nous avons ajouté la prise en charge de HTTP/2. L’objectif principal pour HTTP/2 est d’améliorer les performances, la latence et l’utilisation du réseau à l’aide d’une connexion unique entre les navigateurs et un site Web.

Mise à jour des frameworks et des contrôles pour prendre en charge Entity Framework 6

Nous avons mis à jour Dynamic Data Framework, Entity Data Source Control et les fournisseurs universels afin qu’ils fonctionnent avec Entity Framework 6.

Mises à jour d’authentification

Les modèles ASP.NET 4.6 utilisent désormais l’intergiciel Open Id Connect pour s’authentifier auprès d’Azure AD. Cela facilite l’authentification du modèle de programmation auprès d’Azure AD.

Si vous sélectionnez l’option « Comptes d’utilisateur individuels », les modèles ASP.NET 4.6 montrent comment utiliser l’authentification à deux facteurs et les connexions sociales à l’aide de ASP.NET Identity.

ASP.NET MVC 5.2.3, Web Pages 3.2.3 et API web 5.2.3

Nous avons mis à jour les packages de modèle pour utiliser les derniers packages runtime pour MVC 5.2, Web Pages 3.2 et API web 2.2. Pour plus d’informations sur ces mises à jour de packages, consultez le billet de blog ASP.NET MVC 5.2.3, Web Pages 3.2.3 et API web 5.2.3 Release .

ASP.NET API web OData 5.3.1

Nous avons mis à jour les scaffolders OData de l'API Web pour utiliser ASP.NET Web OData 5.3.1. Pour plus d’informations, consultez What’s New in ASP.NET Web API OData 5.3.

SignalR 2.1.2

Nous avons mis à jour les packages de modèles pour utiliser SignalR 2.1.2. Consultez la note de publication signalR sur GitHub.

Package Microsoft Owin 3.0

Nous avons mis à jour les packages de modèles pour utiliser les packages NuGet Microsoft Owin 3.0. Consultez le projet Katana.

ASP.NET Identity 2.2.1

ASP.NET Identity 2.2.1 présente de nombreux correctifs de bogues et améliorations des performances supérieures à la version 2.1. Lisez ce billet de blog ASP.NET Identity 2.2.1 pour plus d’informations.

mises à jour des outils ASP.NET

Améliorations apportées à l’éditeur JSON

Nous avons apporté des améliorations dans l’éditeur JSON, notamment des améliorations des performances telles que le chargement asynchrone du schéma JSON, la mise en cache des schémas enfants et la prise en charge d’IntelliSense. En outre, il existe les nouvelles fonctionnalités suivantes :

  • Validation du schéma JSON. Ajoutez la fonctionnalité de validation de schéma JSON, en fonction du schéma défini dans la liste déroulante du schéma.
  • Annuler le menu contextuel. Vous pouvez cliquer avec le bouton droit sur l’éditeur JSON et sélectionner Un-minify context menu pour annuler la minification des tableaux longs dans le fichier JSON.
  • Rechargez le menu contextuel Schémas. Visual Studio met en cache le schéma téléchargé à partir d’Internet et utilise le cache même après avoir redémarré Visual Studio. Si vous savez que le schéma est modifié, vous pouvez utiliser le menu contextuel Recharger les schémas Ctrl+Maj+J pour télécharger à nouveau le schéma utilisé actuel dans le document JSON actif, puis l’utiliser immédiatement sur le document actif.
  • IntelliSense pour package.json/bower.json. En plus de prouver IntelliSense et la validation pour les fichiers package.json et bower.json, Visual Studio fournit également IntelliSense en direct pour les packages Bower et npm directement dans l’éditeur JSON.
  • Validation de propriété en double. L’éditeur JSON fournit désormais une validation pour toutes les propriétés dupliquées. Cela permet d’intercepter un problème courant avec la création de fichiers JSON.
  • La prise en charge d’IntelliSense et de la validation des fichiers JSON a été considérablement améliorée en prenant entièrement en charge la spécification json Schema draft v4. Désormais, il est beaucoup plus facile d’identifier les propriétés requises et l’éditeur vous permet de trier facilement les propriétés par ordre alphabétique. La mise en forme d’un fichier JSON minifié l’annule automatiquement.
  • Nous avons ajouté la prise en charge de SchemaStore.org, collection open source de fichiers de schéma JSON utiles. Cela signifie que tout fichier JSON ouvert dans Visual Studio qui a un schéma associé sur SchemaStore.org obtient automatiquement IntelliSense et la validation.
  • La prise en charge des auteurs de schémas JSON a également été améliorée par une meilleure validation de l’intégrité du schéma.

Améliorations apportées à l’éditeur HTML

L’éditeur HTML a mis à jour IntelliSense pour les normes web et introduit les nouvelles fonctionnalités suivantes :

  • Meilleure mise en forme du modèle client. L’éditeur HTML n’analyse plus ni ne met en forme la syntaxe double curly {{...}}. Cela permet de s’assurer que le contenu de cette syntaxe n’est pas traité au format HTML et qu’il n’est donc pas invalidé, ni qu’il essaie de mettre en forme le contenu, ce qui ne peut pas être fait correctement à l’aide du formateur HTML. C’est idéal pour les syntaxes Angular, Handlebars, Mustache et d’autres syntaxes de modèle double curly.
  • Prise en charge des éléments personnalisés, des éléments polymères et des attributs. L’éditeur HTML ne valide plus les attributs inconnus pour les éléments personnalisés, car différents frameworks ont de nombreuses balises personnalisées. Il n’y aura plus de zigzags sous les éléments inconnus.
  • IntelliSense de base pour les composants web. L’éditeur HTML dispose d'IntelliSense pour <link rel="import" /> qui fait partie de la norme Composants Web.
  • Info-bulles des éléments HTML Les info-bulles sont fournies pour les éléments HTML dans l’éditeur.
  • #zone de support. L’éditeur HTML prend désormais en charge le repli de région. Vous pouvez également utiliser l’extrait de code environnant pour entourer la sélection actuelle.
  • Prise en charge des commentaires Todo/Hack dans la liste des tâches.
  • Icônes Angular. Directives Angular (par exemple, <<ng-view>) et les attributs (ex. ng-controller) s’affichent désormais dans IntelliSense avec un logo Angular pour faciliter leur identification.
  • Icônes Bootstrap. IntelliSense fourni dans les attributs de classe HTML s’affiche désormais avec le logo Bootstrap si le nom de classe a été défini par le fichier CSS Bootstrap.

Améliorations apportées à l’éditeur CSS/LESS/Sass

  • Prise en charge des commentaires Todo/Hack dans la liste des tâches.
  • @viewport correctif pour l’éditeur LESS. Dans l’éditeur LESS, @viewport ne montre plus d'avertissements de vérification.
  • Fournissez de nombreux extraits de code supplémentaires. L’éditeur CSS/LESS/Sass fournit désormais plus d’extraits de code pour faciliter votre développement.
  • Une extension est désormais disponible pour Visual Studio 2015 pour compiler LESS, Scss et CoffeeScirpt. Téléchargez-le ici.

Éditeur JSX (React.js)

Visual Studio prend désormais en charge la syntaxe JSX de tous les fichiers avec l’extension de fichier .jsx. Profitez à la fois d'IntelliSense, de la mise en forme, et de la validation dans l’éditeur au fur et à mesure que vous tapez. Cet éditeur a été créé en collaboration avec l’équipe Facebook responsable de la bibliothèque React.js.

Lien du navigateur

CSS est automatiquement synchronisé. L’enregistrement du fichier CSS ou sa modification en externe (par exemple, à l’aide d’un compilateur LESS/SASS) entraîne le rechargement de l’intégralité du fichier CSS dans le navigateur. Si le fichier ne peut pas se synchroniser automatiquement, Ctrl + S provoque un rechargement automatique et doit le remettre dans un bon état sans avoir à actualiser les navigateurs liés (Ctrl + Alt + Entrée). La fonctionnalité peut être désactivée dans la barre d’outils.

En savoir plus sur ASP.NET.

ASP.NET 5

ASP.NET 5 est une pile .NET allégée et composable pour la création d’applications web modernes pour les serveurs cloud et sur site. Microsoft System Center ASP.NET 2.0 2007 offre les fonctionnalités suivantes :

  • Nouveau pipeline de requêtes léger
  • S'exécute sur IIS ou hébergé de manière autonome dans votre propre processus
  • Basé sur un nouvel environnement d’exécution .NET (DNX) qui peut s’exécuter sur le .NET Framework complet ou sur .NET Core, un nouveau runtime optimisé pour le cloud qui prend en charge le contrôle de version côte à côte vrai
  • Exécute plusieurs plateformes sur Windows, Mac et Linux
  • NuGet tout, y compris l'environnement d'exécution lui-même
  • Prend en charge ASP.NET MVC 6 - infrastructure web unifiée pour l’interface utilisateur web et les API web
  • Configuration basée sur l’environnement pour une transition transparente vers le cloud
  • Injection de dépendances prête à l’emploi
  • Nouveau système de projet Visual Studio et expérience d’outils de haute productivité
  • Toutes les open source sur GitHub via .NET Foundation

Visual Studio 2015 inclut les packages d’exécution ASP.NET 5 bêta5. Ces packages sont toujours en préversion et ne sont pas recommandés pour une utilisation en production. Vous trouverez tous les détails sur les améliorations spécifiques ajoutées et les problèmes résolus dans les notes de publication publiées sur GitHub.

Visual Studio 2015 est fourni avec un nouveau système de projet et une expérience d’outils intégrées permettant de créer ASP.NET 5 applications et d’utiliser des projets DNX. Voici quelques-unes des nouvelles fonctionnalités d’outils :

  • Nouveau système de projet pour la création de projets DNX multiplateformes qui sont générés et exécutés sur Windows, Mac et Linux.
  • Modèles de création ASP.NET 5 sites web et API web à l’aide de MVC 6, Identity 3 et Entity Framework 7.
  • Modèles de création de bibliothèques de classes basées sur DNX et d’applications console
  • Créez et distribuez des outils en ligne de commande multiplateforme via NuGet.
  • Installez et gérez différentes versions de DNX à l’aide du Gestionnaire de versions .NET (DNVM) à partir de l’invite de commandes développeur.
  • Expérience intégrée pour rechercher, installer et restaurer des packages NuGet.
  • Utilisez Ctrl + . pour rechercher et installer des packages NuGet pour les symboles non résolus dans votre code C#.
  • Outils intégrés pour le développement web côté client à l’aide de NPM, Grunt/Gulp et Bower, notamment l’intégration de la gestion des packages et le nouvel Explorateur Task Runner.
  • Exécutez des commandes DNX au niveau du projet directement à partir de Visual Studio à l’aide du menu déroulant Bouton Exécuter.
  • Créez des profils de lancement personnalisés qui lancent IIS Express, y compris la définition de variables d’environnement personnalisées.
  • Générez des packages NuGet à partir d’un projet unique qui cible plusieurs frameworks, notamment .NET Core.
  • Combinaison d’IntelliSense lors de la génération de plusieurs frameworks cibles à partir d’un seul projet.
  • Nouvelles fonctionnalités Razor introduites par ASP.NET 5, telles que Tag Helpers, s’allument désormais dans IntelliSense et la mise en surbrillance de la syntaxe.

Nouvelles fonctionnalités de cette version

  • Lorsque vous ouvrez un projet qui nécessite une version de DNX qui n’est pas disponible, Visual Studio invite à installer la version DNX requise.
  • Vous pouvez maintenant ajouter des références à des assemblages non fixes à l’aide de la boîte de dialogue Ajouter une référence.
  • Le modèle d’application web ASP.NET 5 prend désormais en charge l’option Comptes professionnels et scolaires pour l’authentification.
  • L’option Hôte dans le cloud dans la boîte de dialogue Nouveau projet ASP.NET est désormais disponible pour ASP.NET 5 projets.
  • Utilisez l’Explorateur de serveurs pour modifier à distance les fichiers sous approot pour les projets ASP.NET 5 hébergés sur Azure.

Pour plus d’informations, consultez les notes de publication des outils sur GitHub et notre blog sur le développement web et les outils .NET.

Outils Azure

Intégration du sélecteur de compte

Le sélecteur de compte est utilisé dans les boîtes de dialogue de création/sélection de l’application web et de publication web pour activer l’accès en un clic à plusieurs comptes. Vous pouvez vous connecter une seule fois à plusieurs comptes et avoir un accès rapide et facile pour sélectionner des comptes individuels lorsque vous publiez des ressources.

Applications API

Le modèle d’aperçu API Apps, la prise en charge de la publication et la visibilité de l’Explorateur de serveurs ont tous été migrés vers Visual Studio 2015. Vous pouvez maintenant créer et déployer des applications API Azure à l’aide de la dernière version de Visual Studio. En outre, nous avons amélioré la fonctionnalité de sortie Swagger afin que les développeurs d’applications API aient une meilleure prise en charge intégrée pour Swagger généré dynamiquement à partir de ASP.NET Web API.

WebJobs Outils

Vous pouvez maintenant contrôler les travaux web sur le nœud WebJob de l’Explorateur de serveurs à l’intérieur d’un site web Azure de la manière suivante :

  • Nœuds WebJobs sous les nœuds de site web dans l’Explorateur de serveurs.
  • Démarrez/arrêtez les tâches web continues à partir de l’Explorateur de serveurs.
  • Exécutez des travaux à la demande ou planifiés à partir de l’Explorateur de serveurs.
  • Afficher le tableau de bord WebJob à partir de l’Explorateur de serveurs.
  • Menu contextuel Afficher le tableau de bord ; utilisez-le pour accéder au tableau de bord WebJob du site web Azure.

Kit de développement logiciel (SDK) WebJobs

Les modèles de projet Azure WebJobs ont le Kit de développement logiciel (SDK) WebJobs préinstallé.

NuGet

NuGet 2.8.3

Nous avons ajouté la prise en charge du projet DevExtreme et de BizTalkProject 2.8.3. Pour plus d’informations, consultez les notes de publication de NuGet 2.8.3.

Gestionnaire de packages NuGet

Nous avons mis à jour l’interface utilisateur du Gestionnaire de package NuGet pour faciliter la gestion des packages dans toute une solution dans Visual Studio 2015. Avec une vue unique sur les packages installés dans vos projets, vous pouvez filtrer la liste des packages disponibles à partir de la galerie NuGet, de vos packages installés et des packages qui ont des mises à jour disponibles.

Galerie NuGet

Nous avons amélioré les performances de la galerie NuGet avec un nouveau service web et un client intégré. Vous trouverez plus d’informations sur les mises à jour NuGet à l’adresse http://docs.nuget.org.

JavaScript

Prise en charge de l’éditeur JavaScript

Nous avons mis à jour l’éditeur JavaScript pour le rendre encore plus utile.

  • Prise en charge des outils pour AngularJS. Maintenant, lorsque vous écrivez des applications à l’aide d’AngularJS, IntelliSense fournit des suggestions pour les contrôleurs Angular, les services, les fabriques, les directives et les animations.
  • Les nouvelles fonctionnalités du langage JavaScript (à partir de la version ES6 de JavaScript) sont prises en charge, notamment les classes, les fonctions de flèche et les chaînes de modèle.
  • Prise en charge du projet partagé de la barre de navigation. Vous pouvez maintenant utiliser la barre de navigation dans le projet partagé pour les projets d’application universelle Windows.
  • Nouvelle barre de navigation. La nouvelle barre de navigation facilite la navigation entre les principaux éléments du code source JavaScript.
  • Commentaires JSDoc. Les commentaires de documentation écrits au format JSDoc sont désormais affichés lors de l’utilisation d’IntelliSense. (Pour plus d’informations sur les commentaires JSDoc, consultez https://jsdoc.app/.)
  • IntelliSense littéral d’objet. L’éditeur JavaScript vous fournit des suggestions IntelliSense lors du passage d’un littéral d’objet à des fonctions documentées à l’aide de JSDoc.
  • Développez/réduisez. Vous pouvez développer et réduire davantage de sections de votre code JavaScript, y compris des commentaires multilignes, des tableaux à plusieurs lignes et tous les blocs à plusieurs lignes.
  • Gestion de la liste de tâches. Vous pouvez utiliser la fonctionnalité Liste des tâches pour passer en revue les commentaires des tâches, tels que // TODO, dans votre code JavaScript.

Tapuscrit

Visual Studio 2015 inclut la version 1.5 des outils TypeScript. Cette version ajoute une prise en charge enrichie pour ECMAScript 6, notamment les modules, le déstructuration, for..of, l'opérateur de propagation, les symboles, les propriétés calculées, let/const et les modèles de chaînes étiquetés pour ES3/ES5. En plus de la prise en charge de ES6, TypeScript 1.5 ajoute également la prise en charge de la proposition de décorateur ES7 expérimentale, de l’UMD et des sorties de module System.js, ainsi qu’un nouveau fichier projet léger et portable appelé «tsconfig.json».

IntelliTest

Dans Visual Studio 2015, nous avons ajouté IntelliTest qui explore votre code .NET pour générer des données de test et une suite de tests unitaires. Pour chaque instruction du code, une entrée de test est générée qui exécutera cette instruction. Une analyse de cas est effectuée pour chaque branche conditionnelle du code. Par exemple,

Toutes les opérations qui peuvent lever une exception, telles que les instructions if et assertions, sont analysées. Cette analyse est utilisée pour générer des données de test pour un test unitaire paramétrable pour chacune de vos méthodes, en créant des tests unitaires avec une couverture de code maximale. Ensuite, vous apportez vos connaissances de domaine pour améliorer ces tests unitaires.

Nous avons également ajouté les fonctionnalités suivantes à IntelliTest :

  • Tests unitaires paramétrables. IntelliTest permet la prise en charge d’une API que vous pouvez utiliser pour guider la génération de données de test, spécifier les propriétés de correction du code sous test et diriger l’exploration du code sous test. Cette API est disponible dans l’espace de noms Microsoft.Pex.Framework et peut être utilisée dans les méthodes de test (tests unitaires paramétrables, méthodes de fabrique) générées par IntelliTest. Par conséquent, la commande de menu contextuel « IntelliTest » est désormais disponible à partir des méthodes de test générées.
  • Création de stubs de test. « Créer des tests unitaires » est désormais disponible dans le menu contextuel sous la forme d’une commande qui permet de créer et de configurer un projet de test, une classe de test et un stub de test.

Pour plus d’informations sur IntelliTest (anciennement appelé « Tests unitaires intelligents »), consultez Générer des tests unitaires pour votre code avec IntelliTest.

Informations sur l'application

Avec diverses améliorations de performances et correctifs de bogues, Application Insights inclut désormais les mises à jour suivantes :

  • Les outils Application Insights dans Visual Studio font désormais partie de Visual Studio Connected Services. (Pour ajouter Application Insights, ouvrez la boîte de dialogue Services connectés et choisissez Application Insights dans la liste des services.)
  • Cette mise à jour est entièrement compatible avec les projets ajoutés à Application Insights dans Visual Studio 2013 Update 3 ou dans Visual Studio 2013 Update 4.
  • ASP.NET 5 développeurs, développeurs d’applications universelles Windows 10 et développeurs d’applications universelles Windows 8.1 peuvent ajouter Application Insights à leurs projets directement à partir de Visual Studio.
  • Les développeurs Windows 10 Universal Apps n’ont pas besoin d’être connectés à Azure pour ajouter le Kit de développement logiciel (SDK) Application Insights ; Au lieu de cela, ils peuvent l’ajouter à l’aide des outils Application Insights dans Visual Studio.
  • Étant donné que Application Insights utilise le sélecteur de compte global dans Visual Studio, vous pouvez utiliser le même compte dans Visual Studio.
  • Vous pouvez maintenant afficher les informations de « prise en main » d’Application Insights directement à partir du dossier Référence du service du projet ; cliquez simplement sur le dossier Prise en main.

Affichez les informations de prise en main d’Application Insights à partir du dossier référence de service d’un projet.

Gestion des versions

Avec cette fonctionnalité, vous pouvez améliorer le processus de gestion de la version de votre application, déployer votre application dans un environnement spécifique pour chaque étape distincte et gérer les étapes du processus avec des approbations pour chaque étape. Vous pouvez configurer un pipeline de mise en production depuis l’enregistrement jusqu’au déploiement sans avoir à installer et à gérer un serveur de gestion des versions sur site en utilisant le service Release Management pour Visual Studio Online.

Une version mise à jour de Release Management est disponible pour Visual Studio 2015. Ceci est très similaire à l’existant Release Management pour Visual Studio 2013, mais fournit des performances améliorées dans les domaines suivants :

  • Page de lancement du client de gestion des versions qui affiche une vue d’ensemble du processus de mise en production et des notifications.
  • Rendu et interactivité dans d’autres pages du client de gestion des versions, via une mise en cache supplémentaire.
  • Synchronisation des groupes de sécurité Active Directory et TFS.
  • Création de nouvelles versions.

Vous pouvez maintenant définir des composants et des définitions de mise en production pour les définitions de build du nouveau système de build inclus dans Team Foundation Server 2015. Lors de la définition du composant, vous pouvez également spécifier l’artefact du composant à l’aide d’un nom de composant identique à (ou contient) le nom de l’artefact publié à partir de la définition de build.

Contrôle de version Git

Il est plus facile de travailler avec des branches et de voir comment les changements dans votre historique diffèrent.

Branches

Vous pouvez organiser vos branches hiérarchiquement en spécifiant un préfixe :

Les branches locales et les branches distantes (y compris celles que vous n’avez pas créées localement) sont affichées séparément dans une arborescence.

Branches Git

Et à partir de RC, nous avons retravaillé la page Branches :

  • Vous pouvez maintenant fusionner à partir de branches distantes, ainsi que des branches locales.
  • La branche dans laquelle vous fusionnez est maintenant associée à la branche qui est actuellement extraite.
  • Vous pouvez maintenant rebaser depuis la branche actuelle sur n'importe quelle branche locale ou distante.
  • Vous pouvez extraire une branche distante en double-cliquant dessus ou en cliquant dessus avec le bouton droit, puis en sélectionnant Extraction.

Gestion à distance

Vous pouvez maintenant configurer vos dépôts Git dans l'Explorateur d'équipe. Dans Paramètres du référentiel, il existe une nouvelle section Remotes qui affiche les distances actuellement configurées, où vous pouvez ajouter, modifier ou supprimer des distances. Par exemple, si vous devez modifier l’URL de l’origine distante, vous pouvez cliquer sur Modifier et modifier l’URL d’extraction et/ou d’envoi (push).

Historique détaillé

Vous pouvez maintenant voir comment les commits ont divergé dans l’historique.

Vue détaillée de l’historique

Dans le graphique, les validations de fusion sont grises et les validations de non-fusion sont une couleur plus brillante. Vous pouvez basculer entre l’affichage simple et l’affichage détaillé. Si le graphique est tronqué, vous pouvez le redimensionner.

Nous avons apporté plusieurs mises à jour au graphique Historique dans la version RC :

  • Nous avons ajouté une barre d’outils qui vous permet de contrôler le niveau de détail que vous voyez dans le graphique.
  • Nous mettons maintenant en évidence les lignes d’historique pour indiquer les validations accessibles à partir de la validation actuellement sélectionnée.
  • Nous affichons maintenant les deux lignes d’historique si la branche locale et distante diffère. Cela est particulièrement utile après avoir réaligné une branche locale.

Rebase dans Team Explorer

Nous prenons désormais en charge la rebase dans Team Explorer. Pour lancer une nouvelle base, cliquez sur le menu volant de rebase sur la page Branches, ou cliquez avec le bouton droit sur une branche, puis sélectionnez « Rebaser sur... »

Référentiels VSO

Nous avons amélioré l’expérience de « prise en main » lors de la création d’un dépôt VSO, et il y a beaucoup plus de modifications à venir pour simplifier la création d’un nouveau dépôt. Pour RC, nous avons apporté une petite modification pour faciliter l’ajout de nouveau code à un dépôt existant : si vous vous connectez à un dépôt à l’aide de Team Explorer, sélectionnez Nouveau > projet de fichier, la boîte de dialogue démarre maintenant à la racine de ce référentiel connecté.

Publier sur Visual Studio Online

La fonctionnalité Publier sur Visual Studio Online simplifie considérablement le processus d’obtention de votre référentiel local sur Visual Studio Online. Ce qui prenait autrefois 12 étapes n'en prend maintenant que 2. Dans la page Synchronisation Team Explorer, la nouvelle section Publier sur Visual Studio Online vous permet de sélectionner l’un des comptes d’utilisateur dans le gestionnaire de comptes Visual Studio. Vos comptes en ligne Visual Studio sont automatiquement disponibles dans une liste ; il n’est pas nécessaire de mémoriser les URL. Lorsque vous êtes prêt à partager votre code, choisissez simplement un projet d’équipe nouveau ou existant pour héberger votre dépôt, cliquez sur Publier et vous avez terminé.

Boîte de dialogue de publication sur Visual Studio Online

Authentification unique

Vous, comme beaucoup d’autres développeurs aujourd’hui, tirez parti de plusieurs services cloud lors du développement de vos applications. Par exemple, vous avez probablement ajouté un back-end cloud à vos applications pour stocker des données, stocker votre code source dans le cloud ou publier une application dans un magasin.

Dans le passé, chacun de ces services a requis un processus de connexion distinct, et chaque service a géré l’état de l’utilisateur connecté séparément.

Avec cette version, nous réduisant les invites d’authentification requises pour accéder à de nombreux services cloud intégrés dans Visual Studio. À présent, lorsque vous vous authentifiez auprès du premier service cloud dans Visual Studio, nous vous connecterons automatiquement ou réduisez les invites d’authentification pour d’autres services cloud intégrés.

CodeLens

En savoir plus sur votre code, tout en restant concentré sur votre travail dans l’éditeur. Recherchez des références de code, des modifications apportées à votre code, des éléments TFS associés et des tests unitaires, sans regarder loin du code.

Dans cette version, nous avons remplacé les indicateurs CodeLens « Auteurs » par les nouveaux indicateurs d’historique « Activité d’équipe » et « Auteurs et modifications ».

  • L’indicateur Chronologie de l’activité d’équipe affiche le dernier auteur et quand la dernière modification a été apportée. Le choix de cet indicateur ouvre l’affichage Activité d’équipe, où vous pouvez rechercher des modèles dans les modifications apportées au code. Cela peut vous aider à évaluer l’impact des modifications au fil du temps.
  • L’indicateur Auteurs et Modifications indique le nombre d’auteurs qui ont modifié le fichier et le nombre de modifications. Le choix de cet indicateur ouvre une liste de toutes les modifications, détails des modifications et liens pour obtenir plus d’informations et voir les versions précédentes.

Toutes les informations des indicateurs sont disponibles lorsque votre code est hébergé dans Team Foundation Version Control (dans Team Foundation Server et Visual Studio Online) et dans les référentiels Git. Lorsque vous travaillez dans Team Foundation Server ou Visual Studio Online, vous pouvez également obtenir des informations sur les éléments de travail.

Ces indicateurs, ainsi que les indicateurs disponibles dans les versions précédentes, sont affichés au niveau de l’élément de code (méthode, champ ou classe) pour les fichiers C# et Visual Basic. Voici un exemple d’indicateur de chronologie de l’activité d’équipe pour un fichier C# :

Indicateur de chronologie de l’activité d’équipe pour un fichier C#

Voici un exemple d’indicateur Auteurs et Modifications pour un fichier C# :

Indicateur Auteurs et modifications pour un fichier C#

Toutefois, les indicateurs sont désormais affichés au niveau du fichier pour tous les autres types de fichiers (par exemple, C++, SQL, JavaScript et d’autres types de fichiers). Voici un exemple d’indicateur de chronologie d’activité d’équipe pour un fichier qui n’est pas un fichier de code C# ou Visual Basic :

Indicateur de chronologie de l’activité d’équipe pour un fichier qui n’est pas un fichier de code C# ou Visual Basic

Architecture, conception et modélisation

Mappages de code et graphiques de dépendances

Lorsque vous souhaitez comprendre des dépendances spécifiques dans votre code, visualisez-les en créant des mappages de code. Vous pouvez ensuite parcourir ces relations à l’aide de la carte qui apparaît en regard de votre code. Les mappages de code peuvent également vous aider à suivre votre place dans le code pendant que vous travaillez ou déboguez du code. Vous pouvez donc lire moins de code pendant que vous en apprendrez davantage sur la conception de votre code.

Dans la version finale de RTM, nous avons rendu les menus contextuels pour les éléments de code et les liens beaucoup plus faciles à utiliser en regroupant des commandes dans des sections liées à la sélection, à la modification, à la gestion des groupes et à la modification de la disposition du contenu du groupe. Notez également que les projets de test s’affichent dans un style différent des autres projets et que nous avons mis à jour les icônes des éléments de la carte vers des versions plus appropriées.

Nouveaux regroupements dans les mappages de code

Nous avons également modifié la façon dont le contenu des éléments de code s’affiche, de sorte que vous pouvez désormais sélectionner plusieurs groupes et appliquer le style de disposition que vous souhaitez tous. À présent, vous pouvez toujours obtenir un diagramme de dépendances utile lorsque vous étendez un assembly, un espace de noms ou un type dans une carte de code.

Sélectionnez plusieurs groupes et appliquez une disposition dans un mappage de code

Dans les versions préliminaires et les versions candidates antérieures de Visual Studio 2015, nous avons apporté des modifications qui vous permettent de :

  • Obtenez des diagrammes de haut en bas améliorés. Pour les solutions Visual Studio de taille moyenne à grande, vous pouvez désormais utiliser un menu Architecture simplifié pour obtenir des cartes de code plus utiles pour votre solution. Les assemblys de votre solution sont regroupés par les dossiers de solution. Vous pouvez donc les voir dans le contexte et tirer parti des efforts que vous avez déployés pour structurer la solution. Vous verrez immédiatement les références de projet et d’assembly, puis les types de liens s’affichent. En outre, les assemblys externes à votre solution sont regroupés de manière plus compacte.
  • Obtenez des cartes de code réactives plus rapidement. Les opérations de glisser-déplacer produisent un résultat immédiat et les liens entre les nœuds sont créés plus rapidement, sans affecter les opérations lancées par l’utilisateur suivantes, telles que le développement d’un nœud ou la demande de nœuds supplémentaires. En particulier, l’option « Ignorer la reconstruction de votre solution » vous permet d’obtenir de meilleures performances lors de la création et de la modification de diagrammes. Lorsque vous créez des mappages de code sans générer la solution, tous les cas particuliers, tels que les assemblies non compilés, sont maintenant traités.
  • Filtrez les nœuds et les groupes d’éléments de code. Vous pouvez déséclérer rapidement vos cartes en affichant ou en masquant des éléments de code en fonction de leur catégorie, ainsi qu’en regroupant des éléments de code par dossiers de solution, assemblys, espaces de noms, dossiers de projet et types.
  • Filtrez les relations pour faciliter la lecture des diagrammes. Cela inclut des liens inter-groupes, ce qui rend l’utilisation de la fenêtre de filtre moins intrusive que dans les versions précédentes.
  • « Analyse des liens de dépendance » prend en compte les filtres. Vous obtenez un diagramme utile et clair lors de son développement pour comprendre les contributions à un lien de dépendance. Le diagramme est moins encombré et prend en compte les options de filtrage des liens que vous avez sélectionnées.
  • Créez des diagrammes à partir de l’affichage de classes et de l’explorateur d’objets. Faites glisser et déposez des fichiers et des assemblys dans une carte nouvelle ou existante à partir des fenêtres Affichage de classes et Explorateur d’objets.

Dans l’ensemble, la liste complète des améliorations que nous avons apportées aux cartes de code inclut :

  • Les projets de test sont mis en forme différemment et peuvent être filtrés. Vous pouvez maintenant identifier rapidement les projets de test sur une carte, car ils sont mis en forme différemment. En outre, ils peuvent être filtrés afin que vous puissiez vous concentrer sur le code de travail de l’application.
  • Les éléments de code sont ajoutés avec leur contexte. Étant donné que les diagrammes apparaissent maintenant avec leur contexte (jusqu’au dossier assembly et solution que vous pouvez filtrer si nécessaire), vous obtenez des diagrammes plus utiles lors du glisser-déplacer des éléments de code à partir de l’Explorateur de solutions, de l’Affichage de classes et de l’Explorateur d’objets ; ou lorsque vous sélectionnez des éléments dans l’Explorateur de solutions et choisissez Afficher sur le mappage de code.
  • Liens de dépendance externe simplifiés. Les liens de dépendance ne représentent plus l’héritage de System.Object, System.ValueType, System.Enum et System.Delegate, ce qui facilite la visualisation des dépendances externes dans votre mappage de code.

Autres modifications de conception et de modélisation dans cette version :

  • Diagrammes de couche. Mettez à jour ces diagrammes à l’aide de l’affichage de classes et de l’Explorateur d’objets. Pour répondre aux exigences de conception logicielle, utilisez des diagrammes de couche pour décrire les dépendances souhaitées pour votre logiciel. Gardez le code cohérent avec cette conception en recherchant du code qui ne répond pas à ces contraintes et en validant le code futur avec cette ligne de base.
  • Diagrammes UML. Vous ne pouvez plus créer de diagrammes de classes UML et des diagrammes de séquence à partir du code. Toutefois, vous pouvez toujours créer ces diagrammes à l’aide de nouveaux éléments UML.
  • Explorateur d’architectures. Vous ne pouvez plus utiliser l’Explorateur d’architectures pour créer des diagrammes. Toutefois, vous pouvez toujours utiliser l’Explorateur de solutions.

Service de langage XAML

Nous avons reconstruit le service de langage XAML sur la plateforme du compilateur .NET (« Roslyn ») afin que nous puissions vous fournir une expérience d’édition XAML rapide, fiable et moderne qui inclut IntelliSense.

Cela rend l’expérience de création XAML égale à d’autres langages de première classe dans Visual Studio. Nous allons également vous fournir un ensemble de fonctionnalités puissantes autour de la refactorisation inter-langage à une cadence beaucoup plus rapide.

Divers

Les agents pour Visual Studio 2015 ne nécessitent plus de contrôleur de test

Dans Agents pour Visual Studio 2015, vous n’avez pas besoin d’un contrôleur de test distinct, car les agents peuvent gérer l’orchestration en communiquant avec TFS 2015 ou Visual Studio Online.

Dans tous les nouveaux scénarios Visual Studio 2015 et TFS 2015, nous vous recommandons d’utiliser agents pour Visual Studio 2015.

Toutefois, si vous avez besoin de l’agent de test ou du contrôleur de test pour fonctionner avec TFS 2013, nous vous recommandons d’utiliser agents pour Visual Studio 2013 Update 5 et de configurer le contrôleur de test.

Le contrôleur de test est compatible avec TFS 2015 ainsi que TFS 2013. Toutefois, la prise en charge des tests de charge dans Visual Studio 2015 ne fait pas partie des agents. Par conséquent, nous vous recommandons d’installer agents pour Visual Studio 2013 Update 5 et de configurer le contrôleur.

Services connectés

La nouvelle boîte de dialogue Ajouter un service connecté dans Visual Studio 2015 vous permet de connecter facilement votre application à Azure Application Insights, stockage Azure, Azure Mobile Services, Office 365 et Salesforce. Pour ajouter un service connecté, cliquez avec le bouton droit sur le nœud Références, puis sélectionnez Ajouter un service connecté....

Ajouter un service connecté

La boîte de dialogue Ajouter un service connecté contient tous les fournisseurs de services connectés actuellement installés et fournit un moyen d’obtenir plus d’informations sur le fournisseur, les technologies qu’il utilise et s’il est pris en charge dans le projet actuel. D’autres fournisseurs sont détectables dans la galerie Extensions et Mises à jour à l’aide du lien Rechercher d’autres services... La boîte de dialogue Ajouter un service connecté est également extensible. Si vous êtes développeur de services, vous pouvez utiliser notre Kit de développement logiciel (SDK) Des services connectés pour créer un fournisseur qui peut améliorer la détectabilité et favoriser l’utilisation de vos services.

SSO d'Entreprise

Une tâche courante pour l’application métier consiste à configurer l’application pour l’authentification unique d’entreprise à l’aide d’Azure Active Directory. Vous pouvez maintenant le faire facilement à tout moment pendant la construction de votre application en cliquant avec le bouton droit sur votre application et en sélectionnant Configurer l’authentification Azure AD.... Un Assistant similaire à l’expérience Ajouter un service connecté vous guide tout au long du processus de configuration de votre application pour qu’elle fonctionne avec Active Directory. La spécification d’un domaine Active Directory dans l’Assistant enregistrera votre application auprès de cet Active Directory et configurera votre application pour demander une authentification.

Spécifier un domaine Active Directory dans l’Assistant

IIS 10 Express pour Visual Studio 2015 RC

La version RC comprenait une nouvelle version d’IIS 10 Express ; ses nouvelles fonctionnalités incluent la prise en charge de HTTP 2.0, ainsi qu’une synchronisation des bits avec Windows 10.

Autres changements : correctifs de bogues et problèmes connus

Pour obtenir une description complète des améliorations technologiques, des correctifs de bogues et des problèmes connus dans cette version, consultez l’article suivant de la Base de connaissances (KB).

Kit de développement logiciel (SDK) Azure 2.7 pour .NET

Le Kit de développement logiciel (SDK) Azure 2.7 est le premier Kit de développement logiciel (SDK) Azure pris en charge pour la version finale de Visual Studio 2015. Voici quelques-unes des nouvelles fonctionnalités et mises à jour qui vous aideront à améliorer votre expérience de développement Azure :

  • Améliorations de la connexion pour Visual Studio 2015 : Le Kit de développement logiciel (SDK) Azure 2.7 pour Visual Studio 2015 inclut désormais la prise en charge des comptes accédant à Azure via Role-Based Access Control, les fournisseurs de solutions cloud, DreamSpark et d’autres types de compte et d’abonnement.
  • Cloud Explorer pour Visual Studio 2015 : Azure SDK 2.7 inclut Cloud Explorer pour Visual Studio 2015 qui fournit un outil hautement performant et évolutif pour rechercher et afficher vos ressources Azure, inspecter leurs propriétés et effectuer des actions de développement et de diagnostic clés à partir de Visual Studio.
  • Débogage à distance pour les machines virtuelles dans Visual Studio 2015 : processus de débogage distant s’exécutant sur des machines virtuelles créées à l’aide de la pile Azure Resource Manager.
  • Outils Azure Resource Manager : nous avons mis à jour les outils Azure Resource Manager pour faciliter l’utilisation des nouvelles tâches de génération Visual Studio Online. En outre, nous avons ajouté des améliorations pour l’utilisation du contrôle d’accès en fonction du rôle (RBAC) et de nouveaux types d’abonnements.
  • Outils Azure App Service : Les outils App Service sont désormais également disponibles dans Visual Studio 2015. Cette mise à jour apporte la prise en charge du profilage à distance pour les applications Web, les améliorations apportées à la génération de Swagger pour les applications API, et la prise en charge de la connexion à plusieurs comptes. Les outils App Service utilisent désormais les API Azure Resource Management pour toutes les fonctionnalités et permettent la prise en charge de DreamSpark et des fournisseurs de services cloud. Nous avons également ajouté la prise en charge de la préversion d’Azure API Apps pour les développeurs Visual Studio 2015 dans cette mise à jour.
  • HdInsight Tools : dans cette version, nous avons ajouté des vues des graphiques d’exécution pour les travaux Hive exécutés sur Tez, développé notre prise en charge d’IntelliSense Hive DML, ajouté NuGet pour SCP.Net, mis à niveau nos modèles Storm et ajouté de nouveaux modèles pour Pig.
  • Azure Data Factory Tools : Désormais inclus dans le Kit de développement logiciel (SDK) Azure, il s’agit d’Azure Data Factory Tools. Notre objectif est de simplifier l’expérience de création d’Azure Data Factory et de supprimer les défis liés à l’intégration et au déploiement. Nos expériences personnalisées et nos outils enrichis dans Azure Data Factory Tools améliorent la productivité et l’efficacité pour les utilisateurs nouveaux et avancés. Avec cette version, les clients peuvent créer et déployer de manière interactive des pipelines de données à l’aide de l’interface Visual Studio. Pour plus d’informations sur ces outils, consultez le billet de blog Azure Data Factory .

Kit de développement logiciel (SDK) Windows 10

Cet outil met à jour Visual Studio 2015 pour fournir tout ce dont vous avez besoin pour générer, déboguer et envoyer des applications pour n’importe quel appareil Windows exécutant la plateforme Windows universelle. Les points forts sont les suivants :

  • Créez une application Windows universelle dans le langage de votre choix ( C#, VB, C++ ou JS) et déployez-la sur un appareil Windows 10.
  • Nouveaux outils de débogage et de diagnostic, y compris les outils de débogage d’interface utilisateur pour les applications XAML et un profileur réseau.
  • Créez des packages d’application pour la soumission au Windows Store unifié.
  • L’émulateur Windows 10 Mobile tire désormais parti du matériel graphique (GPU) de votre PC pour accélérer le rendu de l’écran. Il fournit un environnement de débogage plus rapide et plus réactif à l’aide de Microsoft RemoteFx.
  • Vous pouvez maintenant utiliser la fonctionnalité de simulation NFC dans l’émulateur Windows 10 Mobile pour créer et tester des applications universelles compatibles NFC/proximité.
  • Prise en charge enrichie du concepteur XAML pour la création d’expériences utilisateur optimisées pour l’appareil.
  • Compilation .NET Native des applications .NET dans le cloud.

Pour plus d’informations sur les outils de développement Windows 10, voir Il est temps de mettre à niveau votre monde et vos applications.

Outils Python pour Visual Studio 2.2

Prise en charge de Python totalement gratuite dans Visual Studio.

  • CPython, PyPy, IronPython et bien plus encore
  • IntelliSense détaillé
  • Débogage interactif
  • Intégré aux fonctionnalités de Visual Studio
  • Gratuit et open source

Pour plus d’informations, consultez Python Tools pour Visual Studio.

Visual Studio Tools pour Unity 2.0

Transformez Visual Studio en un environnement de développement Unity puissant.

  • Créer des jeux multiplateformes
  • Déboguer à partir de Visual Studio
  • Créer des scripts Unity dans Visual Studio
  • Expérience de productivité améliorée avec Visual Studio

Pour plus d’informations sur Visual Studio Tools pour Unity, consultez Développement de jeux avec Visual Studio.

outils Node.js pour Visual Studio 1.1 (RC)

Mise à jour d’octobre 2021 :

Mettre à jour en toute sécurité Node.js Visual Studio Tools pour Apache Cordova

Transformez Visual Studio en environnement de développement puissant Node.js.

  • Gratuit et open source
  • Complétion de code intelligente
  • Débogage et profilage avancés
  • Intégration avec d’autres fonctionnalités visual Studio et outils tiers
  • Node.js, io.js, JavaScript, TypeScript, HTML, CSS et prise en charge JSON

En savoir plus sur Node.js Tools pour Visual Studio.

Outils de développement Office pour Visual Studio 2015

Développement avec les API Office 365

  • Office 365 API Tools utilise les nouveaux services connectés dans Visual Studio 2015 pour fournir une expérience guidée aux développeurs pour intégrer les API Office 365 dans le projet.
  • Vous pouvez maintenant laisser Office 365 API Tools configurer automatiquement l’authentification unique dans vos applications web ASP.NET MVC en sélectionnant simplement « Configurer l’authentification unique à l’aide d’Azure AD » dans l’Assistant Services connectés.
  • Lorsque vous intégrez des API Office 365 à votre projet, Office 365 API Tools télécharge et installe désormais la dernière version des packages NuGet de la bibliothèque cliente d’API Office 365 à partir de NuGet.org.

Développement de compléments SharePoint

  • Lors de la création d’un complément SharePoint, les outils définissent la version cible de SharePoint comme étant la version du site web SharePoint de débogage que vous spécifiez dans l’Assistant de création de projet. L’Assistant affiche la version sharePoint sélectionnée et vous permet de remplacer cette valeur par défaut. Vous pouvez modifier la version cible après avoir créé le projet à l’aide de l’onglet SharePoint du Concepteur de projets.
  • Les outils installent désormais un package NuGet contenant le modèle objet côté client SharePoint Online (SPO-CSOM) dans votre projet, lorsque la version cible est SharePoint Online. Les outils ajoutent des références aux assemblys CSOM SharePoint Online au projet. Les outils ne s’appuient plus sur le Kit de développement logiciel (SDK) du composant client SharePoint Online qui est publié dans le Centre de téléchargement Microsoft. Cela facilite la mise à niveau des assemblys CSOM à l’avenir à l’aide du Gestionnaire de package NuGet dans Visual Studio.
  • Vous pouvez désormais utiliser des chaînes de connexion SAS ou ACS pour Microsoft Azure Service Bus pour déboguer et résoudre les problèmes d’un récepteur d’événements distants dans les compléments SharePoint.

Développement de compléments Office

  • Dans cette version, les outils créent toujours de nouvelles applications pour Office avec un manifeste v1.1 au lieu de la version 1.0, afin que vos applications puissent prendre en charge les nouvelles fonctionnalités dans les applications web Office et les clients Office 2013. Pour les applications existantes pour Office qui utilisent un manifeste v1.0, les outils mettez à niveau le manifeste vers la version 1.1 quand une nouvelle fonctionnalité est utilisée qui nécessite un manifeste v1.1.

En savoir plus sur les outils de développement Office pour Visual Studio.

Extension GitHub pour Visual Studio 2015

Le moyen le plus simple de se connecter à vos référentiels GitHub dans Visual Studio.

  • Installation facile
  • Se connecter à GitHub dans Visual Studio
  • Créer des dépôts
  • Cloner des référentiels en un clic
  • Publier votre travail local sur GitHub

En savoir plus sur l’extension GitHub pour Visual Studio.

Test de charge basé sur le cloud

Tests de charge basés sur le cloud à partir de centres de données Azure dans le monde entier

La configuration de l’infrastructure nécessaire pour exécuter des tests de charge s’est simplement facilitée : maintenant, vous pouvez effectuer des tests de charge basés sur le cloud à partir de l’un des centres de données Azure pris en charge dans le monde entier.

Le test de charge basé sur le cloud prend désormais en charge les diagnostics avancés de l’agent

Pour cette version, nous avons ajouté la possibilité d’effectuer des diagnostics d’agent de test pour un test de charge basé sur le cloud.

Le débogage dans le cloud est difficile, car les machines ne sont pas accessibles, et par conséquent, la collecte des journaux ou d’autres informations depuis les agents de test n'est parfois pas possible. Néanmoins, avec des diagnostics d’agent avancés, vous pouvez collecter des fichiers de journal à partir des agents de test et les associer aux résultats des tests de charge dans le cloud.