Partager via


2019LogoNotes de publication de Visual Studio 2019 version 16.1



Developer Community | Configuration requise | Compatibilité | Code distribuable | Historique des versions | Termes du contrat de licence | Blogs | Documentation sur les nouveautés de Visual Studio


Remarque

Il ne s’agit pas de la dernière version de Visual Studio. Pour télécharger la version la plus récente, veuillez vous rendre sur le site de Visual Studio.



Nouveautés dans Visual Studio 2019 version 16.1

Délai de prise en charge

Cette version n’est plus prise en charge. Pour plus d’informations sur la prise en charge de Visual Studio, consultez la Stratégie de prise en charge pour Visual Studio 2019.

Reportez-vous à la dernière version des notes de publication ou accédez au site Visual Studio pour télécharger la dernière version de Visual Studio 2019 prise en charge.

Mises en production Visual Studio 2019 version 16.1

Blog Visual Studio 2019

Le blog Visual Studio 2019 est la source officielle où l’équipe d’ingénierie de Visual Studio partage des insights sur le produit. Vous trouverez des informations détaillées sur les versions de Visual Studio 2019 dans les billets de blog suivants :


Release Notes IconVisual Studio 2019 version 16.1.6

Date de publication : 9 juillet 2019

Avis de sécurité

CVE-2019-1077 Vulnérabilité de la mise à jour automatique de l’extension Visual Studio

Une vulnérabilité d’élévation de privilèges apparaît quand le processus de mise à jour automatique de l’extension Visual Studio n’effectue pas correctement certaines opérations de fichier. Un attaquant parvenant à exploiter cette vulnérabilité peut supprimer des fichiers dans des emplacements arbitraires. Pour tirer parti de cette vulnérabilité, l’attaquant a besoin d’un accès sans privilège à un système vulnérable. La mise à jour de sécurité résout cette vulnérabilité en sécurisant les emplacements où la mise à jour automatique de l’extension Visual Studio effectue des opérations de fichier.

CVE-2019-1075 Vulnérabilité d’usurpation d’identité dans ASP.NET Core

Il existe une vulnérabilité d’usurpation d’identité dans ASP.NET Core pouvant aboutir à une redirection ouverte. Un attaquant qui parvient à exploiter la vulnérabilité peut rediriger un utilisateur ciblé vers un site web malveillant. Pour exploiter la vulnérabilité, l’attaquant peut envoyer un lien avec une URL spécialement créée et convaincre l’utilisateur de cliquer sur le lien.

La mise à jour de sécurité résout la vulnérabilité en corrigeant la façon dont ASP.NET Core analyse les URL. Pour plus d’informations, consultez les notes de publication de .NET Core.

CVE-2019-1113 La désérialisation WorkflowDesigner XOML permet l’exécution de code

Un fichier XOML faisant référence à certains types peut entraîner l’exécution de code aléatoire quand le fichier XOML est ouvert dans Visual Studio. Il existe désormais une restriction sur les types qui peuvent être utilisés dans les fichiers XOML. Si un fichier XOML contenant l’un des types récemment non autorisés est ouvert, un message s’affiche, expliquant que le type n’est pas autorisé.

Pour plus d’informations, voir https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019 version 16.1.5

Publication : 2 juillet 2019

###Récapitulatif des problèmes résolus dans Visual Studio 2019 version 16.1.5


Release Notes Icon Visual Studio 2019 version 16.1.4

Publication : 25 juin 2019

Récapitulatif des problèmes résolus dans Visual Studio 2019 version 16.1.4


Release Notes Icon Visual Studio 2019 version 16.1.3

Publication : 11 juin 2019

Récapitulatif des problèmes résolus dans Visual Studio 2019 version 16.1.3


Release Notes Icon Visual Studio 2019 version 16.1.2

Publiée le 4 juin 2019

Récapitulatif des problèmes résolus dans Visual Studio 2019 version 16.1.2


