Quoi de neuf dans Visual Studio 2022 ?  – CloudSavvy IT
Agence web » Actualités du digital » Quoi de neuf dans Visual Studio 2022 ? –

Quoi de neuf dans Visual Studio 2022 ? –

Visual Studio 2022 est maintenant en avant-première et devrait sortir en novembre 2021 aux côtés de .NET 6, qu’il prendra en charge. Il comprend de nombreuses nouvelles fonctionnalités et améliorations, telles que AI IntelliCode qui peut compléter automatiquement des morceaux de code pour vous.

Vous pouvez télécharger l’aperçu sur leur site Web. Bien qu’il soit encore « expérimental » et qu’il ne soit pas prêt pour la production, il s’agit toujours de Visual Studio, donc à moins que vous ne dépendiez d’extensions qui n’ont pas encore été mises à jour, n’ayez pas peur de l’essayer.

Nous couvrirons les changements les plus importants à partir de l’Aperçu 3, mais si vous souhaitez lire les notes de mise à jour ligne par ligne, vous pouvez le faire à partir des documents de Microsoft. Il y a aussi une feuille de route décrivant la direction générale.

C’est enfin 64 bits

Visual Studio a toujours été 32 bits, ce qui signifie qu’il a été limité à 4 Go de RAM dans le processus principal. Il ne dépasse généralement pas ce budget pour les projets normaux, mais certains utilisateurs peuvent rencontrer des exceptions de mémoire insuffisante avec des solutions particulièrement importantes.

Avec VS 2022, c’est corrigé et c’est maintenant une application 64 bits. Microsoft a testé des projets avec 1600 projets et 300k fichiers, et cela fonctionne bien.

Le 64 bits devrait théoriquement fonctionner plus rapidement, et il semble être un peu plus rapide au démarrage, mais Microsoft a également travaillé sur les performances en général, il est donc difficile de dire à quel point cela l’affecte réellement. En tout cas, un bon changement.

Bien entendu, vous pouvez toujours développer des applications 32 bits avec VS 2022. Cela ne s’applique qu’à l’éditeur.

AI IntelliCode est incroyable

Visual Studio 2022 propose une mise à niveau sérieuse de son moteur de saisie semi-automatique IntelliCode. Il est capable de compléter automatiquement des lignes entières et des morceaux de code, et cela fonctionne très bien.

C’est un peu différent du copilote de GitHub, qui fait un travail similaire. Copilot générera des extraits de code entiers et fonctionnera mieux pour les petites fonctions contenues avec une solution claire. C’est génial, mais il a ses propres problèmes, principalement le fait que le code qu’il génère n’est même pas garanti d’être ce que vous voulez (et peut extraire le code mot à mot de dépôts GitHub aléatoires, ce qui est un tout autre problème).

IntelliCode adopte une approche beaucoup plus restreinte et complète simplement une seule ligne, en tenant compte de certains des facteurs suivants :

  • Noms et positions des variables
  • Bibliothèques que vous utilisez
  • Fonctions dans le code environnant
  • La liste déroulante IntelliSense, que vous pouvez réellement onglet pour donner plus de suggestions à IntelliCode

Après l’avoir utilisé pendant deux semaines, c’est vraiment quelque chose que vous devez essayer par vous-même. C’est incroyablement intelligent, et plusieurs fois en l’utilisant, je me suis dit « wow, j’étais sur le point de taper ça ! »

Par exemple, écrire une fonction qui prend un nombre de 1 à 12 :

Pour comprendre et fournir ce résultat, IntelliCode fait bien plus qu’une simple syntaxe d’auto-complétion ; Il comprend que j’attends une exception, assez évidente étant donné que je tape « throw », et il peut comprendre que cette exception n’est levée que si une comparaison de taille entière échoue. Il sait que Width est un argument en cours de vérification avant l’exécution du code, et que je lève une exception parce que quelque chose ne va pas avec l’argument.

Sachant tout cela, il prend une estimation extrêmement précise de mes intentions et décide qu’un ArgumentOutOfRangeException doit être ce que j’essaie de taper, avant même que je sois capable de commencer à taper « nouveau ».

Et, si vous descendez de la page, vous pouvez remplir les résultats pour différentes options. C’est toujours un peu incohérent (il a décidé de coder en dur « Width » et a ensuite utilisé nameof) mais dans l’ensemble, ça marche bien.

IntelliCode s’exécute tout le temps, et tout ce que vous avez à faire est d’appuyer sur tab-tab pour l’accepter, sinon, vous pouvez continuer à taper. Actuellement, cela ne fonctionne que pour C#, mais d’autres langages sont « à venir ».

Prise en charge de .NET 6

