Partager via


À propos de VisualStudio.Extensibility (aperçu)

VisualStudio.Extensibility est une nouvelle infrastructure pour le développement d’extensions Visual Studio qui se concentre principalement sur les extensions qui s’exécutent hors processus à partir de l’IDE pour améliorer les performances et la fiabilité. Il propose une API moderne et asynchrone qui est rationalisée et soigneusement conçue pour optimiser la productivité des développeurs. VisualStudio.Extensibility est en développement actif et est disponible en préversion.

Avec la préversion actuelle, vous pouvez développer un large éventail d’extensions pour Visual Studio, y compris, mais pas limité à :

  • Création de commandes
  • Utilisation du code ou du texte dans l’éditeur
  • Affichage d’invites ou de boîtes de dialogue à l’utilisateur
  • Création de visualiseurs de débogueur

VisualStudio.Extensibility vise à résoudre de nombreux problèmes rencontrés par les développeurs lors de l’utilisation et de l’écriture d’extensions dans Visual Studio. L’écriture d’extensions à l’aide de VisualStudio.Extensibility offre les avantages suivants :

  • Une fiabilité accrue: Visual Studio reste réactif et ne se bloque pas si une extension se bloque ou cesse de répondre.
  • complexité réduite des API: VisualStudio.Extensibility a simplifié l’architecture, les API cohérentes et la documentation claire.
  • fonctionnalité de chargement à chaud: Visual Studio n’a pas besoin d’être redémarré lors de l’installation des extensions.

Finalement, vous serez en mesure d’utiliser le Kit de développement logiciel (SDK) VisualStudio.Extensibility pour écrire n’importe quelle extension que vous pouvez écrire à l’aide du Kit de développement logiciel (SDK) Visual Studio. Toutefois, jusqu’à ce moment, vous pouvez rencontrer des situations où la fonctionnalité dont vous avez besoin dans votre extension n’est pas encore disponible dans VisualStudio.Extensibility. Dans ce cas, vous pouvez utiliser le Kit de développement logiciel (SDK) VisualStudio.Extensibility avec le Kit de développement logiciel (SDK) Visual Studio exécuté en cours d’exécution pour couvrir tout écart de fonctionnalité. Pour plus d’informations, consultez Extensions in-proc.

Les dernières informations sur VisualStudio.Extensibility sont disponibles dans le dépôt GitHub VSExtensibility sous la rubrique announcements.

Article Descriptif
Installer VisualStudio.Extensibility Téléchargez et installez la dernière préversion de VisualStudio.Extensibility.
Bien démarrer Commencez par des guides de démarrage rapide débutants et des didacticiels d’introduction si vous n’avez pas encore développé d’extension.
Concepts relatifs aux SMS Créez votre modèle mental de fonctionnement du SDK et des extensions.
Vues d’ensemble En savoir plus en lisant les vues d’ensemble de chaque domaine principal des fonctionnalités.
Exemples Explorez l’exemple de code illustrant les principales fonctionnalités.
Informations de référence sur l’API Parcourez la documentation de l’API VisualStudio.Extensibility.
API expérimentales et changements majeurs Découvrez notre approche des API stables et expérimentales et sur les changements cassants de la version précédente.
problèmes connus Affichez les problèmes connus avec le Kit de développement logiciel (SDK) VisualStudio.Extensibility.
rubriques avancées Découvrez les détails de l’implémentation du Kit de développement logiciel (SDK) VisualStudio.Extensibility.

Installer VisualStudio.Extensibility

La préversion actuelle de VisualStudio.Extensibility fonctionne avec Visual Studio 2022 version 17.9 Preview 1 ou ultérieure avec la charge de travail Visual Studio extension development à installer.

Démarrer

Les articles suivants vous aident à vous orienter et à démarrer »

Pour comprendre comment utiliser VisualStudio.Extensibility, nous vous recommandons de bien comprendre Programmation asynchrone avec Async et Await et Injection de dépendances. En outre, l’interface utilisateur de VisualStudio.Extensibility est basée sur Windows Presentation Foundation (WPF), vous devriez envisager de consulter la documentation WPF.

Les concepts

Si vous connaissez le Kit de développement logiciel (SDK) Visual Studio, reportez-vous à Présentation de VisualStudio.Extensibility pour les utilisateurs VSSDK.

Pour créer votre modèle mental de fonctionnement des extensions Visual Studio, consultez parties d’une nouvelle extension Visual Studio pour en savoir plus sur l’architecture d’une extension. En outre, vous pouvez en savoir plus sur l’injection de dépendances qui est utilisée pour partager des composants entre des composants d’une extension.

Pour savoir ce qui est inclus dans le Kit de développement logiciel (SDK), consultez zones fonctionnelles du SDK.

Quand et où votre extension doit-elle apparaître dans l’IDE ? Les extensions Visual Studio apparaissent dans l’IDE lorsque certaines conditions sont remplies. Pour contrôler comment et quand votre extension apparaît dans l’IDE, consultez contraintes d’activation basées sur des règles.

Les extensions Visual Studio rendent leurs fonctionnalités disponibles pour Visual Studio par le biais de contributions. Pour plus d’informations, consultez Contributions

Découvrez le modèle de l’interface utilisateur distante utilisé dans VisualStudio.Extensibility.

Aperçus