Release Notes Icon Visual Studio 2019 version 16.1.1

Publication : 24 mai 2019

Récapitulatif des problèmes résolus dans Visual Studio 2019 version 16.1.1


Release Notes Icon Visual Studio 2019 version 16.1

Publication : 21 mai 2019

Récapitulatif des nouveautés de Visual Studio 2019 version 16.1

IDE

  • Visual Studio IntelliCode, maintenant en disponibilité générale, est installé avec toutes les charges de travail qui prennent en charge C#, C++, TypeScript/JavaScript ou XAML.
  • Ajout de la prise en charge de la reconnaissance du type d’écran.
  • De nouveaux correctifs de code sont disponibles pour C#.
  • Ajout de la fonctionnalité « Utilisés le plus récemment » à la recherche Visual Studio.

Débogueur

  • Des améliorations de l’authentification Source Link ont été implémentées.
  • Ajout du serveur de symboles nuget.org à la liste des serveurs de symboles par défaut.
  • L’aperçu du débogage TTD (débogage par voyage dans le temps) inclut désormais la prise en charge de la progression pas à pas dans les exceptions.

Extensibilité

  • Suppression de la nécessité du fichier .resx dans les projets VSIX (mise à jour des outils de build).
  • Le modèle Projet VSIX utilise désormais la nouvelle version du SDK.

Performances

  • Implémentation d’une expérience utilisateur d’optimisation pour améliorer le temps de chargement des très grandes solutions.
  • Les créateurs de modèle peuvent ajouter des balises personnalisées à leurs modèles.
  • Prise en charge de CodeLens pour l’interface utilisateur personnalisée.
  • Publication de mises à jour pour l’implémentation du protocole de serveur de langage.
  • Mise à jour du comportement du basculement entre les solutions, les dossiers et les autres vues.

C++

F#

  • Publication d’améliorations des performances et de différents correctifs de bogues pour F# et les outils F#.

.NET

  • Les nouvelles fonctionnalités de Productivité .NET incluent le nettoyage du code en un seul clic sur les projets et les solutions, un nouveau raccourci clavier d’activation/de désactivation du commentaire de bloc, la refactorisation pour déplacer des types vers d’autres espaces de noms.
  • Les utilisateurs peuvent maintenant cloner le code à partir d’un URI SSH sur l’écran de clonage de la fenêtre de démarrage.
  • Ajouts à la productivité .NET, notamment : complétion IntelliSense pour les types non importés, activation/désactivation des marques de commentaire sur une seule ligne, exportation des styles de noms dans EditorConfig et nouveau paramètre de style de code pour privilégier les instructions using à l’intérieur/l’extérieur des espaces de noms.
  • Implémentation d’ajouts aux outils du SDK .NET en matière de prise en charge des projets Windows Forms et WPF pour .NET Core 3.0, ainsi que des correctifs de bogues et des améliorations des performances.
  • Publication du SDK Visual Studio v16.0 sur NuGet.
  • Publication d’une préversion du Concepteur XAML pour le développement WPF .NET Core 3.0.

Xamarin

Principaux problèmes résolus dans Visual Studio 2019 version 16.1

Détail des nouveautés de Visual Studio 2019 version 16.1

  • IntelliCode, maintenant en disponibilité générale, est installé avec toutes les charges de travail qui prennent en charge C#, C++, TypeScript/JavaScript ou XAML.
  • Les fonctionnalités IntelliCode en préversion (modèles personnalisés, prise en charge C++/ TS/JS et inférence EditorConfig) sont désactivées par défaut. Pour les activer, accédez à Outils > Options > IntelliCode.
  • Suppression du modèle EditorConfig (IntelliCode) de l’Assistant Nouvel élément. Pour créer une inférence EditorConfig, cliquez avec le bouton droit sur l’emplacement souhaité dans l’Explorateur de solutions et choisissez Ajouter > Nouvel EditorConfig (IntelliCode).
  • Utilisez la fenêtre de démarrage pour cloner le code d’un référentiel en ligne via SSH.
