Nouveautés du SDK Visual Studio 2019

Le Kit de développement logiciel (SDK) Visual Studio présente les fonctionnalités nouvelles et mises à jour suivantes pour Visual Studio 2019.

Avertissement des extensions chargées automatiquement de manière synchrone

Les utilisateurs voient maintenant un avertissement si l’une de leurs extensions installées est chargée automatiquement de manière synchrone au démarrage. Pour en savoir plus sur l’avertissement, consultez les extensions chargées automatiquement de manière synchrone.

Kit de développement logiciel (SDK) Visual Studio unique et unifié

Vous pouvez maintenant obtenir toutes les ressources du Kit de développement logiciel (SDK) Visual Studio via un seul package NuGet Microsoft.VisualStudio.SDK.

Améliorations apportées à l’inscription de l’éditeur

Depuis sa création, Visual Studio a pris en charge l’inscription de l’éditeur personnalisé où un éditeur peut déclarer son affinité pour des extensions spécifiques (par exemple, .xaml et .rc), ou qu’il convient à n’importe quelle extension (.*). À compter de Visual Studio 2019 version 16.1, nous élargissons la prise en charge de l’inscription de l’éditeur.

Noms de fichiers

Outre ou au lieu d’inscrire la prise en charge d’une extension de fichier particulière, un éditeur peut s’inscrire pour prendre en charge des noms de fichiers spécifiques en appliquant le nouvel ProvideEditorFilename attribut au package de l’éditeur.

Par exemple, un éditeur qui prend en charge tous les fichiers .json applique cet ProvideEditorExtension attribut à son package :

[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]

À compter de la version 16.1, si MyEditor prend uniquement en charge quelques fichiers .json connus, il peut à la place appliquer ces ProvideEditorFilename attributs à son package :

[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json",    MyEditor.Priority)]

UIContexts

Un éditeur peut inscrire un ou plusieurs UIContexts qui représentent lorsqu’il est activé. UIContexts est inscrit en appliquant une ou plusieurs instances ProvideEditorUIContextAttribute du package qui enregistre l’éditeur.

Si un éditeur a inscrit UIContexts :

  • Si au moins l’un de ses UIContexts inscrits est actif lorsqu’un fichier avec l’extension donnée est ouvert, l’éditeur est inclus dans la recherche de l’éditeur.
  • Si aucun des UIContexts inscrits n’est actif, l’éditeur n’est pas inclus dans la recherche de l’éditeur.

Si un éditeur n’inscrit aucun UIContexts, il est toujours inclus dans la recherche de l’éditeur pour cette extension.

Par exemple, si un éditeur est disponible uniquement lorsqu’un projet C# est ouvert, il peut déclarer cette affinité en appliquant un ProvideEditorUIContext attribut :

[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]