Microsoft publie Visual Studio 2022 avec plusieurs nouvelles améliorations

Icône de temps de lecture 12 minute. lis


Les lecteurs aident à prendre en charge MSpoweruser. Nous pouvons recevoir une commission si vous achetez via nos liens. Icône d'info-bulle

Lisez notre page de divulgation pour savoir comment vous pouvez aider MSPoweruser à soutenir l'équipe éditoriale En savoir plus

Aperçu de Microsoft Visual Studio 2022

Aperçu de Microsoft Visual Studio 2022

Microsoft a annoncé aujourd'hui la disponibilité générale de Visual Studio 2022. Cette version GA de Visual Studio 2022 est livrée avec une licence de mise en service, pour une utilisation en production.

Fonctionnalités clés de Visual Studio 2022 :

64-bits

  • devenv.exe est maintenant en 64 bits uniquement

Services cloud Azure

  • Les projets Azure Cloud Service (classique) et Azure Cloud Service (support étendu) sont désormais pris en charge.

C + +

  • Les outils de build v143 sont désormais disponibles via le programme d'installation de Visual Studio ainsi que le outils de construction autonomes.
  • La nouvelle expérience de rechargement à chaud est désormais disponible pour les applications C++ natives lorsqu'elles s'exécutent sous le débogueur. Il prend en charge les projets MSBuild et CMake. Pour plus d'informations, consultez notre Section de rechargement à chaud  ci-dessous.
  • Vous pouvez désormais créer et déboguer nativement sur WSL2 sans établir de connexion SSH. Les projets CMake multiplateformes et les projets Linux basés sur MSBuild sont pris en charge.
  • Visual Studio prend désormais en charge la buildPresets.targets dans CMakePresets.json. Cela vous permet de créer un sous-ensemble de cibles dans votre projet CMake.
  • Le menu Projet dans les projets CMake a été rationalisé et expose les options "Supprimer le cache et reconfigurer" et "Afficher le cache".
  • Les pages de présentation de CMake ont été mises à jour pour prendre en charge CMakePresets.json.
  • Mis en œuvre /scanDependencies drapeau pour la sortie des dépendances de module C++20 pour les projets CMake comme décrit dans P1689r3. Il s'agit d'une étape vers la prise en charge de la création de projets basés sur des modules avec CMake et nous travaillons à compléter cette prise en charge dans les versions ultérieures.
  • Vous pouvez désormais déboguer des processus exécutés sur des systèmes distants à partir de Visual Studio avec LLDB.
  • Nous avons mis à niveau la version de CMake livrée avec Visual Studio vers la version 3.21. Voir le Notes de version CMake 3.21 pour plus de détails sur ce qui est disponible.
  • Les outils LLVM livrés avec Visual Studio ont été mis à niveau vers LLVM 12. Consultez le Notes de version LLVM pour en savoir plus.
  • L'ensemble d'outils MSVC utilise désormais par défaut SHA-256 hachage source dans les enregistrements de débogage. Auparavant, l'ensemble d'outils utilisait MD5 pour le hachage de source par défaut.
  • Le développement de jeux avec la charge de travail C++ installe désormais le dernier moteur Unreal avec prise en charge de Visual Studio 2022.
  • Améliorations apportées à C++ IntelliSense lors de la navigation et de la coloration syntaxique pour les types de modules et d'unités d'en-tête importés.
  • Amélioration des performances C++ IntelliSense en optimisant l'utilisation des en-têtes mis en cache et l'accès à la base de données de symboles, offrant des temps de chargement améliorés pour accéder à votre code.
  • IntelliSense Code Linter pour C++ est désormais activé par défaut, fournissant des suggestions instantanées au fur et à mesure de la frappe et des suggestions de correction pour les défauts de code courants.
  • Prise en charge de libfuzzer sous le commutateur -fsanitize=fuzzer. Voir la documentation pour plus de détails.
  • Nous avons amélioré la détection de déréférencement de pointeur nul dans nos outils d'analyse de code.
  • L'analyse de code applique désormais les valeurs de retour des fonctions annotées avec _Check_return_ or _Must_inspect_result_ doit être vérifié.
  • Ajout du support pour gsl::not_null à l'analyse du code.
  • Mise à jour vers NDK r21 LTS dans la charge de travail de développement mobile C++.
  • Les en-têtes C++ AMP sont désormais obsolètes. Y compris dans un projet C++ générera des erreurs de construction. Pour faire taire les erreurs, définissez _SILENCE_AMP_DEPRECATION_WARNINGS. S'il te plait regarde nos liens d'obsolescence AMP pour plus de détails.