Clone with SSH on start window
Cloner avec SSH sur la fenêtre de démarrage
  • Visual Studio IntelliCode est installé par défaut lors de l’installation d’une charge de travail prenant en charge C#, XAML ou C++.
    • Les modèles de base C# et XAML sont activés par défaut.
    • Les fonctionnalités d’évaluation, comme l’entraînement de modèle personnalisé et la complétion d’arguments, peuvent être activées via Outils > Options > IntelliCode.
  • Ajout du support de la prise en charge par moniteur
  • Nouveaux correctifs de code disponibles pour C#.
  • Ajout du support de la prise en charge par moniteur pour la fenêtre PropertyBrowser basée sur WinForms de Visual Studio. Exige que la version RTM de .NET Framework 4.8 soit installée sur l’ordinateur.
  • Source Link peut maintenant utiliser l’authentification Windows pour prendre en charge le contrôle de code source TFS local.
  • Ajout du serveur de symboles nuget.org à la liste des serveurs de symboles par défaut

Project

  • Le bouton permettant de basculer vers la vue Explorateur de solutions affiche désormais systématiquement un menu déroulant de toutes les vues possibles.
Solution switching
Basculement entre les vues des solutions
  • Amélioration du temps de chargement pour les très grandes solutions. L’amélioration varie en fonction de la taille des solutions.

  • Suppression de la boîte de dialogue Convertir sous Fichier > Convertir. Cette fonctionnalité a été dépréciée précédemment dans Visual Studio 2015.

  • Mise à jour des règles de validation pour les schémas task.vs.json et launch.vs.json, et ajout de descriptions des propriétés.

  • Ajout de la prise en charge du débogage à distance Linux à l’aide d’un programme personnalisé par le biais de launch.vs.json.

Extensibilité

  • Les utilisateurs peuvent maintenant utiliser la dernière version de Microsoft.VisualStudio.SDK pour cibler Visual Studio 2019 dans vos extensions. N’oubliez pas d’utiliser uniquement cette version du SDK si la version minimale de Visual Studio prise en charge est 16.0.
  • La création de projets VSIX contient désormais la version 16.0 du package NuGet Microsoft.VisualStudio.SDK.
  • Les utilisateurs peuvent maintenant ajouter des balises à vos modèles de projet pour activer la catégorisation et le filtrage dans la boîte de dialogue Nouveau projet de Visual Studio 2019. Les utilisateurs peuvent choisir entre les balises prédéfinies ou leurs propres balises de langage, de plateforme et de type de projet personnalisées.
Template tagging
Marquage des modèles
  • Les extensions CodeLens peuvent maintenant afficher du contenu d’interface utilisateur arbitraire dans leur fenêtre contextuelle des détails CodeLens.

  • Mise à jour du protocole de serveur de langage avec :

    • La prise en charge des mémoires tampons prévues afin d’activer des fournisseurs de services en couche (LSP) pour les différences inline et les fichiers Razor dans LiveShare.
    • La prise en charge des diagnostics inutiles.
    • La prise en charge de textDocument/typeDefinition.
    • La prise en charge de textDocument/foldingRange (plan).
  • Suppression de la nécessité du fichier .resx dans les projets VSIX (mise à jour des outils de build)

  • Le package NuGet Microsoft.VSSDK.BuildTools fournit désormais un fichier .resx vide dans le cadre de la build s’il n’existe aucun .resx avec la propriété MergeWithCTO. La plupart des extensions n’utilisent pas de fichier .resx ou n’en ont pas besoin pour fusionner. Ainsi, le projet reste plus épuré.

  • Les changements apportés à la PMA (per-monitor awareness) risquent d’affecter certaines extensions. Découvrez plus en détail la prise en charge de la PMA pour les extendeurs Visual Studio.

