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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft lance une version plus rapide et plus légère du kit de développement C#, l'extension conçue pour améliorer l'expérience de développement en C# dans Visual Studio Code

Le , par Anthony

39PARTAGES

4  0 
Le C# Dev Kit 11.0, lancé en même temps que le .NET 11, est désormais disponible. Cette version a été repensée pour améliorer considérablement les temps de chargement, la vitesse de compilation et l'utilisation de la mémoire. Six processus gérés sont désormais regroupés en un seul exécutable natif compilé Native AOT, ce qui permet de réduire les temps de chargement des solutions jusqu’à 180 fois et les temps de compilation incrémentielle jusqu’à 39 fois pour les bases de code volumineuses. Cette version ajoute également une prise en charge avancée du langage pour l’édition des fichiers .csproj, .props et .targets, ainsi qu'une nouvelle fonctionnalité, C# Doctor, qui permet de diagnostiquer les problèmes d’environnement, tels que les SDK manquants ou les échecs de restauration de paquets. L’extension est désormais disponible en avant-première.

C# est un langage de programmation de haut niveau à usage général prenant en charge plusieurs paradigmes. C# intègre le typage statique : typage fort, portée lexicale, programmation impérative, déclarative, fonctionnelle, générique, orientée objet (basée sur les classes) et orientée composants. Les principaux concepteurs du langage de programmation C# sont Anders Hejlsberg, Scott Wiltamuth et Peter Golde, de Microsoft. En novembre 2025, la version stable la plus récente du langage est C# 14.

Le kit de développement C# (C# Dev Kit) est une extension conçue pour améliorer l'expérience de développement en C# dans Visual Studio Code. Il a pour objectif d'offrir une expérience C# plus complète, plus productive et plus fiable dans l'éditeur de code. Le C# Dev Kit ne remplace cependant pas l'extension C# existante, mais vient compléter les fonctionnalités de service de langage qu'elle propose. Les développeurs peuvent choisir de continuer à utiliser la version mise à jour de l'extension C# existante ou d'améliorer leur expérience en ajoutant le C# Dev Kit.

Les développeurs savent à quel point les ordinateurs peuvent être rapides et veulent retrouver cette rapidité dans leurs outils. Les temps d’attente liés au chargement du support des langages, à la compilation des projets et à l’exécution des tests sont autant de temps qui pourrait être mieux employé à d’autres tâches. Dans le cadre du lancement de .NET 11, Microsoft a entièrement repensé le kit de développement C# afin d'apporter des améliorations significatives en termes de performances et d'utilisation de la mémoire. Ce kit intègre également de nouvelles fonctionnalités très intéressantes.


Chargement plus rapide

Microsoft a mesuré les temps de chargement sur deux solutions réelles : Orleans (155 projets) et Aspire (407 projets).


Le tableau ci-dessus présente deux étapes du chargement. Le statut « Active file » indique que la prise en charge du langage est disponible dans le fichier que vous éditez, avec les suggestions de complétion, les diagnostics, les définitions « go to » et les corrections rapides. C'est à ce moment-là que vous pouvez réellement commencer à travailler. Le statut « Whole solution » indique que tous les projets ont fini de se charger : la prise en charge du langage fonctionne alors dans n'importe quel fichier, les tests de l'ensemble de la solution sont détectés et la fonction « Trouver toutes les références » fonctionne dans tous les projets.

Les nouveaux caches de projets du C# Dev Kit contribuent à cette accélération du chargement. Le kit ne reconstruit plus sa compréhension de chaque projet à chaque ouverture ; ainsi, les services de langage, les tests et les cibles de lancement sont disponibles presque immédiatement. Il charge désormais le fichier actif en premier, ce qui vous permet de commencer à travailler dessus pendant que le reste de l’espace de travail se charge en arrière-plan, avec des performances constantes, quel que soit le nombre de projets. L'implémentation précédente chargeait les projets dans un ordre fixe ; les temps de chargement dépendaient donc de la position du fichier dans cet ordre.

Le cache d’un projet est créé lors du premier chargement de ce projet. Chaque chargement suivant s’effectue à partir du cache, ce qui est rapide. Si vous intégrez vos fichiers de cache dans le contrôle de version, les clones récents et les nouvelles arborescences Git bénéficieront immédiatement d’une prise en charge rapide des outils, ce qui est très pratique lorsque l’on travaille avec des agents.

Microsoft a également réduit le temps de chargement en regroupant plusieurs processus en un seul. La version précédente lançait six processus gérés qui devaient chacun passer des contrôles antivirus, charger des images depuis le disque, effectuer une compilation JIT (minimisée via ReadyToRun), puis se connecter les uns aux autres. Tout cela devait se produire avant qu’ils ne puissent répondre à la moindre question concernant votre code.

Ce processus CSDevKit consolidé est un exécutable natif, compilé au préalable à l'aide de la fonctionnalité Native AOT de .NET. Il s'exécute immédiatement, sans qu'il soit nécessaire de charger un environnement d'exécution ni de procéder à une compilation « just-in-time » au démarrage. Les données mises en cache, le nombre réduit de processus et la fonctionnalité Native AOT garantissent une expérience de développement plus réactive.

Compilations plus rapides