Débogage et diagnostic

  • Améliorations de la boîte de dialogue Attacher au processus
  • Améliorations de l'assistant d'exception
  • Forcer l'exécution à cliquer
  • Analyse de diagnostic de vidage mémoire
  • Nous avons publié un nouveau type de point d'arrêt appelé Dependent Breakpoint, qui vous permet de configurer un point d'arrêt pour qu'il soit activé uniquement si un autre point d'arrêt est atteint en premier.
  • Nous avons ajouté plus de mises à jour au nœud Sources externes, vous pouvez maintenant voir le module sous le sous-nœud "Modules sans sources" et charger les symboles à partir de l'explorateur de solutions lui-même.
  • Améliorations de la gouttière de points d'arrêt
  • Point d'arrêt temporaire
  • Glisser et déposer un point d'arrêt
  • Nœud Sources externes dans l'Explorateur de solutions
  • Améliorations de la boîte de dialogue Attacher au processus

Personnalisation

  • Onglets de couleur ajoutés pour les onglets verticaux et horizontaux
  • Ajout du pack de thèmes et collaboration avec les auteurs de thèmes VS Code pour le lancement collection de thèmes personnalisés
  • Conçus Convertisseur de thème pour convertir les thèmes VS Code pour qu'ils fonctionnent dans Visual Studio 2022
  • Ajout de la possibilité de synchroniser le thème Visual Studio avec le thème Windows
  • Ajout de nouvelles fonctionnalités de gestion de documents, notamment la personnalisation de la largeur des onglets, la mise en gras du document actif et un bouton de fermeture supplémentaire dans docwell.

Éditeur

  • Ajout de la navigation des sous-mots
  • L'enregistrement automatique est désormais disponible en tant que fonction d'aperçu
  • Expérience de copier/coller multi-caret

Extensibilité

  • Suppression des API des assemblys Microsoft.VisualStudio.Language.Client
  • VS SDK contient plusieurs modifications avec rupture et les extensions Visual Studio 2019 ne fonctionneront pas en 2022. Voir Documentation VSSDK pour plus d'information.
  • Les assemblys de référence VS SDK ne sont plus installés sur le VSSDK\VisualStudioIntegration\Common\Assemblies dossier. Si votre build reposait sur ces assemblys, veuillez migrer votre projet pour utiliser les packages NuGet à la place. Pour les scénarios hors ligne :
    1. Conservez un flux de nugets dans l'organisation à partir duquel restaurer les packages de nugets.
    2. Archivez les binaires.
  • Ajout de correctifs de changement cassant ILanguageClient

Services Cloud

  • Azurite sera utilisé pour l'émulation locale d'Azure Storage au lieu de l'ancien émulateur de stockage Azure qui n'est plus activement développé.

Outils Git

Menu Aide

  • Au cours de la version 17.0, nous avons remodelé le menu d'aide avec du matériel de démarrage et des conseils/astuces utiles.
  • Fournit une plus grande collaboration avec notre équipe de développement en ajoutant des éléments tels que l'accès à la communauté des développeurs, aux notes de publication, à la feuille de route du produit Visual Studio et à nos pages de médias sociaux.

Expérience de rechargement à chaud

  • Le rechargement à chaud est désormais disponible pour les développeurs .NET via le débogueur Visual Studio et sans le débogueur pour de nombreux types d'applications .NET 6
  • Le rechargement à chaud est désormais disponible pour les développeurs C++ lors de l'utilisation du débogueur Visual Studio

Pour plus de détails voir le lien ci-dessus

IntelliCode

JavaScript / TypeScript

  • Nous avons publié un nouveau type de projet JavaScript/TypeScript qui crée des projets JavaScript/TypeScript autonomes avec des outils supplémentaires. Vous pourrez créer des projets Angular et React dans Visual Studio en utilisant la version du framework installée sur votre ordinateur.
  • Les tests JavaScript et TypeScript sont désormais disponibles dans l'explorateur de tests de Visual Studio
  • Interface graphique NPM disponible, vous pouvez donc maintenant télécharger les modules NPM de la même manière que vous téléchargez les packages Nuget

SDK .NET 6

  • Le SDK .NET 6 est inclus dans Visual Studio 2022

Productivité .NET

  • L'introduction de la refactorisation des paramètres peut déplacer un nouveau paramètre de l'implémentation de la méthode vers ses appelants.
  • Suivi de la source de valeur pour l'analyse des flux de données
  • Option pour souligner les variables qui sont réaffectées
  • Ajout d'une option de recherche dans la boîte de dialogue Générer des remplacements
  • Les informations rapides pour les tags now preserve whitespace and CDATA blocks
  • La fenêtre Rechercher toutes les références regroupera désormais les projets multi-cibles
  • Refactoring pour supprimer les types répétitifs dans Visual Basic
  • Go to Implementation ne naviguera plus vers les membres avec des déclarations abstraites qui sont également remplacées.
  • Synchronisez les espaces de noms pour qu'ils correspondent à la structure de vos dossiers à partir de l'Explorateur de solutions
  • Configurer l'analyse du code en arrière-plan à partir de l'explorateur de solutions
  • Les types de référence Nullable sont désormais activés par défaut pour les nouveaux projets .NET
  • C# 10.0 Refactoring d'espace de noms à portée de fichier
  • La navigation vers les sources décompilées est maintenant activée par défaut
  • Refactoring pour préférer la vérification nulle à la vérification de type
  • Les commentaires XML généreront désormais automatiquement un <exception> balise lorsqu'une méthode lève explicitement des exceptions
  • La marge d'héritage est maintenant activée par défaut