Éditeur

  • En cas de focus, la recherche de Visual Studio affiche désormais les trois dernières actions utilisées appelées par le biais de la recherche Visual Studio, comme indiqué dans cette exemple de maquette. (Remarque : les icônes et les éléments de ligne spécifiques n’ont pas été entièrement mis à jour dans cette maquette.)
Visual Studio Search
Maquette de la recherche Visual Studio

C++

  • Utilisez l’installation locale du sous-système Windows pour Linux (WSL) avec C++ en mode natif dans Visual Studio sans configuration supplémentaire ni connexion SSH.
Windows Subsystem for Linux
Sous-système Windows pour Linux
  • AddressSanitizer est maintenant intégré à Visual Studio pour les projets Linux et WSL.
ASan integration
Intégration AddressSanitizer
  • Les utilisateurs peuvent maintenant séparer les machines de build distantes des machines de débogage distantes sur Linux, dans les projets MSBuild et CMake.
  • Les info-bulles Info express contiennent désormais un lien permettant de rechercher de la documentation en ligne pour en savoir plus sur la construction du code. Si le code est souligné en rouge, ce lien recherche l’erreur en ligne.
  • Le code des info-bulles Info express est à présent de la même couleur que dans l’éditeur.
Colorized code in Quick Info tooltips
Code coloré dans les info-bulles Info express
  • Les correctifs rapides automatiques des avertissements d’analyse du code C6001: Using uninitialized memory <variable> et C26494 VAR_USE_BEFORE_INIT, disponibles dans le menu Ampoule des lignes correspondantes, sont respectivement activés par défaut dans l’ensemble de règles Microsoft Native Minimum et les ensembles de règles de type C++ Core Check.
New Code Analysis quick fixes
Nouveaux correctifs rapides de l’analyse du code
  • Améliorations apportées à l’Éditeur de paramètres CMake, notamment la prise en charge du sous-système Windows pour Linux (WSL) et les configurations de caches existants, les changements apportés aux racines de génération et d’installation par défaut, ainsi que la prise en charge de variables d’environnement dans les configurations CMake Linux.
Improvements to the CMake Settings Editor
Améliorations apportées à l’éditeur de paramètres CMake
  • L’amélioration de la journalisation des connexions à distance facilite le diagnostic des problèmes liés au développement multiplateforme.
Improved logging for remote connections
Amélioration de la journalisation pour les connexions à distance
  • Vous pouvez désormais séparer votre ordinateur de build à distance de votre ordinateur de débogage à distance en cas de ciblage de Linux (spécifique aux projets MSBuild ; bientôt disponible pour CMake).
  • La barre de modèle peut remplir le menu déroulant à partir des instanciations de ce modèle dans votre codebase.
New Template Bar dropdown menu
Nouveau menu déroulant Barre de modèles
  • IntelliCode C++ est désormais intégré et peut être activé sous Outils > Options > IntelliCode > Général. Cette version d’IntelliCode offre une meilleure précision et inclut la prise en charge de fonctions gratuites.
  • L’intégration de CMake prend maintenant en charge la chaîne d’outils Clang/LLVM pour les projets ciblant Windows et/ou Linux. Vous pouvez désormais générer, modifier et déboguer des projets CMake qui utilisent Clang, MSVC ou GCC.
CMake integration supports the Clang/LLVM toolchain
L’intégration de CMake prend en charge la chaîne d’outils Clang/LLVM
  • Ampoules signalant les #include manquant qui peuvent être installés par vcpkg et saisie semi-automatique des packages disponibles pour la directive find_package CMake.
