IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Microsoft publie la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud


Sujet :

Visual Studio

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Microsoft publie la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud
    Microsoft présente Visual Studio 2022, la prochaine version majeure de Visual Studio.
    La première Public Preview sera disponible cet été

    Microsoft a présenté Visual Studio 2022. La prochaine version majeure de Visual Studio sera plus rapide, plus accessible et plus légère, conçue pour les apprenants et ceux qui créent des solutions à l'échelle industrielle. Pour la toute première fois, Visual Studio sera 64 bits. L'expérience utilisateur sera plus propre, intelligente et orientée vers l'action. Microsoft a fait le choix de faciliter la collaboration grâce à une meilleure intégration de GitHub, « ce qui permet de passer facilement de l'idée au code au cloud ».

    Visual Studio 2022 est 64 bits

    Visual Studio 2022 sera une application 64 bits, qui n'est plus limitée à ~ 4 Go de mémoire dans le processus principal devenv.exe. Avec un Visual Studio 64 bits sur Windows, vous pouvez ouvrir, modifier, exécuter et déboguer même les solutions les plus volumineuses et les plus complexes sans manquer de mémoire.

    Bien que Visual Studio passe à 64 bits, cela ne modifie pas les types ou la qualité des applications que vous créez avec Visual Studio. Visual Studio continuera d'être un excellent outil pour créer des applications 32 bits.

    Amanda Silver, CVP of Product, Developer Division de Microsoft y est allé de son commentaire : « Je trouve vraiment satisfaisant de regarder cette vidéo de mise à l'échelle de Visual Studio pour utiliser la mémoire supplémentaire disponible pour un processus 64 bits, car elle ouvre une solution avec 1 600 projets et environ 300 000 fichiers. Il n'y a plus d'exceptions de mémoire insuffisante ».

    Nom : soft.gif