Langages de programmation

  • C # 10

Éditeur Razor (ASP.NET Core)

  • Réduction des blocages de l'interface utilisateur et amélioration des performances au démarrage de la solution
  • Colorisation sémantique plus rapide jusqu'à 2x dans certaines solutions
  • Prise en charge de F7 (afficher le code) dans les fichiers Razor
  • Prise en charge des extraits de code dans les fichiers de rasoir qui termineront une session d'extrait de code avec un seul onglet au lieu d'appuyer sur tab-tab
  • Meilleur formatage dans les blocs @code lorsqu'il y a des composants HTML et Razor imbriqués
  • Prise en charge du rechargement à chaud dans les fichiers Razor
  • Amélioration des performances
  • Améliorations de la mise en forme et de l'indentation
  • Nouvelles couleurs de l'éditeur Razor
  • Les TagHelpers sont désormais colorisés et disposent d'une prise en charge de la classification des informations rapides et d'info-bulles d'achèvement
  • Mise en surbrillance des accolades angulaires et navigation pour les constructions Razor
  • Les commentaires ont maintenant la saisie semi-automatique, l'indentation intelligente, l'inclusion automatique des suites de commentaires et le blocage de la navigation dans les commentaires

Test à distance

  • Très aperçu expérimental précoce de l'activation de l'exécution de tests sur des environnements distants tels que des conteneurs Linux, WSL et via des connexions SSH.