Autocompletion of available packages
Autocomplétion des packages disponibles
  • Mise à jour de la version de CMake qui est fournie avec Visual Studio vers la version 3.14. Cette version ajoute la prise en charge intégrée des générateurs MSBuild ciblant les projets Visual Studio 2019 ainsi que les API d’intégration de l’IDE basées sur des fichiers.

  • Les pages de propriétés Général pour les projets C++ ont été modifiées, en présentant certaines options sous une nouvelle page Avancé. La page Avancé inclut également des propriétés supplémentaires pour l’architecture d’ensemble d’outils, les bibliothèques de débogage, la version mineure de l’ensemble d’outils MSVC et les builds Unity (jumbo) préférées.

  • Les 20 fonctionnalités d’évaluation C++ suivantes ont été ajoutées à notre implémentation de la bibliothèque standard C++, disponible sous /std:c++latest :

    • starts_with() et ends_with() pour basic_string/basic_string_view.
    • contains() pour les conteneurs associatifs.
    • remove(), remove_if() et unique() pour list et forward_list retournent maintenant size_type.
    • shift_left() et shift_right() ajoutés à <algorithm>.
  • Les 20 fonctionnalités d’évaluation C ++ suivantes ont été implémentées dans le compilateur C++, disponible sous /std:c++latest :

    • Possibilité accrue de trouver des modèles de fonctions par le biais d’une recherche dépendante d’un argument pour les expressions d’appel de fonction avec des arguments de modèle explicites (P0846R0).
    • Initialisation désignée (P0329R4), ce qui permet la sélection de membres spécifiques dans l’initialisation d’agrégats, par exemple à l’aide de la syntaxe Type t { .member = expr }.
  • La prise en charge de lambda a été repensée, résolvant un grand nombre de bogues de longue date. Ce changement est activé par défaut quand vous utilisez /std:c++latest. Dans d’autres modes de langage /std:c++* et dans le mode par défaut, le nouvel analyseur peut être activé par le biais de /experimental:newLambdaProcessor ; par exemple /std:c++17 /experimental:newLambdaProcessor.

  • Documentation dans l’éditeur pour CMake

  • Les saisies semi-automatiques et les informations express des commandes, variables et propriétés CMake intégrées facilitent la modification de vos fichiers CMakeLists.txt.

Tooltip info for add_subdirectory CMake command
Info-bulle pour la commande CMake add_subdirectory

F# et outils F#

Il s’agit d’une version relativement mineure pour le langage et les outils F#, mais qui n’est pas sans quelques goodies ! Comme la mise à jour Visual Studio 16.0, cette version se concentre sur les performances des outils de l’éditeur.