.NET 6 est la dernière version, également en avant-première. VS 2022 aura une prise en charge intégrée pour lui et toutes ses fonctionnalités, et par défaut .NET 6 pour les nouveaux projets.

Plus particulièrement, VS 2022 prendra entièrement en charge .NET MAUI, ou Multi-platform App UI, la nouvelle norme de Microsoft pour le développement d’applications natives multiplateformes.

Rechargement à chaud .NET

L’une des choses les plus ennuyeuses dans la programmation est de regarder votre écran, d’attendre que votre application se compile et se lance, et se met à jour avec les dernières modifications. Le rechargement à chaud est une fonctionnalité de nombreux autres langages comme JavaScript, et a été utilisé par des frameworks Web comme React pour apporter des modifications rapides. Jusqu’à présent cependant, il n’y avait pas de solution standardisée pour .NET.

Ce n’est pas complètement universel et nécessite une configuration de projet spécifique, mais VS 2022 inclut le rechargement à chaud pour « WPF, Windows Forms, aperçus .NET MAUI, applications ASP.NET Core code-behind, applications console, WinUI 3 et bien d’autres ». Cela exclut les bibliothèques de classes utilisées par une autre application.

Certains types de modifications peuvent ne pas s’appliquer correctement, ce qui vous demandera de redémarrer correctement. Vous pouvez consulter la liste complète d’entre eux ici, mais l’essentiel est :

  • Aucune modification des signatures de méthode
  • Pas d’ajout à l’aide d’instructions
  • Aucune modification des interfaces
  • Aucun changement de nom des membres d’aucune sorte

Fondamentalement, vous pouvez modifier le code dans n’importe quelle méthode, mais une fois que vous commencez à toucher la structure du projet, vous devrez peut-être redémarrer.

Il est bien intégré à l’expérience de débogage de VS, avec une nouvelle icône pour « Appliquer les modifications de code » qui déclenchera le rechargement à chaud. Vous pouvez également utiliser le nouveau dotnet watch commande pour recharger à chaud automatiquement sur les modifications de fichier.

Les applications Web Razor/Blazor peuvent actuellement utiliser le rechargement à chaud, mais Blazor WebAssembly a encore des choses à régler et il ne fonctionne pas encore pour le moment. Cependant, il est en cours d’élaboration et pourrait figurer dans la version finale plus tard en novembre.

Test à distance

VS 2022 inclut un aperçu expérimental qui vous permet d’exécuter des tests dans d’autres environnements, notamment des conteneurs Linux, WSL et même via SSH.

Il y a un peu de configuration, et vous devrez bien sûr vous assurer que votre environnement est configuré pour exécuter votre code correctement, mais une fois que c’est le cas, vous pourrez sélectionner différents environnements lors de l’exécution de vos tests.

Améliorations générales

Il y a beaucoup de petits changements à décomposer dans les notes de mise à jour, nous allons donc énumérer quelques-uns des plus intéressants ici.

Le débogage a vu quelques améliorations de la qualité de vie, avec de nouvelles options de contexte pour des points d’arrêt plus avancés, ainsi que « Forcer l’exécution du curseur », qui ignorera tous les points d’arrêt existants et s’arrêtera sur la ligne de code que vous avez sélectionnée. Cela peut être très utile si vous souhaitez tester quelque chose sans supprimer chaque point d’arrêt, ou sauter à nouveau manuellement.

Menu contextuel du point d'arrêt

Forcer l'exécution au curseur

Les intégrations Git de VS prennent désormais en charge plusieurs référentiels par solution, et la validation sur de nombreux référentiels est désormais plus facile.

Toutes les icônes ont été repensées pour plus de cohérence.

Exemples de nouvelles icônes avec des arrière-plans sombres et clairs

Les commentaires XML prennent désormais en charge les commentaires multilignes avec des espaces blancs préservés et des blocs CDATA.

Quick Info for XML préserve les espaces blancs

« Rechercher toutes les références » ne produit plus de sorties répétées indésirables dans un projet multi-cibles.

Trouver tous les groupes de référence Projets multi-ciblés

Razor Pages/Blazor ont obtenu de nombreuses intégrations d’édition et fonctionneront désormais mieux avec IntelliSense, la coloration syntaxique et un meilleur formatage dans les blocs @code. Vous pouvez désormais également utiliser « Afficher le code » dans les fichiers Razor, ce qui a été une limitation gênante pendant un certain temps.

Prise en charge de la classification TagHelpers

Et il existe quelques autres modèles de projet, y compris les applications Angular et React hébergées par ASP.NET Core, qui peuvent être créés automatiquement avec des intégrations d’API.

Pour la liste complète des changements, vous pouvez vous référer aux notes de mise à jour VS 2022.

★★★★★