Même si Visual Studio 15 de Microsoft n’a toujours pas de date de sortie - ni de nom commercial officiel - la firme de Redmond continue à travailler sur la future version. Après une Preview 5, sortie en octobre, l’éditeur livre quelques indications sur les fonctionnalités que l’on pourra retrouver dans la mouture finale, notamment le repérage des goulets d'étranglement qui nuisent aux performances et la mise en évidence des dépendances.

Essentiellement, Microsoft a fait de l'extensibilité une priorité de la nouvelle version de Visual Studio. Mais, comme l’a déclaré un responsable de l’entreprise avant le week-end, la suite de logiciels de développement pour Windows sera aussi dotée de fonctions de contrôle de la performance des extensions. Ces extensions, qui se présentent sous forme de paquets de code, serviront soit à ajouter des fonctionnalités, soit à améliorer des fonctions existantes. « En s’appuyant sur les extensions, Microsoft veut faciliter l'installation d'outils et améliorer les performances et la productivité », a ainsi déclaré Tim Sneath, directeur principal du programme Visual Studio chez Microsoft. La future version sera donc dotée d’un système de contrôle de la performance. « Une barre de notification avertira les utilisateurs quand une extension ralentit le temps de chargement ou la vitesse de frappe », a-t-il expliqué.

L’usage de AsyncPackage recommandé

Cependant, Microsoft recommande également aux développeurs d’adopter de meilleures pratiques. Par exemple, l’éditeur préconise l’usage de règles contextuelles pour définir à quel moment une extension donnée peut être chargée. Il recommande aussi l’usage de AsyncPackage avec Visual Studio 2015 et les versions ultérieures afin de permettre le chargement des paquets en arrière-plan. De plus, l’éditeur invite les auteurs à passer en revue les filtres de commande et les gestionnaires d'événements de l’extension et de faire en sorte que leurs opérations asynchrones respectent un délai de plus de 50 ms. Pendant l'initialisation du paquet, Microsoft recommande aussi aux développeurs de limiter ou de reporter leur travail jusqu'à l’invite de l’installeur.

À la demande des utilisateurs, l’éditeur a également ajouté des outils pour identifier et désactiver les extensions trop lentes. « L’atout majeur de Visual Studio est son extensibilité », a déclaré un utilisateur sur la page Visual Studio UserVoice. « Mais, plus j’installe d’extensions, plus la stabilité de Visual Studio diminue, et plus la suite monopolise de la mémoire. Parfois, elle fait des appels constants à la CPU, même quand ce n’est pas nécessaire ». Mais, désormais, les utilisateurs pourront surveiller la performance des extensions en sélectionnant la rubrique Aide/Visual Studio Performance dans le menu.

La création de dépendances par extension VSIX

La future mise à niveau permettra également la mise à jour d'extensions en batch et des procédures d’installation qui simplifient la mise à jour simultanée de plusieurs extensions. Dans la future mouture, les développeurs d'extensions pourront également créer des dépendances par extension du concepteur de manifeste VSIX. C’est un fichier VSIX qui a servi d'unité de déploiement des extensions. « Le modèle a été conçu de telle sorte que si des dépendances manquent à l’appel, l’installeur d’extensions pourra aller chercher et installer automatiquement les composants manquants », a expliqué l’éditeur. En outre, les groupes d'extension peuvent être compilés en images natives pendant le processus d’installation, ce qui améliore les performances.

Encore au stade expérimental, la fonction qui réduit les temps de chargement dans Visual Studio « 15 » pourrait impacter telle ou telle extension en cas de chargement complet d’un projet. « Notre équipe prépare une mise en œuvre étape par étape et des conseils pour expliquer comment faire savoir aux extensions si un projet est totalement chargé ou non, et de réagir en conséquence », a déclaré Tim Sneath. « Nous partagerons ces conseils dès que possible ». L’arrivée de Visual Studio 15 implique aussi une migration vers Visual Studio Marketplace pour la recherche d’extensions. « Dans les mois qui viennent, nous mettrons l'ancienne Visual Studio Gallery à la retraite. Les auteurs d'extension n’ont rien à faire. Leurs données seront transférées automatiquement vers la nouvelle boutique en ligne ».