Lisez une vue d’ensemble des domaines du Kit de développement logiciel (SDK) dont vous aurez peut-être besoin pour vos projets de développement d’extension.

  • Créez des commandes et exposez-les aux utilisateurs de l’IDE, consultez Commandes.
  • Travaillez avec le contenu des fichiers et documents, consultez les extensions de l’éditeur .
  • Travaillez avec la représentation en mémoire de ces documents eux-mêmes, consultez Documents.
  • Utilisez la fenêtre de sortie dans une extension, consultez Fenêtre Sortie.
  • Utilisez les fenêtres d’outils, des fenêtres ancrées dans l’IDE Visual Studio; consultez Fenêtres d'outils.
  • Utilisez des requêtes avec des boutons personnalisables pour interagir avec l’utilisateur, consultez Requêtes Utilisateur.
  • Utilisez des boîtes de dialogue avec l’interface utilisateur personnalisée pour interagir avec l’utilisateur, consultez dialogues
  • Créer des visualisations de données personnalisées pour le débogage, voir Visualiseurs de débogueur
  • Interroger ou modifier des informations sur les projets et les solutions, consultez requête de projet
  • Définir, lire et mettre à jour les paramètres, consultez Paramètres
  • Utiliser des serveurs linguistiques/LSP pour obtenir une prise en charge linguistique supplémentaire, consultez fournisseur de serveurs linguistiques

Exemples et didacticiels

Vous trouverez une solution Visual Studio qui contient tous les exemples à Samples.sln.

Échantillon Descriptif
gestionnaire de commandes simple Illustre les principes de base de l’utilisation des commandes. Consultez également le didacticiel Créer votre première extension Visual Studio.
Insérer une extension GUID Montre comment insérer du texte ou du code dans l’éditeur de code, comment configurer une commande avec une condition d’activation spécifique et comment utiliser un fichier de ressources pour la localisation. Consultez également le didacticiel Créer votre extension simple.
Hiérarchisation des commandes Montre comment créer une commande qui peut être parentée à différents aspects de l’IDE.
Sélecteur de documents Montre comment créer une extension d’éditeur applicable uniquement aux fichiers correspondant à un modèle de chemin d’accès de fichier.
Fenêtre de sortie Affiche l’utilisation la plus simple de l’API Fenêtre Sortie
Fenêtre Outil Montre comment créer une fenêtre outil et la remplir avec du contenu.
Requête Utilisateur Montre comment afficher une invite à l’utilisateur.
Dialogue Montre comment afficher une boîte de dialogue avec une interface utilisateur personnalisée à l’utilisateur.
Marge du nombre de mots Montre comment créer une extension de marge d’éditeur qui affiche le nombre de mots dans un document.
Linter Markdown Montre comment plusieurs composants peuvent interagir ensemble à l’intérieur d’une extension et comment différentes zones de Visual Studio peuvent être étendues.
Requête de projet Affiche plusieurs types de requêtes système de projet que vous pouvez effectuer.
Outils de suppression de commentaires Montre comment consommer les services du SDK Visual Studio via l’injection de dépendances .NET et utiliser les API VisualStudio.Extensibility pour les commandes, les requêtes et le rapport de progression.
RegexMatchDebugVisualizer Montre comment utiliser Interface utilisateur distante pour créer un Visualiseur de débogueur pour visualiser les correspondances d'expression régulière qui seront lancées dans une boîte de dialogue modale.
MemoryStreamDebugVisualizer Montre comment créer un Visualiseur de débogueur pour visualiser les objets de type MemoryStream dans une fenêtre d'outils non modale.
RustLanguageServiceProvider Montre comment créer une extension de fournisseur de serveur pour le langage Rust qui ajoute IntelliSense et des info-bulles lorsque vous ouvrez un fichier Rust.
CompositeExtension Montre comment créer une extension avec des composants in-proc et out-of-proc qui communiquent à l’aide de services intermédiaires.

API expérimentales et changements cassants

À compter de notre version 17.9, nous sommes prêts à étiqueter la plupart de nos API comme stables. Autrement dit, nous ne prévoyons pas d’apporter de changements cassants à ces API. Les modifications majeures, telles que celles suscitées par les commentaires des utilisateurs sur l’utilisabilité, seront communiquées officiellement à l’avance sur notre page modifications majeures avec un préavis suffisant.

Il existe quelques-unes de nos API qui ne répondent pas encore à cette barre pour la stabilité, pour l’une des raisons suivantes :

  • La zone des fonctionnalités est nouvelle et des fonctionnalités supplémentaires et des modifications sont attendues dans les versions futures.
  • L’API est nouvelle et nous voulons incorporer des commentaires utilisateur dans la conception avant de la marquer stable.
  • Nous avons reçu des commentaires indiquant qu’une API particulière est difficile à utiliser. Nous prévoyons donc de la mettre à jour dans les futures versions.

Ces API sont explicitement étiquetées à l’aide de l’attribut [Experimental] pour aider les auteurs d’extensions à créer leurs extensions en toute confiance dans le Kit de développement logiciel (SDK).

Pour plus d’informations, notamment sur l’utilisation des API expérimentales, consultez notre page API expérimentales.

Problèmes connus

Nous apprécions vos commentaires et rapports de bogues dans notre de suivi des problèmes, et nous travaillons à résoudre les problèmes détectés dans le SDK.

Visitez notre page Problèmes connus pour plus d’informations sur les problèmes connus actuels.

Rubriques avancées

Article Descriptif
autres concepts de l’interface utilisateur distante Rubriques supplémentaires relatives à l’utilisation du modèle d’interface utilisateur distant
Interface utilisateur distante avancée Informations détaillées sur le modèle d’interface utilisateur distant
Extensions in-proc Procédure pas à pas rapide sur différentes options pour utiliser le Kit de développement logiciel (SDK) VisualStudio.Extensibility in-proc

Documentation sur l’API

Envoyer des commentaires

Nous recherchons activement des commentaires et de l’engagement. La phase de préversion est un moment idéal pour obtenir des commentaires de la communauté pour nous aider à identifier les problèmes et les opportunités. Vous pouvez fournir des commentaires et signaler des bogues dans notre suivi des problèmes.