Compilateur F# et F# interactif
  • Ajout de la prise en charge de P/Invoke dans F# Interactive sur .NET Core (6544)
  • Ajout d’une optimisation du compilateur pour Span<'T> quand il est utilisé dans une boucle for (#6195)
  • Ajout d’une optimisation permettant d’éviter des allocations Some superflues pour les options F# dans différents scénarios (#6532)
  • Changement de l’ordre d’exécution des expressions utilisées dans l’instanciation des enregistrements anonymes (de haut en bas plutôt que par ordre alphabétique), pour que l’expérience actuelle soit identique à celle des enregistrements normaux (#6487)
  • Résolution du bogue selon lequel les expressions littérales et les déclarations struct très volumineuses provoquaient parfois un dépassement de la capacité de la pile du compilateur lors du build (6258)
  • Résolution du bogue selon lequel les points d’arrêt ne se déclenchaient plus lors du débogage d’une fonction avec des enregistrements anonymes (6512)
  • Résolution du bogue selon lequel les enregistrements anonymes passés à des constructions qui attendent un paramètre obj provoquaient un incident du compilateur (6434)
  • Résolution du bogue selon lequel les boucles for var expr1 to expr2 do ... provoquaient parfois une syntaxe étrangement valide (et ignorée) (6586)
  • Résolution d’un bogue empêchant une utilisation correcte des enregistrements anonymes avec des événements (6572)
  • Résolution d’un bogue de longue date générant des analyseurs extrêmement volumineux (plus de 100 millions de lignes) dans FsLexYacc (5967)
  • Résolution d’un problème de longue date du composant de plug-in Fournisseur de type du compilateur qui risquait de laisser la porte ouverte à une fuite de mémoire causée par un fournisseur de type (6409)
  • Ajout de la prise en charge de --pathmap au compilateur F# par Saul Rennison, ce qui résout le problème selon lequel l’exécutable obtenu après compilation comportait les chemins d’accès absolus aux fichiers sources dans la ressource de fichier de signature F# incorporée (5213)
  • Ajout d’une optimisation de l’arborescence de syntaxe abstraite F# qui améliore sa consommation par le biais d’autres outils et environnements (par exemple, Fable) par ncave (6333)
  • Ajout d’une optimisation du parcours des informations lors de la résolution des membres par Steffen Forkmann (4457)
  • Ajout d’une amélioration des messages d’erreur, à savoir que, lorsqu’il manque des remplacements nécessaires à une implémentation de type, la liste en est signalée, par Gauthier Segay (4982)
Outils F#
  • La liste déroulante Version cible de .NET Framework pour les projets F# dans le kit SDK .NET comporte maintenant toutes les valeurs .NET Core, .NET Standard et .NET Framework disponibles pour faciliter la migration vers .NET Core à partir de .NET Framework sur le kit SDK .NET
  • Correction du bogue selon lequel la modification du nom des paramètres de type générique produisait des noms protégés par un double accent grave d’échappement (5389)
  • Résolution du problème de longue date selon lequel les Fournisseurs de type étaient inutilement réinstanciés, provoquant à force des allocations massives (5929)
  • Résolution du problème de longue date selon lequel la lecture du langage intermédiaire allouait inutilement 20 Mo sur une courte période (6403)
  • Résolution du bogue selon lequel la méthode GetToolTipText du service du compilateur F# affichait parfois la même signature XML pour plusieurs surcharges de membres par Vasily Kirichenko (6244)
Infrastructure open source F#

Enfin, nous avons amélioré différents aspects de l’expérience de contribution :

  • Réalisation de notre processus de build à partir de la source de sorte que le compilateur F# et la bibliothèque principale puissent être générés avec le référentiel de build source .NET Core
  • Suppression de notre dépendance à netstandard1.6 afin que l’ensemble du codebase cible uniformément netstandard2.0 et net472
  • Ajout d’un fichier .vsconfig à la racine du référentiel pour que les contributeurs qui utilisent Visual Studio n’aient pas à savoir tout ce qu’il faut installer en amont
  • Réécriture du LISEZMOI de notre projet en supprimant les informations pouvant prêter à confusion, en ajoutant un guide de démarrage rapide sur les contributions et en essayant de délivrer un message plus complet sur les types de changements que nous aimerions effectuer

Productivité .NET

  • Il existe maintenant une autocomplétion IntelliSense expérimentale pour les types non importés. Les utilisateurs reçoivent des suggestions IntelliSense pour les types dans les dépendances de leur projet même sans avoir ajouté l’instruction import au fichier. Activez cette option dans Outils > Options > Éditeur de texte > C# > IntelliSense.
Intellisense completion for unimported types
Autocomplétion IntelliSense pour les types non importés
  • L’ajout/suppression des marques de commentaire sur une seule ligne, selon que la sélection est déjà commentée ou non, est maintenant disponible avec le raccourci clavier (Ctrl+K, /).
  • Possibilité d’exporter des styles de nommage avec le bouton « Générer le fichier editorconfig » situé dans Outils > Options > Éditeur de texte > C# > Style de code.
  • Possibilité d’utiliser une nouvelle règle de style de code EditorConfig pour exiger ou interdire les instructions using à l’intérieur d’un espace de nom. Ce paramètre est également exporté via le bouton « Générer le fichier editorconfig » situé dans Outils > Options > Éditeur de texte > C# > Style de code.
Editorconfig rule for usings outside/inside namespaces
Règle EditorConfig pour les instructions using à l’intérieur/l’extérieur des espaces de noms
Tools Options setting for usings inside/outside namespace
Paramètres Outils > Options pour les instructions using à l’intérieur/l’extérieur d’un espace de noms
  • La colonne « Type » de Rechercher toutes les références comporte maintenant plus d’options de filtre et tient compte des espaces de noms et des types.
Find All References Kind column has more filter options
La colonne de type Rechercher toutes les références comprend de nouvelles options de filtre
  • Ajout d’un correctif de code pour le fractionnement/la fusion des instructions if.
Split or merge if statements
Fractionner ou fusionner les instructions if
  • Ajout d’un correctif de code pour le wrapping d’expressions binaires.
Wrap binary expressions
Encapsuler des expressions binaires
  • Une liste de saisie semi-automatique d’expression régulière (regex) est désormais accessible par l’intermédiaire du menu IntelliSense (Ctrl + espace) quand vous êtes dans une chaîne d’expression régulière. Ces saisies semi-automatiques comprennent également une description in-line de ce que fait la suggestion.
Regex completion offered in Intellisense with (Ctrl + space)
Autocomplétion des regex
  • Ajout d’un correctif de code pour le descellement d’une classe.
Unseal a class codefix
Desceller une classe
  • Utilisez le nettoyage du code en un seul clic pour les projets et les solutions. Cliquez avec le bouton droit sur des projets ou la solution dans l’Explorateur de solutions, puis sélectionner « Exécuter le nettoyage du code ».
Right-click to run code cleanup over the entire solution
Cliquez avec le bouton droit pour exécuter un nettoyage du code sur l’ensemble de la solution
You will see a dialog box while cleanup is applied to each file
Une boîte de dialogue s’affiche pour chaque fichier auquel est appliqué le nettoyage
  • Utilisez maintenant une boîte de dialogue de refactorisation pour déplacer un type vers un espace de noms ou un dossier. Placez votre curseur dans le nom de la classe et tapez (Ctrl+.) pour ouvrir le menu Actions rapides et refactorisations, puis sélectionnez « Déplacer vers l’espace de noms ». Cette action lance une boîte de dialogue dans laquelle vous pouvez sélectionner l’espace de noms cible vers lequel vous voulez déplacer le type.
Place cursor in class name and type (Ctrl+.) to view refactorings
Placez le curseur sur le nom et le type de la classe (Ctrl+.) pour afficher les refactorisations
Select the destination namespace
Sélectionnez l’espace de noms de destination
  • Activer/désactiver le commentaire de bloc / Supprimer les marques de commentaire est désormais disponible via le raccourci clavier (Ctrl+Maj+/) ou Modifier > Avancé > Activer/désactiver le commentaire de bloc. Cette commande ajoute ou retire les commentaires de bloc en fonction de ce que vous avez sélectionné.
Toggle block comment with (Ctrl+Shift+/)
Activer/désactiver le bloc de commentaire (Ctrl+Maj+/)
  • Il existe désormais un correctif de code pour rendre les champs struct en lecture seule accessibles en écriture. Placez votre curseur dans le nom du struct et tapez (Ctrl+.) pour ouvrir le menu Actions rapides et refactorisations, puis sélectionnez « Rendre les champs en lecture seule accessibles en écriture ».
  • Le correctif de code permettant d’ajouter un champ privé à partir d’un constructeur, et vice versa, est plus facile à découvrir et indique quand une partie du nom du champ est sélectionnée. Désormais, cette refactorisation offre également tous les constructeurs possibles.

Préversion du Concepteur XAML pour le développement WPF .NET Core 3.0

  • Il existe une préversion du Concepteur XAML pour les développeurs qui créent des applications WPF .NET Core 3.0 dans Visual Studio. De nombreuses fonctionnalités au moment du design ne sont pas disponibles pour l’instant. Dans la mesure où il s’agit d’une version préliminaire, veuillez envoyer des commentaires Visual Studio si vous rencontrez des problèmes tels que des blocages pour que l’équipe puisse améliorer l’expérience pour la suite.
  • À chaque mise à jour de Visual Studio 2019, nous continuerons d’implémenter certaines des fonctionnalités qui étaient disponibles dans le Concepteur XAML pour les applications WPF .NET Framework.

Outils du kit SDK .NET

Cette version a demandé beaucoup de travail pour débloquer l’utilisation de WPF sur .NET Core :

  • Résolution du problème selon lequel une boîte de dialogue d’erreur s’ouvrait à chaque élément ajouté à un projet WPF ou Windows Forms .NET Core (4486).
  • Prise en charge des fichiers XAML dans les projets du kit SDK .NET (1467), qui inclut de nombreuses petites tâches visant à assurer une parité d’expérience avec les projets .NET à l’ancienne.
  • Prise en charge des éléments de menu contextuel pour WinForms sur .NET Core (#137) : Windows Form, Contrôle utilisateur, Composant et Classe.
  • Prise en charge des éléments de menu contextuel pour WPF sur .NET Core (#137) : Fenêtre, Page, Contrôle utilisateur, Dictionnaire de ressources.
  • La fenêtre Sources de données est maintenant activée pour les projets du kit SDK .NET, ce qui permet de gérer des cas courants de gestion des données pour Windows Forms (4479).

Indépendamment, d’autres correctifs ont été ajoutés dans cette version :

  • Les projets du kit SDK .NET prennent maintenant en charge les fichiers .razor (4468).
  • Un texte d’aide accessible, lisible par des lecteurs d’écran, a été ajouté à la page de propriétés de débogage (4568).
  • Nous avons ajouté un paramètre permettant de désactiver le double-clic pour ouvrir un fichier projet (4493).
  • L’option de menu contextuel permettant de modifier un fichier projet n’inclut plus le nom du projet, ce qui résout le problème selon lequel le menu contextuel devenait trop gros en cas de nom de projet très long (1492).
  • Résolution du bogue selon lequel le fait de créer une source de données avec l’interface utilisateur Liaison de données produisait deux fichiers .datasource (4485).
  • Résolution du bogue selon lequel des fichiers liés pouvaient entraîner un échec de l’outil de vérification des mises à jour (4580).
  • Résolution de différents bogues impliquant la résolution de packages et l’affichage de leur état résolu/non résolu dans le nœud Dépendances (2924 et 4577).

Pour voir la liste complète des problèmes fermés, accédez au jalon 16.1 sur GitHub.

Xamarin

  • Mise à jour de l’expérience Android par défaut vers l’API 28 pour les modèles, la création d’appareil, les programmes d’installation, et plus encore.
  • IntelliSense sur Windows affiche maintenant des recommandations concernant les attributs au moment du design lors de l’écriture de code XAML Xamarin.Forms.

Problèmes connus

Passez en revue les problèmes et les solutions de contournement disponibles dans Visual Studio 2019 version 16.1 en suivant le lien ci-dessous.

Visual Studio 2019 Known Issues

Commentaires et suggestions

Nous sommes à votre écoute ! Pour tout problème, signalez-les en utilisant l’option Signaler un problème en haut à droite du programme d’installation ou de l’IDE Visual Studio. L’icône Feedback Icon se trouve en haut à droite. Vous pouvez faire une suggestion de produit ou suivre vos problèmes sur le site Visual Studio Developer Community, où vous pouvez poser des questions, trouver des réponses et proposer de nouvelles fonctionnalités. Vous pouvez également obtenir une aide gratuite pour l’installation via notre support Live Chat.


Blogs

Tirez parti des insights et des recommandations disponibles sur le site Developer Tools Blogs pour rester informé de toutes les nouvelles versions Release et des publications contenant des informations approfondies sur un large éventail de fonctionnalités.


Historique des notes de publication de Visual Studio 2019

Pour plus d’informations sur les versions précédentes de Visual Studio 2019, consultez la page Historique des notes de publication de Visual Studio 2019.


Haut de page