Affichages : 249495
Taille : 774,8 Ko

    Microsoft travaille également à rendre chaque partie de votre flux de travail plus rapide et plus efficace, du chargement des solutions au débogage F5.

    Des changements visuels pour tous

    Microsoft va actualiser l'interface utilisateur pour mieux vous garder dans votre flux. Certains des changements sont des touches cosmétiques subtiles qui modernisent l'interface utilisateur ou réduisent l'encombrement. Dans l'ensemble, l'éditeur vise à réduire la complexité et à diminuer la charge cognitive afin que vous puissiez vous concentrer et rester dans la zone. En outre, rendre Visual Studio plus accessible offre une meilleure convivialité pour tout le monde.

    La prochaine version de Visual Studio comprendra:
    • Des icônes mises à jour pour une meilleure clarté, lisibilité et un meilleur contraste.
    • Cascadia Code, une nouvelle police à largeur fixe pour une meilleure lisibilité et une meilleure prise en charge des ligatures. (Si vous le souhaitez, vous pouvez essayer Cascadia Code dès aujourd'hui! Https://aka.ms/CascadiaCode)
    • Des thèmes de produits actualisés et améliorés.
    • Une intégration avec Accessibility Insights pour détecter les problèmes d'accessibilité dès le début, avant qu'ils ne parviennent à vos utilisateurs finaux.

    Nom : micro.png
Affichages : 9565
Taille : 66,1 Ko

    Personnalisation

    « De développeur à développeur, nous comprenons que la personnalisation de votre EDI est aussi importante que le choix de votre chaise de bureau. Nous devons "tout ajusté" avant de pouvoir être le plus productif possible. Il sera plus facile que jamais de rendre Visual Studio 2022 "parfait" pour vous, de la possibilité de personnaliser certains aspects de l'EDI à la synchronisation des paramètres entre les appareils pour ceux qui gèrent plusieurs boîtiers de développement. »

    Développer des applications modernes

    Azure

    Visual Studio 2022 permettra de créer rapidement et facilement des applications modernes basées sur le cloud avec Azure. L'éditeur va aider les développeurs à démarrer avec une bonne quantité de référentiels décrivant les modèles courants utilisés dans les applications d'aujourd'hui. Ces référentiels sont constitués de code avisé montrant ces modèles en action, d'actifs d'infrastructure en tant que code pour provisionner les ressources Azure et de flux de travail et d'actions GitHub prédéfinis vous mettant en place avec une solution CI / CD complète lorsque vous créez un projet pour la première fois. De plus, l'environnement de développement requis sera défini dans le référentiel afin que vous puissiez commencer le codage et le débogage immédiatement.

    .NET

    Visual Studio 2022 prendra entièrement en charge .NET 6 et son framework unifié pour les applications Web, clientes et mobiles pour les développeurs Windows et Mac. Cela inclut l'interface utilisateur de l'application multiplateforme .NET (.NET MAUI) pour les applications clientes multiplateformes sous Windows, Android, macOS et iOS. Vous pouvez également utiliser les technologies Web ASP.NET Blazor pour écrire des applications de bureau via .NET MAUI.

    Nom : MAUI.png
Affichages : 9501
Taille : 99,2 Ko

    Et pour la plupart des types d'applications comme le Web, les ordinateurs de bureau et les mobiles, vous pourrez utiliser .NET Hot Reload pour appliquer les modifications de code sans avoir à redémarrer ou à perdre l'état de l'application.

    Nom : reload.gif
Affichages : 9603
Taille : 176,6 Ko

    C++

    Visual Studio 2022 inclura une prise en charge robuste de la charge de travail C++ avec de nouvelles fonctionnalités de productivité, des outils C++ 20 et IntelliSense. Les nouvelles fonctionnalités du langage C++ 20 simplifieront la gestion de bases de code volumineuses et des diagnostics améliorés faciliteront le débogage des problèmes difficiles avec des modèles et des concepts.

    Microsoft va également intégrer la prise en charge de CMake, Linux et WSL pour vous permettre de créer, modifier, créer et déboguer plus facilement des applications multiplateformes. Si vous souhaitez mettre à niveau vers Visual Studio 2022 mais que vous vous inquiétez de la compatibilité, la compatibilité binaire avec le runtime C++ le rendra indolore.

    Autres améliorations et nouveautés

    Diagnostics et débogage

    La capacité de déboguer vos applications en toute confiance est au centre de votre flux de travail quotidien. Visual Studio 2022 inclura des améliorations de performances dans le débogueur principal, avec des fonctionnalités supplémentaires telles que des graphiques de flamme dans le profileur pour mieux repérer les chemins chauds, des points d'arrêt dépendants pour un débogage plus précis et des expériences de décompilation intégrées qui vous permettront de parcourir le code que vous n'avez pas localement.

    Collaboration en temps réel

    Live Share ouvre de nouvelles opportunités pour collaborer avec d'autres, échanger des idées, programmer en binôme et réviser le code. Dans Visual Studio 2022, Live Share introduira un salon de discussion textuelle intégré afin que vous puissiez avoir des conversations rapides sur votre code sans aucun changement de contexte. Vous aurez la possibilité de planifier des sessions récurrentes qui réutilisent le même lien, ce qui simplifie la collaboration avec vos contacts fréquents. Pour mieux prendre en charge le partage en direct au sein des organisations, Microsoft va également introduire des règles de session, qui définissent les exigences de conformité pour la collaboration (par exemple, les terminaux de lecture / écriture doivent-ils pouvoir être partagés?).

    Insights et productivité

    Le moteur AI IntelliCode de Visual Studio continue de s'améliorer pour anticiper de manière transparente votre prochain mouvement. Visual Studio 2022 fournira des intégrations plus nombreuses et plus approfondies dans vos flux de travail quotidiens, vous aidant à prendre la bonne action au bon endroit au bon moment.

    Nom : productivite.gif
Affichages : 9487
Taille : 746,0 Ko

    Collaboration asynchrone

    Visual Studio 2022 inclura une nouvelle prise en charge puissante pour Git et GitHub. Vous remarquerez de nombreuses logiques et points de contrôle intégrés pour vous guider efficacement tout au long du processus de fusion et de révision, en anticipant les commentaires de vos collègues qui pourraient ralentir les choses. Le principe directeur ici était d'aider les développeurs à avoir une plus grande confiance dans le code qu'ils fournissent.

    Recherche de code améliorée

    La recherche de code fait partie intégrante du cycle de vie du développement logiciel. Les développeurs utilisent la recherche de code pour de nombreuses raisons: apprendre des autres, partager du code, évaluer l'impact des changements lors de la refactorisation, enquêter sur les problèmes ou examiner les changements. Microsoft s'engage à offrir de meilleures performances pour toutes ces activités critiques dans Visual Studio 2022 afin de vous rendre encore plus productif. Vous pourrez également effectuer une recherche en dehors de votre périmètre chargé, pour trouver ce que vous recherchez, quelle que soit la base de code ou le dépôt dans lequel il se trouve.

    Actualisation de Visual Studio pour Mac

    L'objectif de Microsoft avec Visual Studio 2022 pour Mac est de créer un EDI .NET moderne conçu pour Mac qui offre l'expérience productive que vous avez appris à aimer dans Visual Studio. L'éditeur travaille à la migration de Visual Studio pour Mac vers l'interface utilisateur native de macOS, ce qui signifie qu'il offrira de meilleures performances et une meilleure fiabilité. Cela signifie également que Visual Studio pour Mac peut tirer pleinement parti de toutes les fonctionnalités d'accessibilité intégrées de macOS. Microsoft met à jour les menus et la terminologie dans l'EDI pour rendre Visual Studio plus cohérent entre Mac et Windows. La nouvelle expérience Git de Visual Studio sera également disponible dans Visual Studio pour Mac, à commencer par l'introduction de la fenêtre de l'outil Git Changes.

    Source : Microsoft

    Et vous ?

    Quel EDI utilisez-vous pour vos développements (projets personnels et/ou entreprise) ? Sur quel système d'exploitation ?
    Pour vos projets personnels, comment opérez-vous le choix de l'EDI ?
    Que pensez-vous de Visual Studio ?
    Que pensez-vous des améliorations et nouveautés mises en avant par Microsoft pour la future version de son EDI ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé Avatar de Tillo
    Homme Profil pro
    Webmaster
    Inscrit en
    octobre 2007
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : octobre 2007
    Messages : 479
    Points : 653
    Points
    653
    Par défaut
    Perso je suis resté à la version 2018, les plus récentes font ramer mon PC.
    J'aimerais mieux être le premier dans ce village que le second à Rome. (Caius Julius Caesar)

    Mes projets :
    - Imerológio, un site dédié aux calculs sur les dates et les calendriers.
    - PubliGED, un CMS dédié à la généalogie.
    - The Gasp, un petit jeu "casse tête" en JavaScript

    J'ai aussi un site sur la Grande Guerre: Histoires de Poilus

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    septembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : septembre 2011
    Messages : 66
    Points : 75
    Points
    75
    Par défaut
    Wahouuu en 64bits, enfin !
    Euh nous ne sommes pas le 1er avril au moins ?!

    Les icônes sont floues ou c'est moi ?

    La prise en charge de .net 6 (MAUI) et le rechargement à chaud seront 2 points très intéressant.
    A voir pour les autres dans les faits.

    Hâte de pouvoir tester la preview, cet été.

  4. #4
    Membre éclairé
    Femme Profil pro
    Inscrit en
    juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations forums :
    Inscription : juillet 2012
    Messages : 230
    Points : 831
    Points
    831
    Par défaut
    Je vais retourner sur C# s'ils font une GUI crossplatform qui fonctionne. W MAUI

  5. #5
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    (Ingénieur dev.) lead technique
    Inscrit en
    décembre 2008
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : (Ingénieur dev.) lead technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2008
    Messages : 523
    Points : 1 671
    Points
    1 671
    Par défaut
    j'ai grandement l'impression que même si MAUI devient le meilleur framework multiplateforme du monde,
    on va rester sur du react, angular, etc...

    ps: voir même de vielles stack Js pendant très longtemps, car les décideurs pensent que le web avec un css mobile suffit pour faire de bonnes applications mobiles.

    #LesGensQuiPensentQueLeFrontendCestDuPaint

  6. #6
    Membre confirmé Avatar de Issam
    Inscrit en
    mars 2002
    Messages
    575
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : mars 2002
    Messages : 575
    Points : 585
    Points
    585
    Par défaut
    Citation Envoyé par Tillo Voir le message
    Perso je suis resté à la version 2018, les plus récentes font ramer mon PC.

    heuuu, il n'y a pas de version 2018

  7. #7
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Visual Studio 2022 Preview 3 est disponible et s'accompagne de la possibilité d'effectuer des tests à distance
    Visual Studio 2022 Preview 3 est disponible et s'accompagne de la possibilité d'effectuer des tests à distance,
    ainsi que d'une amélioration du thème sombre

    Microsoft a annoncé la disponibilité de Visual Studio 2022 Preview 3. Passons en revue quelques nouveautés et améliorations.

    Productivité personnelle et d'équipe

    Dans Preview 3, Microsoft ajoute de nouvelles fonctionnalités à certaines des fonctionnalités les moins utilisées, mais utiles, telles que l'attachement au processus.

    Attacher aux améliorations de processus

    Les améliorations apportées à la boîte de dialogue Attacher au processus en sont un exemple. La boîte de dialogue est maintenant asynchrone, affiche les arguments de ligne de commande pour les processus, les informations IIS pour les processus w3wp.exe, et enfin la boîte de dialogue a un mode d'affichage en arborescence facultatif pour afficher les relations de processus parent-enfant. Ces capacités réduisent beaucoup les frictions dans le choix du processus à déboguer dans les scénarios avancés.

    Concepteur de nouveau projet

    Avec Preview 3, il existe un tout nouveau concepteur de propriétés de projet pour les projets SDK .NET. Le nouveau concepteur est plus facile à utiliser et à parcourir ; il dispose d'une seule colonne d'options avec des descriptions claires. Mieux encore, le nouveau concepteur a intégré la recherche, il est donc maintenant facile de trouver la propriété dont vous avez besoin.

    Nom : text-description-automatically-generated.gif
Affichages : 8917
Taille : 390,4 Ko

    Améliorations du thème sombre

    Dans Preview 3, vous verrez de gros changements dans le thème sombre pour améliorer la convivialité de Visual Studio. Le nouveau thème sombre a une nouvelle couleur d'accent, qui est moins intense et utilisée avec plus de parcimonie pour réduire la distraction et la fatigue oculaire. La nouvelle couleur d'accent correspond désormais à la dernière identité visuelle du produit, ce qui vous aide à trouver rapidement la bonne fenêtre lorsque vous naviguez parmi plusieurs outils.

    Nom : a-computer-screen-capture-description-automatical.jpg
Affichages : 1919
Taille : 70,4 Ko

    Développer des applications modernes

    Avec Visual Studio 2022, Microsoft crée des outils pour prendre en charge vos applications existantes et des outils pour créer les derniers types d'applications. Par exemple, dans la Preview 3, l'éditeur a ajouté de nouvelles fonctionnalités pour exécuter des tests dans des environnements Linux et de nouveaux types de projets pour le développement front-end avec des applications React et Vue.js utilisant TypeScript ou JavaScript.

    Concernant le développement des applications modernes, voici les objectifs visés par Microsoft avec Visual Studio 2022 :
    • Azure : Visual Studio 2022 permettra de créer rapidement et facilement des applications modernes basées sur le cloud avec Azure. L'éditeur va aider les développeurs à démarrer avec une bonne quantité de référentiels décrivant les modèles courants utilisés dans les applications d'aujourd'hui. Ces référentiels sont constitués de code avisé montrant ces modèles en action, d'actifs d'infrastructure en tant que code pour provisionner les ressources Azure et de flux de travail et d'actions GitHub prédéfinis vous mettant en place avec une solution CI / CD complète lorsque vous créez un projet pour la première fois. De plus, l'environnement de développement requis sera défini dans le référentiel afin que vous puissiez commencer le codage et le débogage immédiatement.
    • .NET : Visual Studio 2022 prendra entièrement en charge .NET 6 et son framework unifié pour les applications Web, clientes et mobiles pour les développeurs Windows et Mac. Cela inclut l'interface utilisateur de l'application multiplateforme .NET (.NET MAUI) pour les applications clientes multiplateformes sous Windows, Android, macOS et iOS. Vous pouvez également utiliser les technologies Web ASP.NET Blazor pour écrire des applications de bureau via .NET MAUI. Et pour la plupart des types d'applications comme le Web, les ordinateurs de bureau et les mobiles, vous pourrez utiliser .NET Hot Reload pour appliquer les modifications de code sans avoir à redémarrer ou à perdre l'état de l'application.
    • C++ : Visual Studio 2022 inclura une prise en charge robuste de la charge de travail C++ avec de nouvelles fonctionnalités de productivité, des outils C++ 20 et IntelliSense. Les nouvelles fonctionnalités du langage C++ 20 simplifieront la gestion de bases de code volumineuses et des diagnostics améliorés faciliteront le débogage des problèmes difficiles avec des modèles et des concepts. Microsoft va également intégrer la prise en charge de CMake, Linux et WSL pour vous permettre de créer, modifier, créer et déboguer plus facilement des applications multiplateformes. Si vous souhaitez mettre à niveau vers Visual Studio 2022 mais que vous vous inquiétez de la compatibilité, la compatibilité binaire avec le runtime C++ le rendra indolore.

    Test à distance

    Avec les tests à distance, vous pouvez désormais obtenir des commentaires sur vos tests multiplateformes et même les déboguer dans le confort de Visual Studio ! La fonctionnalité fonctionne avec une gamme d'environnements distants tels que des conteneurs Linux, WSL et via des connexions SSH, ce qui vous permet de tester des applications .NET multiplateformes modernes.

    Nom : a-screenshot-of-a-computer-description-automatica.gif
Affichages : 1911
Taille : 528,9 Ko

    Nouveaux types de projets JavaScript et TypeScript

    Les nouveaux types de projets JavaScript et TypeScript pour Angular, Vue et React facilitent l'intégration d'applications front-end dans votre solution Visual Studio, ce qui vous permet de lancer et de déboguer l'intégralité de votre application à partir de Visual Studio.

    L'innovation à portée de main

    « Une autre partie cruciale de notre vision pour Visual Studio 2022 est constituée de capacités innovantes qui libèrent votre potentiel en tant que développeur. En tant que développeur, certains des problèmes les plus difficiles à résoudre sont des problèmes qui ne surviennent que lorsque votre application est en cours d'exécution. Pour diagnostiquer ces problèmes, vous n'avez parfois qu'un rapport client que vous ne pouvez pas reproduire. Si vous pouvez collecter une image mémoire du problème, vous pouvez utiliser Visual Studio pour déboguer l'image mémoire, mais ce n'est pas une tâche facile ».

    Analyseur de diagnostic

    Les images mémoire sont complexes et trouver la cause première d'un problème revient à chercher une aiguille dans une botte de foin. Avec Visual Studio 2022 Preview 3, Microsoft a simplifié ce processus avec l'analyseur de diagnostic. L'analyseur de diagnostic peut être utilisé sur les images mémoire pour identifier les problèmes courants rencontrés dans les applications .NET et vous permettre de résoudre des problèmes complexes en un rien de temps.

    Travailler avec plusieurs référentiels Git à la fois

    Preview 3 bénéficie également de nouvelles fonctionnalités de prévisualisation telles que plusieurs référentiels Git qui vous permettent de travailler avec une seule solution contenant des projets dans plusieurs référentiels et d'y contribuer à partir d'une seule instance de Visual Studio. Cette fonctionnalité peut être activée à partir de l'onglet «*Preview » du menu Outils -> Options, recherchez simplement «*aperçu*» dans la barre de recherche (Ctrl+Q) et recherchez «*Activer la prise en charge multi-dépôts*».

    Télécharger Visual Studio 2022 Preview 3

    Source : Visual Studio
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  8. #8
    Candidat au Club
    Homme Profil pro
    Responsable CAO-DAO
    Inscrit en
    novembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable CAO-DAO
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Etant en VS2019, j'essayerai bien cette nouvelle version.
    Vous savez si la version finale "écrasera" les preview ou si elle s'installera à part ?
    Comment cela c'est fait avec les versions précédentes ?

  9. #9
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Visual Studio 2022 Preview 4 est disponible et s'accompagne d'améliorations sur la productivité
    Visual Studio 2022 Preview 4 est disponible et s'accompagne d'améliorations sur la productivité personnelle et d'équipe,
    le chargement à chaud dans ASP.NET Core et la gestion de thèmes

    Productivité personnelle et d'équipe

    Un domaine d'intérêt pour Visual Studio 2022 est l'amélioration de l'évolutivité et des performances de Visual Studio.

    Visual Studio 2022 est une application 64 bits, qui n'est plus limitée à ~ 4 Go de mémoire dans le processus principal devenv.exe. Avec un Visual Studio 64 bits sur Windows, vous pouvez ouvrir, modifier, exécuter et déboguer même les solutions les plus volumineuses et les plus complexes sans manquer de mémoire.

    Bien que Visual Studio passe à 64 bits, cela ne modifie pas les types ou la qualité des applications que vous créez avec Visual Studio. Visual Studio continuera d'être un excellent outil pour créer des applications 32 bits.

    Amanda Silver, CVP of Product, Developer Division de Microsoft y est allé de son commentaire : « Je trouve vraiment satisfaisant de regarder cette vidéo de mise à l'échelle de Visual Studio pour utiliser la mémoire supplémentaire disponible pour un processus 64 bits, car elle ouvre une solution avec 1 600 projets et environ 300 000 fichiers. Il n'y a plus d'exceptions de mémoire insuffisante ».

    Avec la nouvelle plateforme 64 bits, Visual Studio est désormais capable de s'adapter pour utiliser toutes les ressources du système dont dispose l’utilisateur, afin d'améliorer la fiabilité de Visual Studio, en particulier lorsqu’on travaille avec des solutions complexes ou qu’on utilise Visual Studio pendant de longues périodes. L'effort de conversion vers le 64 bits affecte chaque partie de Visual Studio, donc la portée est beaucoup plus grande que les prévisualisations habituelles.

    Dans la Preview 4, Microsoft s'est concentré sur l'amélioration des performances de plusieurs fonctionnalités clés. Par exemple, la recherche dans des fichiers est désormais jusqu'à 3 fois plus rapide lors de la recherche de solutions volumineuses telles que Orchard Core.

    Nom : un.png
Affichages : 4811
Taille : 110,6 Ko

    Parmi les autres scénarios dans lesquels Microsoft a amélioré les performances, l'éditeur évoque les améliorations des performances C++ IntelliSense avec une accélération d'environ 12 % pour la colorisation sémantique, des optimisations du traitement de la base de données de symboles et une accélération presque 2 fois supérieure pour l'expansion des éléments C++ dans l'explorateur de solutions.

    La version Preview 4 comporte également un certain nombre d'améliorations pour le débogage. Des mises à jour à la boîte de dialogue Attacher au processus où vous pouvez désormais sélectionner des processus à l'aide d'un sélecteur de fenêtre. Des mises à jour à la nouvelle fonctionnalité de source externe, qui facilite le chargement de symboles pour les bibliothèques en dehors de votre projet, aux nouvelles fonctionnalités telles que les points d'arrêt dépendants, pour configurer des points d'arrêt supplémentaires après le premier coup d'un autre point d'arrêt. Cela peut rendre le débogage du code dans les chemins communs (comme une boucle de jeu ou une API utilitaire) beaucoup plus facile car un point d'arrêt dans ces fonctions peut être configuré pour n'être activé que si la fonction est appelée à partir d'une partie spécifique de votre application.

    Nom : deux.png
Affichages : 2258
Taille : 141,4 Ko
    Définir un point d'arrêt dépendant

    Développer des applications modernes

    Dans Preview 4, il y a une grosse mise à jour pour les éditeurs Blazor et Razor, résolvant les problèmes de Preview 3 qui ont été signalés. Outre les correctifs, il existe de nouvelles fonctionnalités de rechargement à chaud dans ASP.NET Core, notamment le rechargement à chaud lors de l'enregistrement de fichiers et l'application de modifications aux fichiers CSS en direct*!

    Autres améliorations

    Dans Visual Studio 2022, Microsoft continue d'ajouter de nouvelles fonctionnalités de nettoyage C++ pour vous aider à écrire du code C++ fiable et sécurisé. Dans Visual Studio 2019, l'éditeur a commencé à ajouter des fonctionnalités de nettoyage à MSVC via AddressSanitizer (ASan) pour Windows avec MSVC. Avec Preview 4, vous pouvez désormais utiliser libFuzzer avec le compilateur MSVC, de sorte que tous les binaires que vous compilez avec MSVC peuvent subir un test de données aléatoires (fuzzing) par libFuzzer. Pour mémoire, l'idée derrière le fuzzing est d'injecter des données aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger.

    Si vous avez déjà commencé un nouveau projet en créant d'abord du code sur votre machine locale, puis avez eu du mal à obtenir ce code dans un dépôt Git, Preview 4 a la solution pour vous. Vous pouvez désormais créer un référentiel Azure DevOps à partir de l'expérience de création de référentiel Git mise à jour. Visual Studio créera un nouveau référentiel Git et le poussera vers Azure DevOps en un seul clic.

    Nom : trois.png
Affichages : 2281
Taille : 35,8 Ko
    Publier un référentiel local sur un serveur distant

    Avec Preview 4, Microsoft met à jour plusieurs des suggestions de personnalisation les plus votées de sa communauté de développeurs. L'une de vos suggestions consistait à attribuer un code couleur à vos onglets. Vous pouvez trouver le paramètre pour colorer les onglets de document par projet sous Outils > Options > Environnement > Onglets et Windows.

    Les onglets à code couleur vous aident à organiser visuellement les fichiers en fournissant un indice visuel supplémentaire, ce qui est particulièrement utile pour les fichiers qui partagent le même nom, par ex. programme.cs.

    Dans Visual Studio 2022, l'éditeur améliore ses capacités de gestion de thèmes pour vous aider à personnaliser votre environnement. Pour cela, il a décidé de faire équipe avec des auteurs de thèmes de la communauté pour convertir certains thèmes Visual Studio Code afin qu'ils fonctionnent dans Visual Studio, ajoutant ainsi plus de flexibilité à la famille de produits Visual Studio. Winter is Coming est l'un de ses premiers thèmes personnalisés, désormais disponible sur le Marketplace !

    Source : Microsoft

    Voir aussi :

    Visual Studio 2022 64-bit Preview 2 est disponible, elle apporte de nouvelles fonctionnalités et permet de créer des applications multiplateformes
    Visual Studio 2022 64-bit Preview 1 est disponible, elle permet de tester et de régler l'évolutivité de la nouvelle plateforme 64 bits
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  10. #10
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Microsoft améliore l'expérience .NET Hot Reload sur Visual Studio 2022
    Microsoft améliore l'expérience .NET Hot Reload sur Visual Studio 2022,
    la version de son éditeur qui va bénéficier de l'expérience complète

    L'expérience .NET Hot Reload a été annoncée pour la première fois dans Visual Studio 2019 version 16.11 (Preview 1) et via les outils de ligne de commande dotnet watch dans .NET 6 (Preview 4). Avec Hot Reload, vous pouvez désormais modifier le code source géré de vos applications pendant que l'application est en cours d'exécution, sans avoir besoin de mettre manuellement en pause ou d'atteindre un point d'arrêt. Effectuez simplement une modification prise en charge pendant l'exécution de votre application et, dans la nouvelle expérience Visual Studio, utilisez le bouton « Appliquer les modifications de code » pour appliquer vos modifications.

    Nom : dotnet-Hot-Reload-VS-2019-version-16_11.gif
Affichages : 8011
Taille : 239,4 Ko

    Hot Reload fonctionne avec de nombreux types de projets existants et à venir tels que WPF, Windows Forms, les Preview .NET MAUI, les applications ASP.NET Core code-behind, les applications console, WinUI 3 (débogueur géré requis) et bien d'autres. Cette prise en charge est très large avec l'expérience de base de tout projet alimenté par les environnements d'exécution .NET Framework ou CoreCLR.

    Avec Hot Reload, l'objectif de Microsoft est de rendre cette expérience disponible quelle que soit la manière dont vous préférez lancer votre application. Avec la version d'aujourd'hui, vous pouvez désormais utiliser cette expérience via l'expérience de débogage Visual Studio entièrement intégrée ou l'outil de ligne de commande dotnet watch, avec plus d'options à venir dans les versions ultérieures.

    Le plein potentiel sera débloqué dans Visual Studio 2022

    Microsoft a expliqué :

    « Plus tôt cette année, nous avons annoncé .NET Hot Reload, un projet ambitieux visant à proposer Hot Reload au plus grand nombre de développeurs .NET possible. Nous avons commencé ce voyage avec un premier aperçu disponible dans Visual Studio 2019 et promis beaucoup plus à venir dans Visual Studio 2022 où l'expérience complète serait livrée. Je suis ravi d'utiliser ce billet de blog pour vous tenir au courant de nos progrès vers cet objectif et de toutes les merveilleuses fonctionnalités qui arriveront le 8 novembre 2021 lorsque nous publierons en disponibilité générale.

    « Pour tous ceux qui découvrent Hot Reload, voici une introduction rapide. L'expérience Hot Reload dans Visual Studio fonctionne à la fois pour les applications managées .NET et C++ natives (fait amusant, nous n'avions pas prévu à l'origine de prendre en charge C++ dans la première version, mais nous y sommes parvenus !).

    « Quel que soit le type d'application sur laquelle vous travaillez, notre objectif avec Hot Reload est de vous économiser autant de redémarrages d'applications que possible entre les modifications, ce qui vous rend plus productif en réduisant le temps que vous passez à attendre que les applications soient reconstruites, redémarrées, re- accédez à l'emplacement précédent où vous étiez dans l'application elle-même, etc. Nous y parvenons en vous permettant de modifier les fichiers de code de vos applications et d'appliquer ces modifications de code immédiatement à l'application en cours d'exécution, également appelée "recharge à chaud" ».

    Frameworks et scénarios d'application pris en charge

    « Depuis que nous avons annoncé cette fonctionnalité en mai 2021, une question très courante était "Est-ce que Hot Reload fonctionnera avec mon combo d'applications .NET (framework/version)*?", nous avons fait d'énormes progrès pour répondre OUI dans la plupart des situations, ici sont les points forts :
    • Lorsque vous utilisez Visual Studio 2022 et démarrez votre application avec le débogueur, l'expérience de base de rechargement à chaud fonctionne avec la plupart des types d'applications .NET et de versions de framework, cela inclut .NET Framework, .NET Core et .NET 5+ (pour C# et VB. NET le cas échéant). Les types d'applications prises en charge incluent le Web (modifications de code), le bureau, le mobile, le cloud et d'autres types de projets. La règle clé ici est que si vous utilisez le débogueur, supposez que Hot Reload est disponible et essayez-le !
    • Lorsque vous utilisez Visual Studio 2022 mais que vous n'utilisez pas le débogueur (par exemple, en utilisant CTRL-F5 pour démarrer l'application), le rechargement à chaud est désormais disponible même sans le débogueur lors du ciblage de la plupart des types d'applications .NET 6. Cela signifie que les applications ne ciblant pas .NET 6 (.NET 5 ou inférieur) ne prendront pas en charge le scénario «*pas de débogueur*» et doivent utiliser le débogueur pour obtenir la prise en charge du rechargement à chaud.
    • Lorsque vous utilisez Visual Studio 2022 avec une application .NET 6, la plupart des types de scénarios sont pris en charge. Cela ne se limite pas simplement au scénario « sans débogueur » mentionné ci-dessus, il inclut également la prise en charge des types de projets tels que .NET MAUI et Blazor et plus généralement l'édition des fichiers Razor et CSS Hot Reload dans les applications ASP.NET. Il inclut également d'autres optimisations mineures dans des frameworks d'applications supplémentaires. L'utilisation à la fois de Visual Studio 2022 et la mise à jour de vos applications vers .NET 6 vous offriront définitivement l'expérience de rechargement à chaud la plus puissante et nous espérons que vous l'essayerez.

    Visual Studio 2022 lors de l'utilisation du débogueur

    Lors de l'utilisation de Visual Studio 2022 et du démarrage de l'application avec le débogueur, Hot Reload fonctionne avec la plupart des frameworks d'applications, y compris les types d'applications typiques tels que Console, Windows Forms (WinForms), WPF, UWP, WinUI 3 et la plupart des types de sites Web ASP.NET projets (pour les modifications de code-behind), y compris ASP.NET MVC, Web API et même des projets Web Forms plus anciens. WinUI 3 utilise par défaut le débogage en mode mixte qui ne prend pas en charge le rechargement à chaud. Vous pouvez modifier cela dans les paramètres du projet en activant le débogueur géré qui permettra au rechargement à chaud de fonctionner correctement.

    Cette liste n'est également qu'un exemple. La vraie réponse est partout où vous avez .NET et que vous utilisez le débogueur managé Visual Studio, vous devriez obtenir une prise en charge de base du rechargement à chaud.

    Cela signifie que même des projets tels que Azure Functions fonctionneront parfaitement dans ce scénario. Microsoft vous encourage à essayer votre combinaison et à l'informer si vous rencontrez des problèmes.

    Lors de l'utilisation de Visual Studio 2022 mais sans utiliser le débogueur

    Le rechargement à chaud est désormais disponible sans le débogueur lors du ciblage de la plupart des types d'applications .NET 6, y compris les types de projets tels que Console, WPF, Windows Forms (WinForms), ASP.NET Core MVC, Web API et Blazor. Microsoft sait que certains développeurs ont une bonne raison ou une préférence pour démarrer leurs applications sans le débogueur et espère que cette fonctionnalité supplémentaire leur donnera une valeur pour peu ou pas d'impact sur le temps de démarrage.

    Cette fonctionnalité est exclusive à .NET 6+ et les applications ne ciblant pas .NET 6 (.NET 5 ou inférieur) ne prendront pas en charge le scénario «*pas de débogueur*» et doivent utiliser le débogueur pour accéder à la fonctionnalité de rechargement à chaud.

    Sachez également que tous les types de projets ne seront pas pris en charge pour le scénario «*pas de débogueur*» dans la première version. Spécifiquement:
    • Les applications .NET MAUI et WinUI 3 continueront de fonctionner uniquement avec le rechargement à chaud lors de l'utilisation du débogueur. Microsoft espère améliorer cette situation dans une future version, mais n'est pas encore en mesure de communiquer un calendrier précis.
    • Les applications UWP ne sont pas non plus prises en charge pour le rechargement à chaud sans le débogueur, c'est par conception et il n'y a actuellement aucun plan pour améliorer cela.

    Lors de l'utilisation de Visual Studio 2022 avec une application .NET 6, la plupart des types de scénarios sont pris en charge

    Les développeurs capables d'utiliser à la fois Visual Studio 2022 et de travailler sur des applications qui ciblent .NET 6 bénéficieront de l'expérience de rechargement à chaud la plus aboutie et la plus performante.

    Voici les points saillants de ce qui est pris en charge*:
    • Applications .NET MAUI (iOS, Android et WinUI), y compris les applications .NET MAUI standard et .NET MAUI Blazor Hybrid
    • Applications Blazor (Serveur et WebAssembly). Dans la version Visual Studio 2022 en disponibilité générale, la prise en charge du rechargement à chaud pour Blazor WebAssembly lors de l'utilisation du débogueur Visual Studio n'est pas encore activée. Vous pouvez toujours obtenir un rechargement à chaud si vous démarrez votre application via Visual Studio sans le débogueur, et Microsoft travaille pour résoudre ce problème dans la prochaine mise à jour de Visual Studio.
    • Édition de fichiers Razor dans les sites Web Blazor et ASP.NET Core standard
    • Rechargement à chaud CSS
    • Possibilité d'obtenir la prise en charge du rechargement à chaud lors de l'exécution d'applications sans le débogueur.
    • Les développeurs ciblant .NET 6 continueront à bénéficier d'améliorations supplémentaires dans les futures mises à jour de Visual Studio 2022, la bande de fonctionnalités .NET et les versions majeures. Ce n'est que le début*!

    Scénarios non pris en charge

    Même dans la version finale, il y aura toujours des scénarios non pris en charge que vous devez connaître :
    • Les applications Xamarin.Forms ne prendront pas en charge le rechargement à chaud .NET dans les scénarios iOS et Android. Vous obtiendrez un rechargement à chaud lorsque vous ciblerez une application UWP. C'est par conception, et Microsoft ne prévoie pas d'apporter d'autres améliorations.
    • Les applications créées à l'aide de F# ou celles ciblant .NET Native ne prendront pas en charge le rechargement à chaud. (Remarque : XAML Hot Reload continuera d'être disponible et pris en charge pour les clients Xamarin.Forms sur le dernier SDK) Il existe d'autres limitations mineures connues et Microsoft va faire des communications sur certains problèmes et documents GitHub avec plus de détails dans les semaines à venir.

    Expérience utilisateur améliorée dans Visual Studio 2022

    L'expérience Hot Reload pour les développeurs .NET (et C++) dans Visual Studio 2022 a également subi des améliorations majeures. La barre d'outils a maintenant l'implémentation cible du bouton « Recharge à chaud » avec une apparence améliorée et plus de fonctionnalités.

    La première chose que vous remarquerez est le nouveau bouton de style déroulant avec une nouvelle icône. La commande est renommée et passe de «*Appliquer les modifications de code*» à « Rechargement à chaud ».

    Nom : commande.png