Le C# Dev Kit 11.0 permet des compilations incrémentielles nettement plus rapides grâce aux vérifications rapides des mises à jour et à la fonctionnalité « Build Acceleration », deux fonctionnalités dont bénéficient les développeurs Visual Studio depuis un certain temps déjà.

En utilisant la solution Aspire composée de 407 projets et en compilant l'intégralité de la solution à chaque fois, on obtient les résultats suivants :


Dans la version 11.0, Microsoft a réduit la charge liée à l'identification des modifications et à la copie des fichiers de sortie. La durée des compilations dépend de la structure de la solution ; toutes les compilations ne bénéficieront probablement donc pas de gains aussi importants. Cependant, il est courant de ne compiler que quelques modifications à la fois, ce qui correspond au scénario où l'amélioration est la plus notable dans la version 11.0.

L'amélioration de la réactivité est perceptible lors de l'exécution des tests unitaires et du lancement des applications. Ces deux opérations effectuent une compilation avant de démarrer ; elles s'effectuent donc plus rapidement dans la version 11.0.

Mémoire

L'architecture précédente répartissait les services internes du C# Dev Kit entre six processus interconnectés. Cette nouvelle version regroupe ces processus au sein d'un seul serveur, compilé avec Native AOT.


L'utilisation de la mémoire dépend davantage de la taille du code source que du nombre de projets. La solution Roslyn contient environ quatre fois plus de code C# qu'Aspire ; son serveur utilise donc davantage de mémoire, même avec moins de projets, tandis que le modèle de projet compact permet à la mémoire de croître bien plus lentement que le code lui-même.

Ces chiffres représentent la mémoire allouée par le ou les processus du serveur C# Dev Kit. Le service de langage C# (Roslyn) s'exécute dans son propre processus, comme auparavant, et Visual Studio Code a sa propre empreinte mémoire. Aucun des deux n'est pris en compte dans cette comparaison ; ils restent tous deux pratiquement inchangés dans cette version.

La version 11.0 propose une représentation en mémoire plus compacte du projet, ce qui réduit considérablement l'utilisation de la mémoire, en particulier pour les solutions volumineuses. La compilation Native AOT utilise également moins de mémoire d'exécution.

Édition de projets et d'autres fichiers MSBuild

Le C# Dev Kit 11.0 propose une nouvelle expérience d'édition pour les fichiers .csproj, .props et .targets. Les développeurs bénéficient désormais de suggestions d'autocomplétion, de diagnostics, de définition « go to », de corrections rapides et de la coloration sémantique.

Une fonction de suggestion est désormais proposée pour les noms et les versions des paquets :


Les paquets disposent également d'une entrée CodeLens qui propose plusieurs actions pratiques. Elle signale la disponibilité de nouvelles versions et indique si la version utilisée présente une vulnérabilité.

La prise en charge du langage MSBuild ne se limite pas aux packages. La suggestion automatique s'applique aux propriétés, aux éléments et aux clés de métadonnées. La définition « go to » fonctionne sur plusieurs éléments du langage et peut vous rediriger vers le code source du SDK. Les diagnostics signalent les problèmes au fur et à mesure que vous tapez, et les corrections rapides vous proposent des solutions.

Health checks avec C# Doctor

Le C# Doctor est également une nouveauté du C# Dev Kit. Lorsqu'un projet ne parvient pas à se charger ou se comporte de manière inattendue, la cause est souvent liée à l'environnement. Un SDK requis est manquant, un runtime n’est pas installé, un framework cible n’est pas disponible, la restauration d’un package a échoué ou un package référencé présente une vulnérabilité connue. Le C# Doctor regroupe toutes ces vérifications en un seul endroit et vous guide vers une solution adaptée, plutôt que de vous laisser reconstituer la cause à partir de messages d’erreur disparates. Il simplifie l’obtention des outils et de la configuration nécessaires au bon fonctionnement de vos projets avec le C# Dev Kit.

Prochaines étapes

« Le rôle de l’EDI évolue. À mesure que les développeurs adoptent de nouveaux flux de travail, nous identifions sans cesse les lacunes de nos outils. Lorsque nous développons avec des agents, nous devons pouvoir accéder à nos outils et en sortir beaucoup plus rapidement, et nous devons être en mesure d’exécuter plusieurs instances en parallèle. Les modifications architecturales que nous avons apportées au C# Dev Kit 11.0 préparent l’extension pour les années à venir. Il s'agit d'améliorations apportées aux aspects fondamentaux de l'outillage, qui sont utiles tant aux développeurs humains qu'aux agents qu'ils attendent », a déclaré Microsoft.

Le C# Dev Kit 11.0 est désormais disponible en préversion ; le moyen le plus rapide de constater la différence est de le mettre à jour et d'ouvrir l'une de vos propres solutions.

Sources : Microsoft, C# Dev Kit

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous des nouveautés proposées par cette version du kit de développement C# pour VS Code ? Les trouvez-vous utiles et intéressantes ?

Voir aussi :

Microsoft annonce la sortie du kit de développement C# pour Visual Studio Code

Microsoft présente les nouvelles fonctionnalités de C# 14 qui devraient permettre aux développeurs C# de bénéficier de certaines des améliorations de performances offertes par .NET 10

Microsoft annonce la dernière version de son framework logiciel .NET 10, apportant des améliorations au compilateur JIT, des améliorations NativeAOT, ainsi que l'optimisation du runtime
Vous avez lu gratuitement 363 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !