Visual Studio IconNotes de publication de Visual Studio 2015


Termes du contrat de licence | Blog Visual Studio | Developer Community

Remarque

Il ne s’agit pas de la dernière version de Visual Studio. Pour télécharger la dernière version, accédez aux notes de publication actuelles de Visual Studio 2019.


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.


Release Notes IconVisual Studio 2015

Version 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

Désormais, il est facile de partager, réutiliser, générer, déployer et déboguer tout, mais le code le plus spécifique à la plateforme sur plusieurs plateformes d’application, dans une seule solution dans 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 la technologie IntelliSense spécifique à la plateforme pour explorer les API et générer le code approprié pour des cibles Android ou Windows.

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

  • Déployez votre code sur des appareils Android attachés, ou utilisez l'émulateur Android (performant) de Microsoft pour effectuer des tests.

  • Définissez des points d'arrêt, espionnez les variables, consultez 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 et essentiel pour une expérience de débogage de modification->build>.)
    Utilisez Logcat pour effectuer les opérations suivantes :

    • Recherchez des messages de journal spécifiques à l’aide de la barre de recherche.
    • Utilisez Basculez le défilement automatique pour afficher facilement les messages de journal à venir.
    • Effacez les messages de sortie de journal précédents.
    • Choisissez entre différents niveaux de journal.
  • É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 cours, alors gardez l'œil ouvert pour en savoir plus bientôt. Vous pouvez nous envoyer des commentaires à l’aide de Connecter pour les bogues. En outre, vous pouvez nous envoyer vos idées rapides à l’aide deSend-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 des fichiers pour Android, qui permet d’utiliser un système de build 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 Outils pour Apache Cordova facilite la création, 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 fournisseurs de solutions cloud précédents sont désormais disponibles dans Visual Studio 2015 RC, notamment les améliorations suivantes :

  • Mise à jour sur sauvegarder pour Ripple - pas besoin de régénérer !
  • 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 config.xml amélioré
  • Prise en charge d’Apache Cordova 4.0.0.

Nous avons écouté vos commentaires et élargi le nombre d’appareils que 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é.

Debugging with Visual Studio Tools for Apache Cordova

Nous avons ajouté l’interopérabilité CLIpour 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 Apache Cordova CLI 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 Outils pour Apache Cordova. L’émulateur vous permet de basculer entre différents émulateurs de plateforme sans conflits Hyper-V. 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 niveau 19) et 5.0 (Lollipop, API niveau 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. Le glissement et la suppression d’un zip flashable sur l’émulateur le déballent automatiquement et l’installent.
  • 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 d’émulateur s’affiche dans le menu Démarrer afin de pouvoir le démarrer et l’utiliser à partir de n’importe quelle chaîne d’outils de développement.

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

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

Visual Studio Tools pour le développement d’applications Windows universelles est intégré à 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 de développement logiciel (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 comprennent également une prise en charge préliminaire pour certaines fonctionnalités prévues dans la version C++17 standard.

En outre, plus de 500 bogues du compilateur ont été corrigés, y compris de nombreux clients soumis par le biais de Microsoft Developer Community, merci !

Fonctionnalités de langage

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

  • Fonctions pouvant être reprises (resume/await) Les mots clés resume et await offrent une prise en charge au niveau du langage pour la programmation asynchrone et permettent l’utilisation de fonctions pouvant être reprises. Cette fonctionnalité est uniquement disponible pour les cibles x64 pour le moment. Proposé pour C++17 [N3858]
  • Expressions lambda génériques (polymorphiques) Les types de paramètres des fonctions lambda peuvent désormais être spécifiés avec la fonction auto. Le compilateur interprète la fonction auto dans ce contexte de la manière suivante : l’opérateur d’appel de la fonction de clôture est un modèle de fonction membre et chaque utilisation de la fonction auto dans une expression lambda correspond à un paramètre de type modèle distinct. C++14
  • Expressions de capture lambda généralisées Également appelées init-capture. Le résultat d'une expression arbitraire peut désormais être attribué à une variable dans la clause capture d'une expression lambda. Les types move-only peuvent ainsi être capturés par valeur, et l'expression lambda peut définir des membres de données arbitraires dans son objet clôture. C++14
  • Les littéraux binaires sont désormais pris en charge. Ces littéraux commencent par 0B ou 0b et sont composés uniquement des chiffres 0 et 1. C++14
  • Déduction de type Return Le type Return des fonctions normales peut désormais être déduit, y compris pour les fonctions contenant plusieurs instructions Return et les fonctions récursives. Ces définitions de fonction sont précédées du mot clé automatique comme dans les définitions de fonction avec un type de retour de fin, mais le type de retour de fin est omis. C++14
  • decltype(auto) La déduction de type à l’aide du mot clé auto pour initialiser les expressions supprime les qualificateurs ref et les qualificateurs cv de niveau supérieur de l’expression. La fonction decltype(auto) conserve ces qualificateurs ref et cv, et peut désormais être utilisée partout où la fonction auto peut être utilisée, sauf pour introduire une fonction avec un type déduit ou Return final. C++14
  • Génération implicite de fonctions Déplacer un membre spécial Les constructeurs de déplacement et les opérateurs d’assignation de déplacement sont désormais générés de manière implicite lorsque les conditions le permettent. Le compilateur est alors en totale conformité avec les références rvalue C++11. C++11
  • Héritage des constructeursUne classe dérivée peut désormais spécifier qu’elle héritera des constructeurs de sa classe de base (Base) en incluant l’instruction à l’aide de l’expression Base::Base; dans sa définition. Une classe dérivée peut seulement hériter de l'ensemble des constructeurs de sa classe de base. Il n'existe aucun moyen d'hériter uniquement de certains constructeurs de base. Une classe dérivée ne peut pas hériter de plusieurs classes de base si elle possède des constructeurs ayant une signature identique. Elle ne peut pas non plus définir un constructeur dont la signature est identique à celle de l'un de ses constructeurs hérités. C++11
  • Requête Alignement et contrôle L’alignement d’une variable peut faire l’objet d’une requête à l’aide de l’opérateur alignof() et peut être 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. Le spécificateur alignas() contrôle l'alignement d'une variable. Il comporte une constante ou un type, où le type constitue un raccourci pour alignas (alignof(type)). C++11
  • Élément sizeof étendu La taille d’une variable de membre de classe ou structure peut désormais être déterminée sans instance de la classe ou structure à l’aide de sizeof().(C++11). C++11
  • Prise en charge partielle de constexpr pour C++11 constexpr. C++11 (partiel)
  • Littéraux définis par l’utilisateur (UDL) Des suffixes explicites peuvent désormais être ajoutés à des littéraux numériques et de chaîne pour leur conférer une sémantique particulière. Le compilateur interprète les littéraux contenant un suffixe comme des appels à l'opérateur UDL approprié. C++11
  • Statiques « magic » thread-safe Les variables locales statiques sont désormais initialisées de manière thread-safe, ce qui évite d’avoir recours à une synchronisation manuelle. Seule l’initialisation est thread-safe. L’utilisation de variables locales statiques par plusieurs threads doit toujours faire l’objet d’une synchronisation manuelle. La fonctionnalité de statiques thread-safe peut être désactivée à l’aide de l’indicateur /Zc:threadSafeInit pour éviter de créer une dépendance au CRT. C++11
  • Stockage thread-local Le mot clé thread_local vous permet de déclarer qu'un objet indépendant doit être créé pour chaque thread. C++11
  • L'opérateur noexnoexceptcept peut désormais être utilisé pour voir si une expression lève une exception. Le spécificateur noexcept peut désormais être utilisé pour spécifier qu'une fonction ne lève pas d'exception. C++11
  • Espaces de noms inline Un espace de noms peut désormais être défini comme inlined pour hausser 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 continuant à mettre à disposition les versions d'API précédentes de manière explicite. C++11
  • Unions non restreintes 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ère et de chaîne en UTF-8, UTF-16 et UTF-32 sont désormais pris en charge, et les nouveaux types de caractères char16_t et char32_t ont été introduits. Les littéraux de caractères peuvent comporter un préfixe u8 (UTF-8), u (UTF-16) ou U (UTF-32), par exemple U'a'. Les littéraux de chaînes quant à eux peuvent en plus comporter un préfixe de chaîne brute équivalent 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, par exemple, u'\u00EF', u8"\u00EF is i" et u"\U000000ef is I". C++11
  • func L'identificateur prédéfini func est défini de manière implicite comme une chaîne contenant le nom non qualifié et sans ornement de la fonction englobante. C++11
  • __restrict __L’élément restrict peut désormais être appliqué à des références.
  • Mot clé Typename. Les utilisateurs peuvent désormais écrire typename au lieu de la classe dans un paramètre de modèle de modèle. C++14
  • L’opérateur globals void delete(void *, std::size_t) noexcept et void operator delete[](void *, std::size_t) noexcept peut maintenant être surchargé. C++14
  • Les séparateurs de chiffres Maintenant, vous pouvez intercaler des littéraux numériques avec des guillemets simples pour les rendre plus lisibles. Par exemple, int x = 1'000'000 ;. C++14
  • Les noms de caractères universels dans les littéraux Vous pouvez désormais é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 [[déconseillé]]. Les attributs sont désormais autorisés sur les espaces de noms et les énumérateurs. C++11, C++14 et C++17
  • Les littéraux définis par l’utilisateur (UDLs) Les littéraux numériques et de chaînes peuvent désormais avoir des suffixes significatifs qui effectuent des calculs personnalisés sur les données littérales. C++11
  • Attributs de classement 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 des listes d'initialisation entre accolades (braced-init-lists) pour les initialisations de copy-list entraînent maintenant un std::initializer_list ou sont mal formés autrement. C++17

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

  • Littéraux définis par l'utilisateur (UDL) pour les types de bibliothèque standard Les en-têtes <chrono>, <string>, et <complex> fournissent désormais des opérateurs UDL pour vous aider. 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 Null Forward La bibliothèque standard autorise désormais la création d’itérateurs qui ne font pas référence à une instance de conteneur. Ces itérateurs sont initialisés par une valeur et sont égaux pour un type de conteneur particulier. La comparaison d'un itérateur initialisé par valeur à un autre qui ne l'est pas n'est pas définie. C++14
  • quoted() La bibliothèque standard prend désormais en charge la fonction quoted() afin de simplifier l’utilisation d’E/S et de valeurs de chaîne entre guillemets. Avec la fonction quoted(), une chaîne entière entre guillemets est traitée comme une seule entité (les chaînes de caractères sans espaces étant dans des flux d'E/S). De plus, les séquences d'échappement sont conservées lors des opérations d'E/S. C++14
  • Recherche associative hétérogène La bibliothèque standard prend désormais en charge les fonctions de recherche hétérogène pour les conteneurs associatifs. Ces fonctions permettent d'effectuer des recherches par type autre que key_type tant que le type est comparable avec 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 afin de faciliter l’utilisation de packages de paramètres et de simplifier certains modèles de programmation de modèles. C++14
  • exchange() La bibliothèque standard prend désormais en charge la fonction utilitaire std::exchange() pour attribuer une nouvelle valeur à un objet et renvoyer son ancienne valeur. Pour les types complexes, la fonction exchange() évite d'avoir à copier l'ancienne valeur lorsqu'un constructeur de déplacement est disponible et à copier la nouvelle valeur si elle est temporaire ou déplacée. De plus, elle accepte n'importe quel type comme nouvelle valeur, tirant parti de tout opérateur d'assignation de conversion. C++14
  • Fonctions equal(), is_permutation() et mismatch() à deux plages La bibliothèque standard prend désormais en charge les surcharges pour les éléments 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 de modèle get<T>() afin que les éléments tuple puissent être traités par type. Si un élément tuple contient au moins deux éléments du même type <T>(), il ne peut pas être traité par ce type, cependant, les autres éléments dotés d’un type unique peuvent ê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> qui est un alias de typename tuple_element<T>::type. À l'image des autres alias de type de métafonction dans <type_traits>, il offre un certain confort aux programmeurs de modèles. C++14
  • Spécification technique « V3 » du système de fichiers 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 de l’allocateur minimal. Les principales corrections concernent 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 plus propre en appelant quick_exit() et en exécutant du code propre-up dans at_quick_exit(). C++11
  • void_t prend en charge la métaprogrammation de modèle avancé. 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 version d’évaluation (qui peuvent être supérieures à 1). C++17
  • reference_wrapper est désormais facilement copié. C++17
  • map/unordered_map prend désormais en charge insert_or_assign()/try_emplace(). C++17
  • Les fonctions non membres size(), empty()et data() sont désormais fournies. C++17
  • Les machinesauto_ptr, random_shuffle() et old <functional> ont été déconseillées en C++11/14 et supprimées en C++17. Visual Studio 2015 les fournit par défaut, mais la définition de _HAS_AUTO_PTR_ETC à 0 supprime leurs définitions à l’échelle du projet.
  • Les affectationsunique_ptr 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

Builds Visual C++ plus rapides

  • 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é à l’aide du commutateur de lien /LTCG:incremental.
  • Liens incrémentiels pour les bibliothèques statiques Les modifications apportées aux bibliothèques statiques auxquelles d’autres modules de code font référence sont désormais liées de façon incrémentielle.
  • /Debug:FastLink Réduit considérablement le temps de liaison grâce à de nouvelles techniques de création PDB.
  • Des améliorations algorithmiques ont été apportées à l'éditeur de liens dans le but de réduire le temps de liaison.
  • Grâce aux améliorations apportées, la génération de code lourd de modèle sera simplifiée.
  • Instrumentation rapide Optimisation guidée par profil (PGO) Un nouveau mode d’instrumentation léger pour les jeux et les systèmes en temps réel a été introduit dans l’optimisation guidée par profil. En plus d’autres nouvelles fonctionnalités accessibles via les commutateurs /GENPROFILE et /FASTGETPROFILE de l’éditeur de liens, vous pouvez désormais équilibrer la qualité du code et la vitesse de génération lors de l’utilisation de l’optimisation guidée par profil.
  • Réduction de la taille des fichiers objets Les améliorations apportées au compilateur et à la bibliothèque standard C++ ont permis de réduire de manière significative la taille des fichiers objets et des bibliothèques statiques. Ces améliorations n'affectent pas la taille des DLL (dynamically-linked libraries) ou des fichiers exécutables (exe), 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) et la vectorisation lors de la compilation sous /O1 (Réduire la taille), et amélioré à la qualité générale du code de vecteur, notamment la prise en charge du STL parallèle, de la vectorisation de boucles « more range-based for », et de la boucle #pragma loop(ivdep).
  • Améliorations apportées à l’optimisation scalaire. Nous avons ajouté une meilleure génération de code pour les opérations de test binaire, la fusion et l’optimisation des flux de contrôle (basculement en boucle) et d’autres optimisations scalaires (par exemple, une meilleure génération de code pour std::min et std::max).
  • Optimisation guidée par 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 de la possibilité de réutiliser les décisions en matière d’incorporation, de vitesse et de disposition.
  • Protection de flux de contrôle (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.

Remarque

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é les fonctionnalités suivantes à la prise en charge de la refactorisation pour C++ :

  • Renommer un symbole Modifie toutes les occurrences d’un symbole.
  • Fonction d’extraction Déplace le code sélectionné au sein de sa fonction. Cette refactorisation est disponible en tant qu’extension de Visual Studio dans la galerie Visual Studio.
  • Implémenter des fonctions virtuelles pures Génère des définitions de fonction pour les fonctions virtuelles pures héritées par une classe ou structure. Les héritages multiples et récursifs sont pris en charge. Activez cette refactorisation à partir de la définition de classe qui hérite pour implémenter toutes les fonctions virtuelles pures héritées, ou à partir d'un spécificateur de classe de base pour implémenter les fonctions virtuelles pures de la classe de base concernée uniquement.
  • Créer une déclaration ou une définition Génère une déclaration à partir d’une définition existante, ou 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 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 littéral de chaîne brute. Les séquences d'échappement prises en charge sont \n (nouvelle ligne), \t (tabulation), \' (apostrophe), \ "(guillemets doubles) et \? (point d’interrogation). Activez cette fonctionnalité en cliquant avec le bouton droit à l'intérieur d'une chaîne.

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

  • La vitesse de l'analyse de solution a été améliorée, notamment pour les solutions volumineuses.
  • Les opérations telles que Go To Definition ne sont plus bloquées lors de l'analyse de solution, sauf lors de la première analyse suivant la première ouverture d'une solution.

Amélioration de la lisibilité IntelliSense : Pour faciliter la lecture des instanciations de modèle et typedefs complexes, l’aide et les informations express relatives aux paramètres ont été simplifiées.

Visualisations du débogueur en C++

Ajoutez des visualisations de débogueur Natvis à votre projet Visual Studio pour une intégration du contrôle source et une gestion simplifiées. Les fichiers Natvis ajoutés à un projet ont une priorité d’évaluation supérieure à celle des 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

  • Des sessions de diagnostic de mémoire (Alt+F2) vous permettent de contrôler en direct l’utilisation de mémoire vive par votre application native.
  • Des instantanés de mémoire capturent une image momentanée du contenu du tas de votre application. Vous pouvez comparer deux instantanés de mémoire pour examiner les différences d'état du tas. Vous pouvez afficher les types d’objets, les valeurs d’instance et les piles d’appel d’allocation pour chaque instance une fois l’application arrêtée.

Amélioration de la détection de blocage et de la reprise lors de l’appel de fonctions C++ à partir des fenêtres Espion et Exécution.

Amélioration des diagnostics 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 sont désormais plus clairs.

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

Prise en charge améliorée pour le code optimisé de débogage : le code de débogage comportant les indicateurs /Zi, /Zo ou /Z7 est activé.

Visual C++ Graphics Diagnostics

Graphics Diagnostics a été amélioré par le biais des fonctionnalités suivantes :

  • Capture consécutive Capturez jusqu’à 30 images consécutives en une fois.
  • Capture programmée Démarrez une capture d’image par programmation. La capture programmée permet notamment de déboguer des nuanceurs de calcul dans les programmes qui n'appellent jamais Présent, 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 d’événements graphiques améliorée Une nouvelle vue Appels de dessin permet d’afficher les événements capturés ainsi que leur état dans une hiérarchie organisée par appels de dessin. Vous pouvez développer les appels de dessin pour afficher l’état de l’appareil au moment de l’appel, et développer encore chaque état pour afficher les événements qui définissent leurs valeurs.
  • Prise en charge pour Windows Phone 8.1 Graphics Diagnostics prend désormais en charge le débogage d’applications Windows Phone 8.1 dans l’émulateur Windows Phone ou sur le Windows Phone attaché.
  • Analyse des frames graphiques Cet outil collecte les mesures de performances sur les images capturées. Il effectue également un ensemble d’expériences prédéfinies qui fournissent des informations sur l’impact de l’application de diverses techniques sur les performances. L'analyse de frames collecte également les compteurs de performances à partir du matériel.
  • Interface utilisateur dédiée Graphics Analysis La nouvelle fenêtre Visual Studio Graphics Analyzer est un espace de travail dédié pour l’analyse d’images graphiques.
  • Modification et application de nuanceur Examinez l’impact des modifications apportées au code du nuanceur dans un journal capturé sans avoir à réexécuter l’application.
  • Configurez les options de capture sous Outils->Options->Graphics Diagnostics.
  • Outil de ligne de commande pour la capture et la lecture d'images.
  • Prise en charge de Graphics Diagnostics pour DirectX12. L’outil Graphics Diagnostics de Visual Studio prend désormais en charge les problèmes de rendu du débogage dans les applications DirectX 12.

Nouvel outil d'utilisation du GPU

L'outil d'utilisation du GPU dans Visual Studio 2015 permet de comprendre l'utilisation de GPU par les applications DirectX. Les graphiques concernant la durée de frame, la fréquence d'images et l'utilisation du GPU sont disponibles pendant l'exécution des applications. De plus, en recueillant et en analysant des données d'utilisation du GPU détaillées, cet outil fournit des informations sur la durée d'exécution du processeur et du GPU pour des événements DirectX individuels. Par conséquent, il peut être utile pour déterminer si le goulot d'étranglement de performances est le processeur ou le GPU.

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 case activée l’option « Supprimer l’optimisation JIT sur le chargement de module (géré uniquement) ».

C# et Visual Basic

Fonctionnalités de langage

Dans cette version, plusieurs nouvelles fonctionnalités du langage C# et Visual Basic permettent de réduire la réutilisation et l’encombrement dans le code quotidien, d’encourager un style de programmation plus déclaratif et de rapprocher les deux langages. Par exemple, il existe des améliorations syntactiques pour les déclarations de type et de membre et pour la vérification null. En outre, les variables locales peuvent être déclarées à l’intérieur d’expressions et await peuvent être utilisées dans les blocs catch et enfin. 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 getter uniquement, etc., peuvent désormais avoir une seule expression en tant que corps, tout comme les 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 enfin, obviant 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>.

Light bulb shows suggestions

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

Introduce local light bulb

Et un exemple de variable temporaire inlined :

Inline temporary light bulb

  • 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.

Improvements to inline renaming

  • Vous pouvez obtenir des correctifs automatiques et d’analyse du code en direct à mesure que vous tapez, avec des conseils spécifiques en matière de code pour les plateformes 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 tirez dans une règle en direct donnée, il déplace la règle FxCop post-build équivalente, donc vous n’obtenez pas de correspondances en double. Voici un exemple de Code Analysis pour le package Azure .

An example from the Code Analysis for Azure package

  • 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 de langage et d’exécution qui remplissent les lacunes, rendent plus d’éléments « justes » 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 sont automatiquement converties en valeurs « ref » basées sur le tas par le compilateur si 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<'t> peuvent désormais être entre guillemets automatiquement transparents, en passant à 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 #if directives de préprocesseur.
  • 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 définissables 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>] peuvent 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 de l’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 à 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 définissables à l’aidede Ctrl+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’aidede Ctrl+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 plateforme Windows universelle, les améliorations apportées au chargeur d’assembly).

Voici un échantillon des modifications :

  • Les méthodes de liaison de données ASP.NET retournent désormais des tâches.
  • ADO .NET prend désormais en charge la fonctionnalité Always Encrypted disponible dans SQL Server 2016 version préliminaire CTP2 (Community Technology Preview 2).
  • Windows Presentation Foundation (WPF) offre une meilleure prise en charge de la disposition tactile et améliorée de 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 compatibles SIMD, ainsi que la prise en charge des commutateurs de compatibilité qui permettent aux développeurs de fournir un mécanisme d’annulation uniforme 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 qu’Azure Stockage Table 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 Qu’est-ce qu’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 (tous langages)

Rechercher 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 (appui et glisser sur l’aire 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 Appuyer deux fois 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é-affecté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 Explorateur de solutions lorsque votre appareil s’exécute à une mise à l’échelle supérieure à 100 %.

Améliorations apportées à l’interface utilisateur

  • Les menus apparaissent désormais dans le style Casse de titre au lieu du style MAJ.
  • Les valeurs de liste déroulante Configuration et plateforme de la boîte de dialogue Page de propriétés 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 rouverte.

Commentaires sur Visual Studio

Nous avons amélioré l’expérience Envoyer un smiley mécontent avec de meilleurs outils 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 Outils d’extensibilité de Visual Studio 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 assemblys publiés par l’extensibilité Visual Studio.

En savoir plus sur l’extensibilité Visual Studio.

Blend

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 des instructions vers la source.
  • Vous pouvez également afficher et modifier des contrôles et des ressources XAML dans le contexte dans lequel ils sont utilisés avec Faire un Peek de la Définition 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 à utiliser pour le débogage XAML, ce qui vous permet d’inspecter l’arborescence visuelle dynamique 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 d’animation par la fonctionnalité Disposition synchronisée plus puissante, que vous pouvez utiliser pour créer de nombreuses dispositions de fenêtre différentes et les parcourir sur les ordinateurs.
  • Pour les utilisateurs avancés 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 accessibles universellement, Blend est désormais un lecteur plein écran et accessible en contraste élevé.

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 managée et Continuer à attacher

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

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

Configuration de point d’arrêt

La nouvelle fenêtre Paramètres 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 l’annulation (Ctrl+Z) pour restaurer les points d’arrêt supprimés.

Expressions lambda dans Débogueur Windows

Vous pouvez désormais utiliser des expressions lambda dans les fenêtres Espion, Exécution et autres débogueur en C# et Visual Basic.

Conseils sur les performances

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 Temps d’images, Fréquence d'images et Utilisation du GPU sont disponibles lorsque les applications s’exécutent en direct. De plus, en recueillant et en analysant des données d'utilisation du GPU détaillées, cet outil fournit des informations sur la durée d'exécution du processeur et du GPU pour des événements DirectX individuels. Par conséquent, il peut être utile pour déterminer si le goulot d'étranglement de performances est le processeur ou le GPU.

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 Espion et Exécution. 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 normal de débogage. ce qui accélère le démarrage pour le débogage.

Outils de débogage d’interface utilisateur pour XAML

Nous avons ajouté deux nouveaux outils, l’Arborescence d'éléments visuels en direct et l’Explorateur de propriétés en direct 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 d’éléments visuels en direct. À présent, vous pouvez afficher l’arborescence d'éléments visuels complète d’une application en cours d’exécution pendant une session de débogage. L’arborescence d'éléments visuels en direct 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 d'éléments visuels en direct pour sélectionner des éléments dans une application en cours d’exécution pour l’inspection 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.
  • Explorateur de propriété en direct. 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.)

UI Debugging Tools for XAML, full screen

Paramètres d’exception

Vous pouvez configurer les paramètres d’exception du débogueur à l’aide de la fenêtre 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.

Exceptions Settings - Break when Thrown window

Outil de 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 cadres d’interface utilisateur et dans les réseaux de maintenance et les demandes de disque. L’outil le fait dans le contexte de scénarios tels que le chargement d’application et le chargement de page.

The new Timeline tool

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 à la fois sous la forme d’un 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 capture instantanées détaillées 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 PerfTip temps processeur 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 managé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 du débogage -> Attacher au processus
  • Il apparaît lors du débogage de projets ASP.NET en cours d’exécution sur IIS
  • Il apparaît lors du débogage de projets ASP.NET 5
  • Il apparaît lors du débogage d’une application s’exécutant sur un appareil Bureau Windows distant
  • Les captures instantanées de mémoire peuvent être consultées 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 :

Uniquement mon code. 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 « uniquement mon code »

Outils 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 au 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éboguer, 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 Capture instantanée 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 captures instantanées avec l’outil Utilisation de la mémoire.

ASP.NET

ASP.NET 4.6

Liaison de données ASP.NET prend en charge les méthodes de retour de tâche

Les méthodes de liaison de données ASP.NET qui étaient précédemment retournées par la tâche n’ont pas été prises en charge et ont levé une exception au moment de l’exécution si elle est configurée. 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 .NET Compiler Platform (« 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 pour 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.

Infrastructures et contrôles mis à jour pour prendre en charge Entity Framework 6

Nous avons mis à jour Dynamic Data Framework, Entity Data Source Control et 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 Connecter 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 Version ASP.NET MVC 5.2.3, Web Pages 3.2.3 et API web 5.2.3.

ASP.NET Web API OData 5.3.1

Nous avons mis à jour les modèles OData de l’API web pour utiliser ASP.NET Web OData 5.3.1. Pour plus d’informations, consultez Nouveautés de ASP.NET API web 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 de 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 le menu contextuel Un-minify 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 brouillon de schéma JSON 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, une collection code source ouvert 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 de l’éditeur JSON

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. Ceci est idéal pour Angular, Handlebars, Mustache et d’autres syntaxes de modèle utilisant des doubles accolades.
  • 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érentes infrastructures ont de nombreuses balises personnalisées. Il n'y aura plus de gribouillis sous les éléments inconnus.
  • IntelliSense de base pour les composants web. L’éditeur HTML a IntelliSense pour <link rel="import » /> qui fait partie de la norme Composants web.
  • Info-bulles d’élément HTML. Les info-bulles sont fournies pour les éléments HTML dans l’éditeur.
  • Prise en charge de #region. L’éditeur HTML prend désormais en charge le pliage 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 n’affiche plus d’avertissement 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. Obtenez à la fois IntelliSense, la mise en forme et 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 maigre et composable pour la création d’applications web modernes pour les serveurs cloud et locaux. Microsoft System Center ASP.NET 2.0 2007 offre les fonctionnalités suivantes :

  • Nouveau pipeline de demande légère
  • Exécuter sur IIS ou auto-hébergé 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, même le runtime 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é
  • Tous les codes 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 des applications ASP.NET 5 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 de sites web ASP.NET 5 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 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 Exécuteur de tâches.
  • 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 infrastructures, notamment .NET Core.
  • Combinaison d’IntelliSense lors de la génération de plusieurs infrastructures 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 pour perdre des assemblys à 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 les projets ASP.NET 5.
  • Utilisez l’Explorateur de serveurs pour modifier à distance les fichiers sous approot pour les projets hébergés ASP.NET 5 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.

API Apps

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 API Apps 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 prête à l’emploi pour Swagger généré dynamiquement à partir de API Web ASP.NET.

Outils WebJobs

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 package 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é par 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/.)
  • Littéral d’objet IntelliSense. 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évelopper/réduire. Vous pouvez développer et réduire d’autres sections de votre code JavaScript, notamment des commentaire de ligne multilignes, des tableaux multilignes et tous les blocs à plusieurs lignes.
  • Prise en charge de la liste des 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.

TypeScript

Visual Studio 2015 inclut la version 1.5 des outils TypeScript. Cette version ajoute un support riche pour ECMAScript 6, y compris les modules, la déstructuration, for..of, spread, les symboles, les propriétés calculées, let/const pour ES3/ES5, et les modèles de chaînes étiquetées pour ES3/ES5. Outre la prise en charge de ES6, TypeScript 1.5 ajoute également la prise en charge de la proposition de décorateur ES7 expérimentale, des sorties de module UMD et 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 dans le code, une entrée de test est générée pour exécuter cette instruction. Une analyse de cas est effectuée pour chaque branche conditionnelle dans le code. Par exemple,

Toutes les opérations qui peuvent lever une exception, telles que les instructions et assertions if, sont analysées. Cette analyse vous permet de générer des données de test en vue d'établir un test unitaire paramétrable pour chacune de vos méthodes et de bénéficier d'une couverture de code maximale. Vous pouvez ensuite mettre à profit vos connaissances du domaine pour améliorer les 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.

Application Insights

Outre 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 Services connectés Visual Studio. (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 qui ont ajouté Application Insights dans Visual Studio 2013 Update 3 ou dans Visual Studio 2013 Update 4.
  • Développeurs ASP.NET 5, développeurs d’application universelle Windows 10 et développeurs d’application universelle Windows 8.1 peuvent ajouter Application Insights à leurs projets directement à partir de Visual Studio.
  • Les développeurs Windows 10 Application universelle n’ont pas besoin d’être connectés à Azure pour ajouter le Kit de développement logiciel (SDK) Application Insights ; 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 » de Application Insights directement à partir du dossier Référence de service du projet. Cliquez simplement sur le dossier Prise en main.

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

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’archivage jusqu’au déploiement sans avoir à installer et à gérer un serveur d’administration des versions locale à l’aide du 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 au Release Management pour Visual Studio 2013 existant, mais offre des performances améliorées dans les domaines suivants :

  • Page de lancement du client de gestion des mises en production qui affiche une vue d’ensemble du processus de mise en production et des notifications.
  • Rendu et interactivité dans d’autres pages clientes de gestion des mises en production, 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.

Gestion de version Git

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

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.

Git branches

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 fixe à la branche actuellement extraite.
  • Vous pouvez maintenant rebaser à partir de 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 distants Git dans Team Explorer. Dans le référentiel Paramètres, il existe une nouvelle section Distants qui affiche les distances actuellement configurées dans lesquelles 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 validations ont divergé dans l’historique.

Detailed view of history

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 rebasé une branche locale.

Rebaser dans Team Explorer

Nous prenons désormais en charge le rebasement dans Team Explorer. Pour lancer une nouvelle base, cliquez sur le menu volant de Rebaser 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 Fichier>Nouveau projet, 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 était utilisé pour prendre 12 étapes prend maintenant 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é.

Publish to Visual Studio Online dialog box

Connexion 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éduirons 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. Vous pouvez rechercher les références de code, les changements dans votre code, les éléments TFS associés et les tests unitaires, le tout sans quitter le code des yeux.

Dans cette version, nous avons remplacé les indicateurs CodeLens « Auteurs » par les nouveaux indicateurs d’historique « Chronologie 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# :

The Team Activity Timeline indicator for a C# file

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

The Authors and Changes indicator for a C# file

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 :

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

Architecture, conception et modélisation

Cartes de code et graphiques de dépendance

Lorsque vous souhaitez comprendre des dépendances spécifiques dans votre code, visualisez-les en créant cartes de code. Vous pouvez ensuite parcourir ces relations à l’aide de la carte qui apparaît en regard de votre code. Les cartes de code peuvent aussi vous aider à savoir où vous vous trouvez dans le code pendant que vous travaillez ou déboguez le code. Vous passerez donc moins de temps à lire le code, tout en approfondissant vos connaissances sur sa conception.

Dans la mise en production finale (RTM), nous avons simplifié l’utilisation des liens et des menus contextuels pour les éléments de code en regroupant les commandes dans des sections en rapport avec la sélection, la modification, la gestion des groupes et la modification de la disposition du contenu des groupes. 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.

New groupings in code maps

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 développez un assembly, un espace de noms ou un type sur une carte de code.

Select multiple groups and apply one layout in a Code Map

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

  • Obtenir 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 dossier de solution, ce qui vous permet de les voir dans le contexte et de tirer parti de l'effort que vous avez fourni en termes de structuration de la solution. Vous voyez immédiatement les projets et les références d'assemblys, puis les types de liens apparaissent. En outre, les assemblys externes à votre solution sont regroupés de manière plus compacte.
  • Génération plus rapide de cartes de code réactives. Les opérations de glisser-déplacer produisent un résultat immédiat et les liens entre les nœuds sont créés beaucoup plus rapidement, sans affecter les opérations ultérieures initiées par l'utilisateur, 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 cartes de code sans générer la solution, tous les cas d’angle, tels que les assemblys non intégrés, sont maintenant traités.
  • Filtrage des groupes et des nœuds d'éléments de code. Vous pouvez rapidement mettre en ordre vos cartes en affichant ou en masquant des éléments de code en fonction de leur catégorie, ainsi qu'en regroupant les éléments de code par dossier de solution, assembly, espace de noms, dossier de projet et type.
  • Filtrage des 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.
  • L'exploration des liens de dépendance tiennent compte des filtres. Vous obtenez un diagramme clair et utile qui, lorsqu'il est développé, vous permet de comprendre les contributions associées à 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éation de diagrammes à partir de l'Affichage de classes et de l'Explorateur d'objets. Glissez-déplacez des fichiers et des assemblys sur 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 ont un style différent et ils 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 code sont ajoutés avec leur contexte. Étant donné que les diagrammes sont maintenant affichés avec leur contexte (jusqu'au dossier d'assembly et de solution sur lequel vous pouvez appliquer un filtre, si nécessaire), vous obtenez des diagrammes plus utiles quand vous faites glisser-déplacer des éléments de code à partir de l'Explorateur de solutions, de l'Affichage de classes ou de l'Explorateur d'objets, ou lors de la sélection d'éléments dans l'Explorateur de solutions et du choix de l'option Afficher sur la carte de code.
  • Simplification des liens de dépendance externe. 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 l'identification des dépendances externes dans votre carte de code.

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

  • Diagrammes de couche. mettez à jour ces diagrammes dans l'Affichage de classes et l'Explorateur d'objets. Pour répondre aux exigences de conception de logiciel, 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 des 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.
  • Navigateur de l'architecture. Vous ne pouvez plus utiliser le Navigateur de l'architecture 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 des ensembles de fonctionnalités puissants 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.

Si vous avez besoin de votre agent de test ou contrôleur de test pour utiliser TFS 2013, faites appel aux Agents pour Microsoft Visual Studio 2013 Mise à jour 5 et configurez 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 Mise à jour 5 et de configurer le contrôleur.

Services connectés

La nouvelle boîte de dialogue Ajouter 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 Service connecté....

Add a Connected Service

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 les extensions et Mises à jour galerie à l’aide du lien Rechercher d’autres services... La boîte de dialogue Ajouter Service connecté est également extensible. Si vous êtes développeur de services, vous pouvez utiliser notre Kit de développement logiciel (SDK) Services connectés pour créer un fournisseur qui peut améliorer la détectabilité et favoriser l’utilisation de vos services.

Authentification unique de l’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 Azure AD Authentication.... 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 inscrit votre application auprès de cette instance Active Directory et configure votre application pour demander la connexion.

Specify an Active Directory Domain in the wizard

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 une description plus complète des améliorations technologiques, correctifs de bogues et problèmes connus de cette version, consultez l’article de la Base de connaissances ci-dessous.

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 : Azure SDK 2.7 pour Visual Studio 2015 inclut désormais la prise en charge des comptes accédant à Azure via Contrôle d’accès en fonction du rôle, 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 Machines Virtuelles dans Visual Studio 2015 : processus de débogage distant s’exécutant sur Machines Virtuelles créé à 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 Web Apps, les améliorations apportées à la génération Swagger pour API Apps 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 s’exécutant 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.
  • Outils Azure Data Factory : Désormais inclus dans le Kit de développement logiciel (SDK) Azure, il s’agit des Outils Azure Data Factory. 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 Outils Azure Data Factory 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 le plateforme Windows universelle. Parmi les points clés :

  • 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 adaptées à l’appareil.
  • Compilation native .NET 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.

Python Tools pour Visual Studio 2.2

Prise en charge complète de Python 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.

Outils Visual Studio 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 Outils Visual Studio pour Unity, consultez Développement de jeux avec Visual Studio.

Node.js Tools pour Visual Studio 1.1 (RC)

Mise à jour d’octobre 2021 :

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

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

  • Gratuit et open source
  • Saisie semi-automatique du code intelligent
  • Débogage et profilage avancés
  • Intégration avec d’autres fonctionnalités Visual Studio et outils tiers
  • Prise en charge de Node.js, io.js, JavaScript, TypeScript, HTML, CSS et JSON

En savoir plus sur les Outils Node.js pour Visual Studio.

Outils de développement Office pour Visual Studio 2015

Développement avec des API Office 365

  • Outils API Office 365 utilise les nouveaux Services Connectés dans Visual Studio 2015 pour offrir aux développeurs une expérience guidée pour intégrer API Office 365 dans le projet.
  • Vous pouvez maintenant laisser les outils d’API Office 365 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 les API Office 365 à votre projet, les Outils API Office 365 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 version du site web SharePoint de débogage que vous spécifiez dans l’Assistant 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 projet.
  • 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îne 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 applications web Office et clients Office 2013. Pour les applications existantes pour Office qui utilisent un manifeste v1.0, les outils mettent à 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 Microsoft Office pour Visual Studio 2013.

Extension GitHub pour Visual Studio 2015

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

  • Installation facile
  • 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

Test de charge cloud à l’échelle mondiale à partir des centres de données Azure

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 à partir des agents de test n’est pas toujours possible. Néanmoins, avec des diagnostics d’agent avancés, vous pouvez collecter des journaux à partir des agents de test et les associer aux résultats des tests de charge cloud.