Affichages : 2165
Taille : 3,8 Ko

    L'expansion des boutons révèle un accès facile aux fonctionnalités telles que le redémarrage des applications en cours d'exécution, une bascule pour le rechargement à chaud lors de l'enregistrement et un accès rapide au nouveau panneau de paramètres.

    Voici plus de détails sur chacune des nouvelles fonctionnalités*:
    • Redémarrez facilement les applications*: vous pouvez désormais redémarrer facilement votre application en cours d'exécution si une modification grossière doit être appliquée via une reconstruction, que vous ayez démarré votre application à l'aide du débogueur ou que vous l'ayez démarrée sans le débogueur (NOUVEAU pour les applications .NET 6*!) .
    • Rechargement à chaud lors de l'enregistrement*: dans les versions précédentes, vous ne pouviez appliquer les modifications de rechargement à chaud que lors de l'enregistrement dans les projets ASP.NET, pour chaque autre projet, vous deviez cliquer explicitement sur le bouton Rechargement à chaud. Avec des améliorations récentes, il est désormais possible de recharger à chaud pour n'importe quel type de projet en appuyant simplement sur Enregistrer. Cette nouvelle fonctionnalité est facultative et, une fois activée, s'appliquera à toutes vos futures sessions Visual Studio, sauf si vous la désactivez.
    • Accès facile aux paramètres*: dans cette version, Microsoft a également ajouté un panneau de paramètres de rechargement à chaud pour vous donner plus de contrôle lorsque le rechargement à chaud est activé/désactivé. Vous pouvez accéder à ces paramètres dans Visual Studio « Options > .NET / C++ Hot Reload » ou via le menu déroulant des boutons Hot Reload en cliquant sur Paramètres.

    Microsoft a également ajouté une boîte de dialogue d'édition améliorée qui est disponible lors de l'exécution de votre application sans le débogueur.

    Nom : edition.png
