Quoi de neuf dans Visual Studio 2022?

Contenu

Visual Studio 2022 est maintenant en avant-première et sortira en novembre 2021 avec .NET 6, qui sera compatible. Comprend de nombreuses nouvelles fonctionnalités et améliorations, comme AI IntelliCode qui peut compléter automatiquement des extraits de code pour vous.

Vous pouvez télécharger l'aperçu de votre site Web. Tant qu’il est encore “expérimental” et pas prêt pour la production, studio encore visuel, Pour ce que, sauf si vous dépendez d'extensions qui n'ont pas encore été mises à jour, n'aie pas peur d'essayer.

Nous couvrirons les changements les plus importants à partir de l'aperçu 3, mais si vous voulez lire les notes de patch ligne par ligne, vous pouvez le faire à partir de Microsoft Docs. Il y a aussi une feuille de route décrivant la direction générale.

Enfin c'est de 64 morceaux

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

Avec VS 2022, est fixe et maintenant c'est une application de 64 morceaux. Microsoft a testé des projets avec 1600 projets et 300k fichiers, et ça marche bien.

En théorie, 64 les bits devraient s'exécuter plus rapidement, et il semble être un peu plus rapide sur les temps de démarrage, mais Microsoft a également travaillé sur les performances en général, il est donc difficile de savoir à quel point cela vous affecte vraiment. De toute façon, un bon changement.

Bien sûr, vous pouvez toujours développer des applications à partir de 32 bits avec VS 2022. Cela ne s'applique qu'à l'éditeur.

AI IntelliCode est génial

Fonctionnalités de Visual Studio 2022 une mise à niveau majeure de votre moteur de saisie semi-automatique IntelliCode. Il est capable de compléter automatiquement des lignes entières et des extraits de code, et ça marche très bien.

C'est un peu différent de Copilote GitHub, qui fait un travail similaire. Copilot générera des extraits de code complets 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 que vous générez n'est pas garanti d'être ce que vous voulez (et peut extraire le code mot pour mot à partir de référentiels GitHub aléatoires, quel est un autre problème).

IntelliCode adopte une approche beaucoup plus restreinte et ne remplit qu'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, sur lequel vous pouvez réellement appuyer pour donner plus de suggestions à IntelliCode

Après l'avoir utilisé pendant deux semaines, c'est quelque chose que tu dois vraiment essayer par toi-même. C'est étonnamment intelligent, et plusieurs fois en l’utilisant, je me suis retrouvé à penser “pleurage, j'étais sur le point d'écrire ça!”

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

Pour comprendre et fournir ce résultat, IntelliCode fait bien plus que compléter automatiquement la syntaxe; Comprenez que j'attends une exception, assez évident étant donné que j’écris “jeter”, et vous remarquerez peut-être que cette exception n'est levée que si une comparaison de taille entière échoue. Savoir quoi Width est un argument qui est vérifié avant l'exécution du code, et que je lance une exception parce que quelque chose ne va pas avec l'argument.

Sachant tout ça, fait une estimation extrêmement précise de mes intentions et décide qu'un ArgumentOutOfRangeException ça doit être ce que j'essaye d'écrire, avant de pouvoir commencer à écrire “Nouveau”.

ET, si vous déplacez une page, vous pouvez remplir les résultats pour différentes options. C'est encore un peu incohérent (a décidé de coder “Largeur” puis utilisé nameof) mais, en général, CA marche bien.

IntelliCode fonctionne tout le temps, et tout ce que vous avez à faire est d'appuyer sur tab-tab pour l'accepter; au contraire, tu peux continuer à écrire. Actuellement, ne fonctionne que pour C #, mais plus de langues “À venir”.

Prise en charge de .NET 6

.RAPPORTER 6 c'est la dernière version, aussi en version d'aperçu. VS 2022 aura un support intégré pour cela et toutes ses fonctionnalités, et ce sera par défaut dans .NET 6 pour les nouveaux projets.

En particulier, VS 2022 aura un support complet pour .NET MAUI, l'interface utilisateur de l'application multiplateforme, Le nouveau standard de Microsoft pour le développement d'applications natives multiplateformes.

Rechargement à chaud .NET

L'une des choses les plus ennuyeuses à propos de la programmation est de regarder l'écran, attendre que l'application compile, démarre 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. Cependant, jusqu'à maintenant, il n'y a pas eu de solution standardisée pour .NET.

Il n'est pas complètement universel et nécessite une configuration de projet spécifique, mais VS 2022 comprend une recharge à chaud pour “WPF, Formulaires Windows, Aperçus .NET MAUI, Applications ASP.NET Core avec code derrière, applications de console, WinUI 3 et plein d'autres”. Cela exclut les bibliothèques de classes utilisées par une autre application.

Certains types de modifications peuvent ne pas être appliqués correctement, qui vous demandera de redémarrer avec succès. Tu peux voir la liste complète d'entre eux ici, mais l'essentiel est:

  • Signatures de méthode non modifiées
  • Ne pas ajouter de mentions d'utilisation
  • Interfaces non modifiées
  • Sans renommer les membres d'aucune sorte

Essentiellement, 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é dans l'expérience de débogage VS, avec une nouvelle icône pour “Appliquer les modifications de code” qui activera la recharge à chaud. Vous pouvez également utiliser le nouveau dotnet watch commande pour recharger automatiquement à chaud sur les modifications de fichier.

Applications Web de rasoir / Blazor peut actuellement utiliser la recharge à chaud, mais Blazor WebAssembly a encore quelques problèmes à résoudre et ne fonctionne toujours pas pour le moment. Cependant, il y travaille et il est possible qu'il atteigne la version finale fin novembre.

Test à distance

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

Il a un peu de configuration et, bien sûr, vous devrez vous assurer que votre environnement est configuré pour exécuter votre code correctement, mais une fois que je suis, 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 dans décomposer des notes de mise à jour, nous allons donc énumérer quelques-uns des plus intéressants ici.

La purification a vu quelques améliorations dans la qualité de vie, avec de nouvelles options de contexte pour des points d'arrêt plus avancés, aussi bien que “Forcer l'exécution au curseur”, qui ignorera tous les points d'arrêt existants et s'arrêtera à la ligne de code que vous avez sélectionnée. Cela peut être très utile si vous souhaitez tester quelque chose sans supprimer tous les points d'arrêt ou tout ignorer manuellement à nouveau.

Menu contextuel du point d'arrêt

Forcer l'exécution au curseur

Les intégrations VS Git prennent désormais en charge plusieurs référentiels par solution, et s'engager dans de nombreux référentiels est maintenant 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 clairs et sombres

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

Quick Info for XML préserve les espaces blancs

“Trouver toutes les références” ne produit plus de résultats de déchets répétés lorsque vous êtes sur un projet à objectifs multiples.

Trouver tous les groupes de référence Projets polyvalents

Pages de rasoir / Blazor a obtenu de nombreuses intégrations d'édition et fonctionnera désormais mieux avec IntelliSense, mise en évidence de la syntaxe et meilleur formatage dans les blocs @code. Maintenant, vous pouvez également utiliser “Afficher le code” dans les archives Razor, ce qui a été une limitation ennuyeuse pendant un certain temps.

Prise en charge de la classification TagHelpers

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

Pour obtenir la liste complète des modifications, vous pouvez vérifier le Notes de mise à jour VS 2022.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.