Prise en charge des outils de test

  • Afficher dans l'explorateur de tests
  • Les nouvelles versions de la plate-forme de test commençant par 17.0 ne pourront pas exécuter de tests génériques et de tests ordonnés. Ces fonctionnalités spécifiques ne sont livrées que dans le cadre d'une version antérieure de MSTestv1 et ne sont pas incluses dans MSTestv2. Nous constatons une très faible utilisation de ces fonctionnalités et les tests ordonnés sont désormais considérés comme contraires aux meilleures pratiques de test.
  • Certaines expériences de test ne seront pas disponibles dans la version 17.0, notamment la création de nouveaux fichiers TestSettings et l'éditeur TestSettings. Les exécutions de test pourront toujours utiliser les fichiers TestSettings, mais TestSettings a été remplacé par RunSettings et nous encourageons les utilisateurs à migrer des performances et des fonctionnalités améliorées. En savoir plus.
  • Mises à jour de la prise en charge du test de charge Web et du test codé de l'interface utilisateur. Tests d'interface utilisateur codés et [Web Load Tests] (fin de vie du service de test de charge basé sur le cloud | Le blog Azure DevOps (microsoft.com) a été officiellement obsolète en 2019. Pour minimiser l'impact sur les utilisateurs, ces fonctionnalités sont prises en charge au minimum dans Visual Studio 2022. Nous encouragez les utilisateurs à abandonner le test codé de l'interface utilisateur et le test de charge Web.

Remplissage de la boîte à outils pour les SDK d'extension UWP

  • Les SDK d'extension UWP doivent désormais déclarer explicitement les types qu'ils souhaitent voir apparaître dans la boîte à outils en les répertoriant dans leur Fichier SdkManifest.xml. Le comportement des anciennes versions de Visual Studio est inchangé ; ils ignoreront la liste des contrôles dans le manifeste et énumèreront à la place dynamiquement les types de contrôle dans les assemblys du SDK.

Emplacements de confiance

  • Nous avons réorganisé la fonctionnalité "Paramètres de confiance" et pouvons désormais afficher un avertissement chaque fois qu'un code non fiable (par exemple, des fichiers, des projets ou des dossiers) est sur le point d'être ouvert dans l'IDE.
  • Les vérifications de confiance sont désormais effectuées au niveau du dossier de la solution
  • Les projets créés par l'utilisateur sont automatiquement ajoutés à la liste de confiance
  • Les utilisateurs peuvent ignorer les contrôles de confiance sur les emplacements temporaires créés par Visual Studio

Mises à jour, LTSC et déploiement

  • Avec Visual Studio 2022, plusieurs lignes de base de maintenance prises en charge simultanément seront publiées à l'automne et au printemps. Pour plus de détails, reportez-vous à Documentation de Visual Studio Release Rhythm et par Cycle de vie du produit Visual Studio 2022.
  • Le nouveau programme d'installation fourni avec Visual Studio 2022 a désormais la capacité de configurer d'où le produit Visual Studio doit obtenir ses mises à jour. Cela vous permet de choisir des mises à jour à partir d'un LTSC différent ou, si vous êtes dans un environnement d'entreprise géré, vous pouvez configurer le client pour obtenir ses mises à jour à partir d'une mise en page. La possibilité de configurer la source des mises à jour est une nouvelle fonctionnalité fournie avec le programme d'installation de Visual Studio. Par conséquent, le comportement s'applique également aux versions inférieures de Visual Studio, telles que Visual Studio 2019. Pour plus d'informations sur la configuration du canal de mise à jour, reportez-vous à la Mettre à jour Visual Studio Documentation. Pour plus d'informations sur la façon de faire fonctionner cela pour les mises en page réseau, reportez-vous au Guide de l'administrateur de Visual Studio.
  • Les administrateurs informatiques peuvent désormais signaler des problèmes sans avoir installé Visual Studio.

Interface utilisateur

  • Les icônes par défaut ont été mises à jour et actualisées.

Outils Web

  • La page de résumé de publication contient désormais des actions pour démarrer/arrêter le débogage et le profilage à distance dans le menu « … » dans le coin supérieur droit de la section « Hébergement »
  • La page des services connectés a maintenant une action pour lancer l'explorateur de stockage
  • Le modèle "ASP.NET Core Empty" fourni avec .NET 6 utilise le nouveau 'API minimales' paradigme pour lequel nous avons commencé à ajouter un support
  • Azurite sera utilisé pour l'émulation locale d'Azure Storage au lieu de l'ancien émulateur de stockage Azure qui n'est plus activement développé.
  • Vous pouvez ajouter une authentification à votre application ASP.NET Core à l'aide de Plateforme d'identité Microsoft via l'expérience des services connectés dans Visual Studio.

Concepteur XAML WPF pour .NET Framework

  • Le concepteur WPF XAML actuel pour .NET Framework est remplacé par un nouveau concepteur WPF XAML pour .NET Framework, basé sur la même architecture que celle utilisée pour le concepteur WPF XAML pour .NET (.NET Core). L'expérience Visual Studio sera la même, mais les fournisseurs de contrôle tiers doivent prendre en charge le nouveau modèle d'extensibilité depuis le modèle précédent basé sur .design.dll ainsi que  Microsoft.Windows.Design.Extensibility est obsolète. Si vous avez déjà créé un .designtools.dll pour .NET (.NET Core), cette même extension fonctionnera pour le nouveau WPF XAML Designer pour .NET Framework. Veuillez vous référer au document de migration ci-dessous pour plus d'informations sur la migration vers le nouveau modèle d'extensibilité.

Rechargement à chaud XAML

  • Modifications du rechargement à chaud XAML - Modifications mineures de la barre d'outils et des paramètres de l'application

Aperçu en direct XAML

  • XAML Live Preview est désormais disponible pour les développeurs WPF, UWP, WinUI et Xamarin.Forms exécutant leurs applications dans l'émulateur Android ou en tant qu'application de bureau UWP. L'aperçu en direct capture une interface utilisateur d'applications en cours d'exécution et l'intègre dans une fenêtre ancrée dans Visual Studio. Cela facilite l'utilisation de XAML Hot Reload pour modifier l'application tout en visualisant ces modifications dans Visual Studio lui-même, sans avoir besoin de faire des allers-retours entre l'application en cours d'exécution et Visual Studio tout en effectuant des modifications de code XAML en direct.

Pour plus d'informations, cliquez sur le lien ci-dessus.

Exemple de données XAML

  • Les exemples de données au moment du design seront désormais ajoutés par défaut lors de la création de contrôles DataGrid, ListBox et ListView à partir de la boîte à outils dans les applications WPF. Pour désactiver ce comportement, décochez "Ajouter automatiquement des exemples de données lors de la création d'éléments" sous Outils -> Options -> Concepteur XAML.
  • Pour en savoir plus sur les exemples de données , veuillez visiter le Exemple de documentation sur les données.

Expérience de liaison XAML améliorée

  • Nous avons apporté de nombreuses améliorations pour rendre la liaison de données rapide et facile, telles que l'accès rapide à la boîte de dialogue Liaison de données à partir de l'inspecteur de propriétés, la possibilité de définir la liaison à partir des actions rapides, la possibilité de choisir la propriété à lier à l'intérieur de la boîte de dialogue de liaison de données. .

Pour plus d'informations, cliquez sur le lien ci-dessus.

La source: Microsoft

En savoir plus sur les sujets : microsoft, Visual Studio 2022