Affichages : 2190
Taille : 59,7 Ko

    Cette nouvelle interface utilisateur comporte de nombreuses améliorations telles que*:
    • Une option à l'échelle de la session Visual Studio pour reconstruire et appliquer les modifications à chaque modification de rechargement à chaud. Une fois coché, cela s'applique jusqu'au redémarrage de Visual Studio
    • Une commande de reconstruction et d'application de vos modifications de code qui peut être accomplie en un seul clic, au lieu de plusieurs étapes manuelles
    • Et un accès facile aux paramètres
    • La boîte de dialogue vous permet également de continuer à éditer si vous ne souhaitez pas effectuer d'action automatisée comme cela était possible auparavant.

    Il existe une limitation connue, cette nouvelle boîte de dialogue ne sera pas disponible dans la version en disponibilité générale lors de l'utilisation du débogueur, mais le travail sera terminé dans une future mise à jour.

    Source : Microsoft

    Et vous ?

    Que pensez-vous de l'expérience .NET Hot Reload proposée par Visual Studio ?
    Qu'est-ce qui pourrait, selon vous, expliquer le fait que l'expérience complète ne soit proposée qu'à partir de Visual Studio 2022 alors qu'elle a été proposée pour la première fois dans Visual Studio 2019 version 16.11 (Preview 1) ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  11. #11
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Microsoft annule le changement controversé de .NET après le tollé de la communauté open source
    Microsoft annule le changement controversé de .NET après le tollé de la communauté open source,
    .NET 6 inclura désormais le rechargement à chaud sur plusieurs plateformes

    Microsoft revient sur sa décision de supprimer une fonctionnalité clé de sa prochaine version .NET 6, après un tollé général de la communauté open source. Il y a quelques jours, l'éditeur a décidé de supprimer un élément clé de Hot Reload dans la prochaine version de .NET 6, une fonctionnalité qui permet aux développeurs de modifier le code source pendant qu'une application est en cours d'exécution et de voir immédiatement les résultats. C'est une fonctionnalité que beaucoup attendaient avec impatience d'utiliser dans Visual Studio Code et sur plusieurs plateformes, jusqu'à ce que Microsoft prenne une décision controversée de dernière minute de la verrouiller à Visual Studio 2022.

    L'expérience .NET Hot Reload a été annoncée pour la première fois dans Visual Studio 2019 version 16.11 (Preview 1) et via les outils de ligne de commande dotnet watch dans .NET 6 (Preview 4). Avec Hot Reload, vous pouvez désormais modifier le code source géré de vos applications pendant que l'application est en cours d'exécution, sans avoir besoin de mettre manuellement en pause ou d'atteindre un point d'arrêt. Effectuez simplement une modification prise en charge pendant l'exécution de votre application et, dans la nouvelle expérience Visual Studio, utilisez le bouton « Appliquer les modifications de code » pour appliquer vos modifications.

    Nom : dotnet-Hot-Reload-VS-2019-version-16_11.gif
Affichages : 58788
Taille : 239,4 Ko

    Hot Reload fonctionne avec de nombreux types de projets existants et à venir tels que WPF, Windows Forms, les Preview .NET MAUI, les applications ASP.NET Core code-behind, les applications console, WinUI 3 (débogueur géré requis) et bien d'autres. Cette prise en charge est très large avec l'expérience de base de tout projet alimenté par les environnements d'exécution .NET Framework ou CoreCLR.

    Avec Hot Reload, l'objectif de Microsoft est de rendre cette expérience disponible quelle que soit la manière dont vous préférez lancer votre application. Avec la version d'aujourd'hui, vous pouvez désormais utiliser cette expérience via l'expérience de débogage Visual Studio entièrement intégrée ou l'outil de ligne de commande dotnet watch, avec plus d'options à venir dans les versions ultérieures.

    Mise à jour vers la prise en charge du rechargement à chaud via dotnet watch

    Il y a quelques jours, dans un billet de blog, Dmitry Lyalin, Principal Program Manager, .NET (Hot Reload, XAML Tooling & .NET MAUI) indiquait que l'expérience complète de Hot Reload sera livré avec Visual Studio 2022 :

    « Plus tôt cette année, nous avons annoncé .NET Hot Reload, un projet ambitieux visant à proposer Hot Reload au plus grand nombre de développeurs .NET possible. Nous avons commencé ce voyage avec un premier aperçu disponible dans Visual Studio 2019 et promis beaucoup plus à venir dans Visual Studio 2022 où l'expérience complète serait livrée. Je suis ravi d'utiliser ce billet de blog pour vous tenir au courant de nos progrès vers cet objectif et de toutes les merveilleuses fonctionnalités qui arriveront le 8 novembre 2021 lorsque nous publierons en disponibilité générale.

    « Pour tous ceux qui découvrent Hot Reload, voici une introduction rapide. L'expérience Hot Reload dans Visual Studio fonctionne à la fois pour les applications managées .NET et C++ natives (fait amusant, nous n'avions pas prévu à l'origine de prendre en charge C++ dans la première version, mais nous y sommes parvenus !).

    « Quel que soit le type d'application sur laquelle vous travaillez, notre objectif avec Hot Reload est de vous économiser autant de redémarrages d'applications que possible entre les modifications, ce qui vous rend plus productif en réduisant le temps que vous passez à attendre que les applications soient reconstruites, redémarrées, re- accédez à l'emplacement précédent où vous étiez dans l'application elle-même, etc. Nous y parvenons en vous permettant de modifier les fichiers de code de vos applications et d'appliquer ces modifications de code immédiatement à l'application en cours d'exécution, également appelée "recharge à chaud" ».

    Lors de son annonce, une partie à susciter la polémique, notamment :

    « Tout au long de l'année dernière, nous avons travaillé pour permettre la meilleure expérience de rechargement à chaud possible dans Visual Studio 2022 et .NET 6. Une partie de notre objectif était d'explorer également la mise à disposition de cette fonctionnalité aux clients via une variété de mécanismes tels que l'apport de la pleine la puissance de Hot Reload à autant de développeurs .NET et C++ que possible lors de l'exécution via le débogueur Visual Studio 2022, la prise en charge de Hot Reload lors de l'exécution d'applications .NET 6 sans le débogueur, et la prise en charge très basique de Hot Reload que nous avons ajoutée aux outils .NET SDK via dotnet watch.

    « Au fur et à mesure que nous réfléchissons à ce qui a été accompli et à ce qui nous attend encore, le retard continue de croître. Cela inclut de nombreux scénarios de grande valeur qui profiteront au plus grand nombre de développeurs, y compris des domaines d'intérêt tels que .NET MAUI, Blazor, l'ajout de la prise en charge de plus de types de modifications, une expérience plus optimisée lors de l'utilisation d'applications XAML, et bien plus encore.

    « Compte tenu de ces considérations, nous avons décidé qu'à partir de la prochaine version en disponibilité générale .NET 6, nous activerons la fonctionnalité de rechargement à chaud uniquement via Visual Studio 2022 afin que nous puissions nous concentrer sur la fourniture des meilleures expériences au plus grand nombre d'utilisateurs. Nous continuerons également à ajouter Hot Reload à Visual Studio pour Mac dans une future version ».

    Les développeurs l'ont interprété de différentes manières. Aussi, dans un soucis de clarification, Lyalin a indiqué : « Pour clarifier les choses, nous ne publions pas Hot Reload en tant que fonctionnalité de l'outil dotnet watch. Nous investissons toute notre énergie dans Visual Studio 2022 et travaillons pour prendre en charge le rechargement à chaud dans Visual Studio pour Mac dans une future version ».

    Cette précision a entraîné de vives critiques au sein de la communauté des développeurs, poussant l'équipe à rectifier sa trajectoire. Dans un billet de blog, Scott Hunter, Director Program Management, .NET s'est excusé au nom de l'équipe, demandant de l'indulgence, et a annoncé qu'elle revenait sur sa décision :

    « La semaine dernière, notre article de blog et la suppression de la capacité de rechargement à chaud du référentiel .NET SDK ont suscité de nombreux retours de la communauté.

    « Tout d'abord, nous voulons nous excuser. Nous avons fait une erreur en exécutant notre décision et avons pris plus de temps que prévu pour répondre à la communauté. Nous avons approuvé le Pull Request visant à réactiver ce chemin de code et il fera parti de la version en disponibilité générale .NET 6.

    « En tant qu'équipe, nous nous engageons à ce que .NET soit une plateforme ouverte et la développons de manière transparente. Le fait même que nous ayons décidé d'adopter une posture ouverte par défaut dès le départ pour développer la fonctionnalité Hot Reload en est la preuve. Cela dit, comme toute équipe de développement, nous devons de temps en temps examiner la qualité, le temps, les ressources pour faire des compromis tout en continuant à progresser. La grande majorité des développeurs .NET utilisent Visual Studio et nous voulons nous assurer que VS offre la meilleure expérience pour .NET 6.

    « Le temps étant de plus en plus court pour la publication des versions .NET 6 et Visual Studio 2022, nous avons choisi de nous concentrer d'abord sur l'introduction de Hot Reload vers VS 2022. Nous avons fait une erreur en exécutant ce plan dans la façon dont il a été exécuté. Dans notre effort de portée, nous avons fini par supprimer le code source par inadvertance au lieu de simplement ne pas appeler ce chemin de code. Nous avons sous-estimé le nombre de développeurs qui dépendent de cette capacité dans leurs environnements dans tous les scénarios, et comment la CLI était utilisée avec Visual Studio pour stimuler la productivité de la boucle interne par beaucoup.

    « Nous sommes toujours à l'écoute des commentaires de nos clients pour répondre à leurs besoins. Merci d'avoir fait entendre vos commentaires. Nous sommes désolés d'avoir bouleversé tant de membres de la communauté à cause de ce changement sur de nombreux paramètres, notamment le timing et l'exécution.

    « Notre volonté est de créer un écosystème ouvert et dynamique pour .NET. Comme c'est le cas pour de nombreuses entreprises, nous apprenons à équilibrer les besoins de la communauté OSS et à être un sponsor d'entreprise pour .NET. Parfois, nous ne comprenons pas bien. Lorsque nous ne le faisons pas, le mieux que nous puissions faire est d'apprendre de nos erreurs et de mieux avancer ».

    Frameworks et scénarios d'application pris en charge

    « Depuis que nous avons annoncé cette fonctionnalité en mai 2021, une question très courante était "Est-ce que Hot Reload fonctionnera avec mon combo d'applications .NET (framework/version) ?", nous avons fait d'énormes progrès pour répondre OUI dans la plupart des situations, ici sont les points forts :
    • Lorsque vous utilisez Visual Studio 2022 et démarrez votre application avec le débogueur, l'expérience de base de rechargement à chaud fonctionne avec la plupart des types d'applications .NET et de versions de framework, cela inclut .NET Framework, .NET Core et .NET 5+ (pour C# et VB. NET le cas échéant). Les types d'applications prises en charge incluent le Web (modifications de code), le bureau, le mobile, le cloud et d'autres types de projets. La règle clé ici est que si vous utilisez le débogueur, supposez que Hot Reload est disponible et essayez-le !
    • Lorsque vous utilisez Visual Studio 2022 mais que vous n'utilisez pas le débogueur (par exemple, en utilisant CTRL-F5 pour démarrer l'application), le rechargement à chaud est désormais disponible même sans le débogueur lors du ciblage de la plupart des types d'applications .NET 6. Cela signifie que les applications ne ciblant pas .NET 6 (.NET 5 ou inférieur) ne prendront pas en charge le scénario «*pas de débogueur*» et doivent utiliser le débogueur pour obtenir la prise en charge du rechargement à chaud.
    • Lorsque vous utilisez Visual Studio 2022 avec une application .NET 6, la plupart des types de scénarios sont pris en charge. Cela ne se limite pas simplement au scénario « sans débogueur » mentionné ci-dessus, il inclut également la prise en charge des types de projets tels que .NET MAUI et Blazor et plus généralement l'édition des fichiers Razor et CSS Hot Reload dans les applications ASP.NET. Il inclut également d'autres optimisations mineures dans des frameworks d'applications supplémentaires. L'utilisation à la fois de Visual Studio 2022 et la mise à jour de vos applications vers .NET 6 vous offriront définitivement l'expérience de rechargement à chaud la plus puissante et nous espérons que vous l'essayerez.

    Visual Studio 2022 lors de l'utilisation du débogueur

    Lors de l'utilisation de Visual Studio 2022 et du démarrage de l'application avec le débogueur, Hot Reload fonctionne avec la plupart des frameworks d'applications, y compris les types d'applications typiques tels que Console, Windows Forms (WinForms), WPF, UWP, WinUI 3 et la plupart des types de sites Web ASP.NET projets (pour les modifications de code-behind), y compris ASP.NET MVC, Web API et même des projets Web Forms plus anciens. WinUI 3 utilise par défaut le débogage en mode mixte qui ne prend pas en charge le rechargement à chaud. Vous pouvez modifier cela dans les paramètres du projet en activant le débogueur géré qui permettra au rechargement à chaud de fonctionner correctement.

    Cette liste n'est également qu'un exemple. La vraie réponse est partout où vous avez .NET et que vous utilisez le débogueur managé Visual Studio, vous devriez obtenir une prise en charge de base du rechargement à chaud.

    Cela signifie que même des projets tels que Azure Functions fonctionneront parfaitement dans ce scénario. Microsoft vous encourage à essayer votre combinaison et à l'informer si vous rencontrez des problèmes.

    Lors de l'utilisation de Visual Studio 2022 mais sans utiliser le débogueur

    Le rechargement à chaud est désormais disponible sans le débogueur lors du ciblage de la plupart des types d'applications .NET 6, y compris les types de projets tels que Console, WPF, Windows Forms (WinForms), ASP.NET Core MVC, Web API et Blazor. Microsoft sait que certains développeurs ont une bonne raison ou une préférence pour démarrer leurs applications sans le débogueur et espère que cette fonctionnalité supplémentaire leur donnera une valeur pour peu ou pas d'impact sur le temps de démarrage.

    Cette fonctionnalité est exclusive à .NET 6+ et les applications ne ciblant pas .NET 6 (.NET 5 ou inférieur) ne prendront pas en charge le scénario « pas de débogueur » et doivent utiliser le débogueur pour accéder à la fonctionnalité de rechargement à chaud.

    Sachez également que tous les types de projets ne seront pas pris en charge pour le scénario « pas de débogueur » dans la première version. Spécifiquement:
    • Les applications .NET MAUI et WinUI 3 continueront de fonctionner uniquement avec le rechargement à chaud lors de l'utilisation du débogueur. Microsoft espère améliorer cette situation dans une future version, mais n'est pas encore en mesure de communiquer un calendrier précis.
    • Les applications UWP ne sont pas non plus prises en charge pour le rechargement à chaud sans le débogueur, c'est par conception et il n'y a actuellement aucun plan pour améliorer cela.

    Lors de l'utilisation de Visual Studio 2022 avec une application .NET 6, la plupart des types de scénarios sont pris en charge

    Les développeurs capables d'utiliser à la fois Visual Studio 2022 et de travailler sur des applications qui ciblent .NET 6 bénéficieront de l'expérience de rechargement à chaud la plus aboutie et la plus performante.

    Voici les points saillants de ce qui est pris en charge :
    • Applications .NET MAUI (iOS, Android et WinUI), y compris les applications .NET MAUI standard et .NET MAUI Blazor Hybrid
    • Applications Blazor (Serveur et WebAssembly). Dans la version Visual Studio 2022 en disponibilité générale, la prise en charge du rechargement à chaud pour Blazor WebAssembly lors de l'utilisation du débogueur Visual Studio n'est pas encore activée. Vous pouvez toujours obtenir un rechargement à chaud si vous démarrez votre application via Visual Studio sans le débogueur, et Microsoft travaille pour résoudre ce problème dans la prochaine mise à jour de Visual Studio.
    • Édition de fichiers Razor dans les sites Web Blazor et ASP.NET Core standard
    • Rechargement à chaud CSS
    • Possibilité d'obtenir la prise en charge du rechargement à chaud lors de l'exécution d'applications sans le débogueur.
    • Les développeurs ciblant .NET 6 continueront à bénéficier d'améliorations supplémentaires dans les futures mises à jour de Visual Studio 2022, la bande de fonctionnalités .NET et les versions majeures. Ce n'est que le début*!

    Scénarios non pris en charge

    Même dans la version finale, il y aura toujours des scénarios non pris en charge que vous devez connaître :
    • Les applications Xamarin.Forms ne prendront pas en charge le rechargement à chaud .NET dans les scénarios iOS et Android. Vous obtiendrez un rechargement à chaud lorsque vous ciblerez une application UWP. C'est par conception, et Microsoft ne prévoie pas d'apporter d'autres améliorations.
    • Les applications créées à l'aide de F# ou celles ciblant .NET Native ne prendront pas en charge le rechargement à chaud. (Remarque : XAML Hot Reload continuera d'être disponible et pris en charge pour les clients Xamarin.Forms sur le dernier SDK) Il existe d'autres limitations mineures connues et Microsoft va faire des communications sur certains problèmes et documents GitHub avec plus de détails dans les semaines à venir.

    Source : Microsoft
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  12. #12
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 135
    Points : 46 048
    Points
    46 048
    Par défaut Microsoft publie la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud
    Microsoft a publié la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud pour les applications natives C++
    cette version est disponible uniquement en 64 bits

    Microsoft a annoncé lundi la disponibilité générale de Visual Studio 2022 avec de nouvelles fonctionnalités et améliorations pour faciliter la programmation en Visual C++, Visual Basic, C#, F#, Python et autres. Visual Studio 2022 est la première version 64 bits de l'EDI. En rendant Visual Studio 64 bits, les responsables ont déclaré qu'ils s'attendaient à ce que la version utilise mieux toutes les ressources du système, en particulier lors du travail sur des solutions plus complexes sur de longues périodes. Voici une liste des nouveautés et des améliorations les plus importantes introduites dans Visual Studio 2022.



    Services de cloud Azure

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


    Développement C++

    • les outils de construction v143 sont maintenant disponibles via l'installateur Visual Studio ainsi que les outils de construction autonomes ;
    • la nouvelle expérience de rechargement à chaud est désormais disponible pour les applications C++ natives lorsqu'elles sont exécutées sous le débogueur. Il prend en charge les projets MSBuild et CMake ;
    • vous pouvez maintenant construire et déboguer en mode natif sur WSL2 sans établir de connexion SSH. Les projets CMake multiplateformes et les projets Linux basés sur MSBuild sont tous deux pris en charge ;
    • Visual Studio prend désormais en charge l'option buildPresets.targets dans CMakePresets.json. Cela vous permet de construire un sous-ensemble de cibles dans votre projet CMake ;
    • le menu Projet dans les projets CMake a été simplifié et expose les options "Supprimer le cache et reconfigurer" et "Voir le cache" ;
    • les pages de présentation de CMake ont été mises à jour pour supporter CMakePresets.json ;
    • vous pouvez désormais déboguer les processus s'exécutant sur un système distant depuis Visual Studio avec LLDB.
    • nous avons mis à jour la version de CMake livrée avec Visual Studio à la version 3.21 ;
    • les outils LLVM livrés avec Visual Studio ont été mis à niveau vers LLVM 12 ;
    • l'ensemble d'outils MSVC utilise désormais par défaut le hachage de source SHA-256 dans les enregistrements de débogage. Auparavant, le jeu d'outils utilisait par défaut le MD5 pour le hachage des sources ;
    • la charge de travail sur le développement de jeux avec C++ installe maintenant la dernière version d'Unreal Engine avec le support de Visual Studio 2022 ;
    • des améliorations ont été apportées à l'IntelliSense C++ lors de la navigation et de la mise en évidence de la syntaxe pour les types provenant de modules et d'unités d'en-tête importés ;
    • amélioration des performances d'IntelliSense C++ en optimisant l'utilisation des en-têtes en cache et l'accès à la base de données des symboles, ce qui permet d'améliorer les temps de chargement pour entrer dans votre code ;
    • le Linter de code IntelliSense pour C++ est maintenant activé par défaut. Il fournit des suggestions instantanées de type "as-you-type" et des suggestions de correction pour les défauts de code courants ;
    • prise en charge de libfuzzer avec l'option -fsanitize=fuzzer ;
    • amélioration de la détection de déréférencement des pointeurs null dans notre outil d'analyse de code ;
    • l'analyse de code impose désormais que les valeurs de retour des fonctions annotées avec _Check_return_ ou _Must_inspect_result_ soient vérifiées ;
    • ajout du support de gsl::not_null à l'analyse de code ;
    • mise à jour vers NDK r21 LTS dans la charge de travail C++ Mobile Development ;
    • les en-têtes AMP C++ sont désormais obsolètes. Inclure <amp.h> dans un projet C++ générera des erreurs de construction. Pour faire taire les erreurs, définissez _SILENCE_AMP_DEPRECATION_WARNINGS ;
    • etc.


    Débogage et diagnostic

    • améliorations de l'aide aux exceptions ;
    • analyse diagnostique par vidage de mémoire ;
    • un nouveau type de point d'arrêt appelé Point d'arrêt dépendant (Dependent Breakpoint), qui vous permet de configurer un point d'arrêt pour qu'il ne soit activé que si un autre point d'arrêt est d'abord touché ;
    • ajout de nouvelles mises à jour au nœud Sources Extrenales, vous pouvez maintenant voir le module sous le sous-nœud "Modules without Sources" et charger les symboles à partir de l'explorateur de solutions lui-même ;
    • point de rupture temporaire ;
    • point de rupture par glisser-déposer ;
    • etc.


    Personnalisation

    • ajout d'onglets de couleur pour les onglets verticaux et horizontaux ;
    • ajout du pack de thèmes et collaboration avec les auteurs de thèmes VS Code pour lancer une collection de thèmes personnalisés ;
    • création d'un convertisseur de thèmes pour convertir les thèmes VS Code et les faire fonctionner dans Visual Studio 2022 ;
    • ajout de la possibilité de synchroniser le thème de Visual Studio avec le thème de Windows ;
    • ajout de nouvelles capacités de gestion des 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 ;
    • etc.


    Éditeur

    • ajout de la navigation par "sous-mots" ;
    • l'enregistrement automatique est désormais disponible en tant que fonction d'aperçu ;
    • possibilité de copier/coller à partir de plusieurs onglets ;
    • etc.


    Extensibilité

    • suppression des API des assemblées Microsoft.VisualStudio.Language.Client ;
    • VS SDK contient plusieurs changements de rupture et les extensions Visual Studio 2019 ne fonctionneront pas en 2022 ;
    • les assemblages de référence VS SDK ne sont plus installés dans le dossier VSSDK\VisualStudioIntegration\Common\Assemblies. Si votre construction dépendait de ces assemblages, veuillez migrer votre projet pour utiliser les paquets NuGet à la place ;
    • ajout de corrections de changements de rupture pour ILanguageClient ;
    • etc.


    Services Cloud

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


    Outillage Git

    • prise en charge des dépôts multiples sous un drapeau de prévisualisation pour toute solution qui s'étend sur différents dépôts (c'est-à-dire les solutions avec des projets hébergés dans différents dépôts Git) ;
    • la publication vers Azure DevOps est désormais entièrement prise en charge dans l'expérience de création de dépôt Git ;
    • améliorations de la barre d'état, notamment la possibilité d'afficher et d'ouvrir des dépôts à partir d'un VS vide et d'afficher le nombre de commits non retirés ;
    • le menu de débordement de la fenêtre Modifications Git est maintenant disponible pour les dépôts locaux uniquement avec des opérations git supplémentaires ;
    • la barre d'outils Diff unifiée contenant le nombre de lignes ajoutées/supprimées et des options de configuration découvrables ;
    • améliorations des détails des engagements, y compris une interface utilisateur plus réactive et plus conviviale ;
    • etc.


    Le rechargement à chaud

    • le rechargement à chaud est désormais disponible pour les développeurs .NET via le débogueur de Visual Studio et sans débogueur pour de nombreux types d'applications .NET 6.


    IntelliCode

    • les complétions de ligne entière prédisent votre prochain morceau de code C# en fonction de votre contexte actuel, et le présente comme une suggestion en ligne à droite de votre curseur ;
    • les complétions de lignes entières sont maintenant compatibles avec les dernières versions de JetBrains ReSharper. Notez que la mise à jour du contexte de complétion de ligne basée sur la sélection de la liste des complétions personnalisées de ReSharpers n'est pas supportée - si nécessaire, les utilisateurs de ReSharper peuvent choisir d'utiliser l'IntelliSense natif de Visual Studio à la place ;
    • etc.


    JavaScript/TypeScript

    • un nouveau type de projet JavaScript/TypeScript qui permet de créer des projets JavaScript/TypeScript autonomes avec des outils supplémentaires. Vous serez en mesure de 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 ;
    • l'interface graphique npm est disponible. Vous pouvez désormais télécharger des modules npm de la même manière que vous téléchargez des paquets Nuget ;
    • etc.


    Productivité .NET

    • le SDK .NET 6 est inclus dans Visual Studio 2022 ;
    • l'introduction du refactoring des paramètres permet de déplacer un nouveau paramètre de l'implémentation de la méthode vers ses appelants ;
    • suivi de la source des valeurs pour l'analyse du 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 Generate Overrides ;
    • l'info-bulle pour les balises XML <code> préserve désormais les espaces et les blocs CDATA ;
    • la fenêtre Find All References regroupe désormais les projets multi-cibles ;
    • "Go to Implementation" ne navigue plus vers les membres dont les déclarations abstraites sont également surchargées ;
    • synchronisation des espaces de noms pour qu'ils correspondent à la structure de votre dossier à partir de l'explorateur de solutions ;
    • configuration de l'analyse du code en arrière-plan à partir de l'explorateur de solutions ;
    • les types de référence annulables sont désormais activés par défaut pour les nouveaux projets .NET ;
    • la navigation vers les sources décompilées est maintenant activé par défaut ;
    • les commentaires XML génèrent désormais automatiquement une balise <exception> lorsqu'une méthode lève explicitement des exceptions ;
    • la marge d'héritage est désormais activée par défaut ;
    • etc.


    É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 ;
    • meilleur formatage dans les blocs @code lorsqu'il y a des composants HTML et Razor imbriqués ;
    • support du rechargement à chaud dans les fichiers Razor ;
    • etc.


    Amélioration des performances

    • amélioration du formatage et de l'indentation ;
    • nouvelles couleurs de l'éditeur Razor ;
    • les TagHelpers sont désormais colorés et disposent d'un support de classification d'informations rapides et d'infobulles d'achèvement ;
    • mise en évidence des accolades et navigation pour les constructions Razor ;
    • les commentaires sont désormais dotés de l'autocomplétion, de l'indentation intelligente, de l'inclusion automatique de la continuité des commentaires et de la navigation dans les blocs de commentaires ;
    • etc.


    Tests à distance

    • aperçu expérimental très précoce de la possibilité d'exécuter des tests sur des environnements distants tels que des conteneurs linux, WSL et sur des connexions SSH ;
    • support des outils de test ;
    • etc.


    Source : Visual Studio 2022

    Et vous ?

    Que pensez-vous des changements introduits par Visual Studio 2022 ?

    Voir aussi

    Microsoft présente Visual Studio 2022, la prochaine version majeure de Visual Studio. La première Public Preview sera disponible cet été

    Visual Studio 2022 Preview 4 est disponible et s'accompagne d'améliorations sur la productivité personnelle et d'équipe, le chargement à chaud dans ASP.NET Core et la gestion de thèmes

    Visual Studio 2022 64-bit Preview 2 est disponible, elle apporte de nouvelles fonctionnalités et permet de créer des applications multiplateformes

    Visual Studio 2022 Preview 3 est disponible et s'accompagne de la possibilité d'effectuer des tests à distance sur plusieurs plateformes, ainsi que d'une amélioration du thème sombre

    Microsoft améliore l'expérience .NET Hot Reload sur Visual Studio 2022, la version de son éditeur qui va bénéficier de l'expérience complète
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  13. #13
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 456
    Points : 155 276
    Points
    155 276
    Par défaut Microsoft annonce la sortie de C# 10 dans le cadre de .NET 6 et Visual Studio 2022
    Microsoft annonce la sortie de C# 10 dans le cadre de .NET 6 et Visual Studio 2022.
    C# 10 apporte des améliorations aux expressions lambda et plusieurs fonctionnalités

    « Aujourd'hui, nous sommes heureux d'annoncer la sortie de C# 10 dans le cadre de .NET 6 et Visual Studio 2022 », a indiqué Kathleen Dollard, Principal Program Manager, .NET. Voici les améliorations et nouveautés apportées par cette version.

    Utilisations globales et implicites

    Les directives using simplifient la façon dont vous travaillez avec les espaces de noms. C# 10 inclut une nouvelle directive using global et des utilisations implicites pour réduire le nombre d'utilisations que vous devez spécifier en haut de chaque fichier.

    Directives global using

    Si le mot-clé global apparaît avant une directive using, cette utilisation s'applique à l'ensemble du projet*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    global using System;

    Vous pouvez utiliser n'importe quelle fonctionnalité de using dans une directive using global. Par exemple, l'ajout de static importe un type et rend les membres du type et les types imbriqués disponibles dans tout votre projet. Si vous utilisez un alias dans votre directive using, cet alias affectera également l'ensemble de votre projet*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    global using static System.Console;
    global using Env = System.Environment;

    Vous pouvez mettre using global dans n'importe quel fichier .cs, y compris Program.cs ou un fichier spécifiquement nommé comme globalusings.cs. Le périmètre de using global est la compilation en cours, qui correspond généralement au projet en cours.

    modificateur static

    La directive using static nomme un type dont les membres statiques et les types imbriqués vous pouvez accéder sans spécifier de nom de type. La directive using static a été introduite avec C# 6. Sa syntaxe est la suivante :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    using static <nom de type complet>;

    Le <nom de type complet> est le nom du type dont les membres statiques et les types imbriqués peuvent être référencés sans spécifier de nom de type. Si vous ne fournissez pas de nom de type qualifié complet (le nom d’espace de noms complet avec le nom de type), C# génère l’erreur de compilateur CS0246: « le type ou le nom d’espace de noms’type/espace de noms’est introuvable (une directive using ou une référence d'assemblage est-elle manquante ?) ».

    La directive using static s’applique à tout type ayant des membres statiques (ou des types imbriqués), même s’il a également des membres d’instance. Toutefois, les membres d’instance ne peuvent être appelés que par l’instance du type.

    Vous pouvez accéder aux membres statiques d'un type sans devoir qualifier l'accès avec le nom du type :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    using static System.Console;
    using static System.Math;
    class Program
    {
        static void Main()
        {
            WriteLine(Sqrt(3*3 + 4*4));
        }
    }

    En général, quand vous appelez un membre statique, vous indiquez le nom du type, ainsi que le nom du membre. Entrer plusieurs fois le même nom de type pour appeler des membres du type peut produire du code détaillé et peu clair. Par exemple, la définition suivante d’une classe Circle fait référence à de nombreux membres de la classe Math :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    using System;
     
    public class Circle
    {
       public Circle(double radius)
       {
          Radius = radius;
       }
     
       public double Radius { get; set; }
     
       public double Diameter
       {
          get { return 2 * Radius; }
       }
     
       public double Circumference
       {
          get { return 2 * Radius * Math.PI; }
       }
     
       public double Area
       {
          get { return Math.PI * Math.Pow(Radius, 2); }
       }
    }

    En éliminant la nécessité de référencer explicitement la classe Math chaque fois qu’un membre est référencé, la directive using static génère du code plus propre :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    using System;
    using static System.Math;
     
    public class Circle
    {
       public Circle(double radius)
       {
          Radius = radius;
       }
     
       public double Radius { get; set; }
     
       public double Diameter
       {
          get { return 2 * Radius; }
       }
     
       public double Circumference
       {
          get { return 2 * Radius * PI; }
       }
     
       public double Area
       {
          get { return PI * Pow(Radius, 2); }
       }
    }

    using static importe uniquement les membres statiques accessibles et les types imbriqués déclarés dans le type spécifié. Les membres hérités ne sont pas importés. vous pouvez importer à partir de n’importe quel type nommé avec une directive using static, y compris Visual Basic modules. Si des fonctions de niveau supérieur F# apparaissent dans les métadonnées comme membres statiques d’un type nommé dont le nom est un identificateur C# valide, les fonctions F# peuvent être importées.

    using static rend les méthodes d'extension déclarées dans le type spécifié disponibles pour la recherche de méthode d'extension. Toutefois, les noms des méthodes d’extension ne sont pas importés dans la portée pour une référence non qualifiée dans le code.

    Les méthodes portant le même nom et qui sont importées à partir de différents types par différentes directives using static dans la même unité de compilation ou le même espace de noms forment un groupe de méthodes. La résolution de surcharge au sein de ces groupes de méthodes suit des règles C# normales.

    L’exemple suivant utilise la directive using static pour que les membres statiques des classes Console, Math et String soient disponibles sans que vous ayez à spécifier leur nom de type :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    using System;
    using static System.Console;
    using static System.Math;
    using static System.String;
     
    class Program
    {
       static void Main()
       {
          Write("Enter a circle's radius: ");
          var input = ReadLine();
          if (!IsNullOrEmpty(input) && double.TryParse(input, out var radius)) {
             var c = new Circle(radius);
     
             string s = "\nInformation about the circle:\n";
             s = s + Format("   Radius: {0:N2}\n", c.Radius);
             s = s + Format("   Diameter: {0:N2}\n", c.Diameter);
             s = s + Format("   Circumference: {0:N2}\n", c.Circumference);
             s = s + Format("   Area: {0:N2}\n", c.Area);
             WriteLine(s);
          }
          else {
             WriteLine("Invalid input...");
          }
       }
    }
     
    public class Circle
    {
       public Circle(double radius)
       {
          Radius = radius;
       }
     
       public double Radius { get; set; }
     
       public double Diameter
       {
          get { return 2 * Radius; }
       }
     
       public double Circumference
       {
          get { return 2 * Radius * PI; }
       }
     
       public double Area
       {
          get { return PI * Pow(Radius, 2); }
       }
    }
    // The example displays the following output:
    //       Enter a circle's radius: 12.45
    //
    //       Information about the circle:
    //          Radius: 12.45
    //          Diameter: 24.90
    //          Circumference: 78.23
    //          Area: 486.95

    Dans cet exemple, la directive using static aurait également pu être appliquée au type Double. L’ajout de cette directive permet d’appeler la méthode TryParse(String, Double) sans spécifier de nom de type. Toutefois, l’utilisation de TryParse sans nom de type crée un code moins lisible, puisqu’il est nécessaire de vérifier les directives using static pour déterminer la méthode du type numérique que TryParse appelle.

    Nom : un.png
Affichages : 4363
Taille : 144,8 Ko

    ImplicitUsing

    La fonctionnalité ImplicitUsing ajoute automatiquement des directives global using communes pour le type de projet que vous créez. Pour activer les utilisations implicites, définissez la propriété ImplicitUsings dans votre fichier .csproj*:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <PropertyGroup>
        <!-- Other properties like OutputType and TargetFramework -->
        <ImplicitUsings>enable</ImplicitUsings>
    </PropertyGroup>

    Les utilisations implicites sont activées dans les nouveaux modèles .NET 6.

    L'ensemble spécifique de directives d'utilisation globales incluses dépend du type d'application que vous créez. Par exemple, les utilisations implicites d'une application console ou d'une bibliothèque de classes sont différentes de celles d'une application ASP.NET.

    Combiner les fonctionnalités using

    Les directives using traditionnelles en haut de vos fichiers, les directives using globales et les utilisations implicites fonctionnent bien ensemble. Les utilisations implicites vous permettent d'inclure les espaces de noms .NET appropriés au type de projet que vous créez avec une seule ligne dans votre fichier de projet. Les directives d'utilisation globales vous permettent d'inclure des espaces de noms supplémentaires pour les rendre disponibles tout au long de votre projet. Les directives using en haut de vos fichiers de code vous permettent d'inclure des espaces de noms utilisés par quelques fichiers seulement dans votre projet.

    Quelle que soit la façon dont elles sont définies, les directives using supplémentaires augmentent la possibilité d'ambiguïté dans la résolution de noms. Si vous rencontrez ce problème, envisagez d'ajouter un alias ou de réduire le nombre d'espaces de noms que vous importez. Par exemple, vous pouvez remplacer les directives using globales par des directives using explicites en haut d'un sous-ensemble de fichiers.

    Si vous devez supprimer des espaces de noms qui ont été inclus via des utilisations implicites, vous pouvez les spécifier dans votre fichier projet*:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <ItemGroup>
      <Using Remove="System.Threading.Tasks" />
    </ItemGroup>

    Vous pouvez également ajouter un espace de noms qui se comporte comme s'il s'agissait de directives using globales, vous pouvez ajouter des éléments Using à votre fichier projet, par exemple*:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <ItemGroup>
      <Using Include="System.IO.Pipes" />
    </ItemGroup>

    Espaces de noms qui portent sur un fichier

    De nombreux fichiers contiennent du code pour un seul espace de noms. À partir de C# 10, vous pouvez inclure un espace de noms en tant qu'instruction, suivi d'un point-virgule et sans les accolades*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    namespace MyCompany.MyNamespace;
     
    class MyClass // Note: no indentation
    { ... }

    Cela simplifie le code et supprime un niveau d'imbrication. Une seule déclaration d'espace de noms à portée de fichier est autorisée, et elle doit intervenir avant que les types ne soient déclarés.

    Le mot clé namespace est utilisé pour déclarer une portée qui contient un ensemble d’objets connexes. Vous pouvez utiliser un espace de noms pour organiser les éléments de code et créer des types globaux uniques.

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    namespace SampleNamespace
    {
        class SampleClass { }
     
        interface ISampleInterface { }
     
        struct SampleStruct { }
     
        enum SampleEnum { a, b }
     
        delegate void SampleDelegate(int i);
     
        namespace Nested
        {
            class SampleClass2 { }
        }
    }

    Les déclarations d’espaces de noms avec étendue de fichier vous permettent de déclarer que tous les types d’un fichier se trouvent dans un espace de noms unique. Les déclarations d’espaces de noms avec étendue de fichier sont disponibles avec C# 10. L’exemple suivant est similaire à l’exemple précédent, mais utilise une déclaration d’espace de noms avec étendue de fichier :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    using System;
     
    namespace SampleFileScopedNamespace;
     
    class SampleClass { }
     
    interface ISampleInterface { }
     
    struct SampleStruct { }
     
    enum SampleEnum { a, b }
     
    delegate void SampleDelegate(int i);

    L’exemple précédent n’inclut pas d’espace de noms imbriqué. Les espaces de noms de portée de fichier ne peuvent pas inclure de déclarations d’espaces de noms supplémentaires. Vous ne pouvez pas déclarer un espace de noms imbriqué ou un deuxième espace de noms de portée de fichier :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    namespace SampleNamespace;
     
    class AnotherSampleClass
    {
        public void AnotherSampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
     
    namespace AnotherNamespace; // Not allowed!
     
    namespace ANestedNamespace // Not allowed!
    {
       // declarations...
    }

    Améliorations des expressions lambda et des groupes de méthodes

    Microsoft a apporté plusieurs améliorations aux types et à la syntaxe entourant les lambdas. L'entreprise s'attend à ce que ceux-ci soient largement utiles, et l'un des scénarios de conduite a été de rendre les API ASP.NET minimales encore plus simples.

    Types naturels pour les lambdas

    Les expressions lambda ont maintenant parfois un type « naturel ». Cela signifie que le compilateur peut souvent déduire le type de l'expression lambda.

    Jusqu'à présent, une expression lambda devait être convertie en un délégué ou un type d'expression. Dans la plupart des cas, vous utiliserez l'un des types de délégués surchargés Func<...> ou Action<...> dans la BCL*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    Func<string, int> parse = (string s) => int.Parse(s);

    À partir de C# 10, cependant, si un lambda n'a pas un tel « type cible », l'éditeur va essayer d'en calculer un pour vous*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var parse = (string s) => int.Parse(s);

    Vous pouvez survoler var parse dans votre éditeur et voir que le type est toujours Func<string, int>. En général, le compilateur utilisera un délégué Func ou Action disponible, s'il en existe un approprié. Sinon, il synthétisera un type délégué (par exemple, lorsque vous avez des paramètres ref ou que vous avez un grand nombre de paramètres).

    Tous les lambdas n'ont pas de types naturels - certains n'ont tout simplement pas assez d'informations sur les types. Par exemple, omettre les types de paramètres laissera le compilateur incapable de décider quel type de délégué utiliser*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    var parse = s => int.Parse(s); // ERROR: Not enough type info in the lambda

    Le type naturel des lambdas signifie qu'ils peuvent être affectés à un type plus faible, tel que objet ou Delegate*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    object parse = (string s) => int.Parse(s);   // Func<string, int>
    Delegate parse = (string s) => int.Parse(s); // Func<string, int>

    En ce qui concerne les arbres d'expression, Microsoft fait une combinaison de typage «*cible*» et «*naturel*». Si le type cible est LambdaExpression ou l'Expression non générique (type de base pour toutes les arborescences d'expressions) et que lambda a un type délégué naturel D, l'éditeur produira à la place une Expression<D>*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LambdaExpression parseExpr = (string s) => int.Parse(s); // Expression<Func<string, int>>
    Expression parseExpr = (string s) => int.Parse(s);       // Expression<Func<string, int>>

    Types naturels pour les groupes de méthodes

    Les groupes de méthodes (c'est-à-dire les noms de méthodes sans listes d'arguments) ont maintenant aussi parfois un type naturel. Vous avez toujours pu convertir un groupe de méthodes en un type délégué compatible*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Func<int> read = Console.Read;
    Action<string> write = Console.Write;

    Maintenant, si le groupe de méthodes n'a qu'une seule surcharge, il aura un type naturel*:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var read = Console.Read; // Just one overload; Func<int> inferred
    var write = Console.Write; // ERROR: Multiple overloads, can't choose

    Source : Microsoft

    Voir aussi

    Microsoft présente Visual Studio 2022, la prochaine version majeure de Visual Studio. La première Public Preview sera disponible cet été
    Visual Studio 2022 Preview 4 est disponible et s'accompagne d'améliorations sur la productivité personnelle et d'équipe, le chargement à chaud dans ASP.NET Core et la gestion de thèmes
    Visual Studio 2022 64-bit Preview 2 est disponible, elle apporte de nouvelles fonctionnalités et permet de créer des applications multiplateformes
    Visual Studio 2022 Preview 3 est disponible et s'accompagne de la possibilité d'effectuer des tests à distance sur plusieurs plateformes, ainsi que d'une amélioration du thème sombre
    Microsoft améliore l'expérience .NET Hot Reload sur Visual Studio 2022, la version de son éditeur qui va bénéficier de l'expérience complète
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  14. #14
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 051
    Points : 4 174
    Points
    4 174
    Par défaut
    Citation Envoyé par Issam Voir le message
    heuuu, il n'y a pas de version 2018
    Je pense il veut dire 2008

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/01/2015, 15h23
  2. PHP 7 sera la prochaine version majeure de PHP
    Par Hinault Romaric dans le forum Langage
    Réponses: 40
    Dernier message: 22/09/2014, 11h48
  3. Microsoft présente Visual Studio 2013 et Team Foundation Server 2013
    Par Stéphane le calme dans le forum Autres Logiciels
    Réponses: 9
    Dernier message: 09/07/2013, 11h54
  4. Réponses: 16
    Dernier message: 09/06/2010, 12h20
  5. Réponses: 44
    Dernier message: 27/05/2010, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo