Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’outil Compilateur de couleurs d’extension Visual Studio est une application console qui prend un fichier .xml représentant des couleurs pour les thèmes Visual Studio existants et les couvre dans un fichier .pkgdef afin que ces couleurs puissent être utilisées dans Visual Studio. Étant donné qu’il est facile de comparer les différences entre les fichiers .xml, cet outil est utile pour gérer les couleurs personnalisées dans le contrôle de code source. Il peut également être connecté à des environnements de build afin que la sortie de la build soit un fichier .pkgdef valide.
Schéma XML de thème
Un thème complet .xml fichier ressemble à ceci :
<Themes>
<!—one or Theme elements -->
<Theme>
<!-- one or more Category elements -->
<Category>
<!-- one or more Color elements -->
<Color>
<!-- zero or one Background element -->
<Background />
<!-- zero or one Foreground element -->
<Foreground />
</Color>
</Category>
</Theme>
</Themes>
Thème
L’élément <Theme> définit un thème entier. Un thème doit contenir au moins un <élément Category> . Les éléments de thème sont définis comme suit :
<Theme Name="name" GUID="guid">
<!-- one or more Category elements -->
</Theme>
| Attribut | Définition |
|---|---|
| Nom | [Obligatoire] Nom du thème |
| Identifiant Unique Global (GUID) | [Obligatoire] GUID du thème (doit correspondre à la mise en forme guid) |
Lors de la création de couleurs personnalisées pour Visual Studio, ces couleurs doivent être définies pour les thèmes suivants. Si aucune couleur n’existe pour un thème particulier, Visual Studio tente de charger les couleurs manquantes du thème Clair.
| Nom du thème | GUID de thème |
|---|---|
| Light | {de3dbbcd-f642-433c-8353-8f1df4370aba} |
| Sombre | {1ded0138-47ce-435e-84ef-9ec1f439b749} |
| Blue | {a4d6a176-b948-4b29-8c66-53c97a1ed7d0} |
| Contraste élevé | {a4d6a176-b948-4b29-8c66-53c97a1ed7d0} |
| Nom du thème | GUID de thème |
|---|---|
| Light | {de3dbbcd-f642-433c-8353-8f1df4370aba} |
| Sombre | {1ded0138-47ce-435e-84ef-9ec1f439b749} |
| Contraste élevé | {a4d6a176-b948-4b29-8c66-53c97a1ed7d0} |
Catégorie
L’élément <Category> définit une collection de couleurs dans un thème. Une catégorie doit contenir au moins un <élément Color> . Les éléments de catégorie sont définis comme suit :
<Category Name="name" GUID="guid">
<!-- one or more Color elements -->
</Category>
| Attribut | Définition |
|---|---|
| Nom | [Obligatoire] Nom de la catégorie |
| Identifiant Unique Global (GUID) | [Obligatoire] GUID de la catégorie (doit correspondre à la mise en forme du GUID) |
Les noms de catégorie fournissent des regroupements logiques et doivent être définis aussi étroitement que possible.
:::moniker range>="vs-2026 » Les noms de catégorie fournissent des regroupements logiques pour les couleurs qui peuvent être utilisées pour une étendue similaire à un niveau élevé. Dans Visual Studio 2026, le système de conception, y compris la catégorisation des couleurs, a été simplifié pour faciliter les mises à jour cohérentes des applications et des mises à jour centralisées. Par exemple, un thème Visual Studio 2026 a ces catégories : - Decorative les couleurs peuvent être utilisées pour différencier des objets tels que des graphiques et des onglets colorisés.
-
Shell Les couleurs sont utilisées pour les contrôles et surfaces courants similaires à Windows :::moniker-end
Couleur
L’élément <Color> définit une couleur pour un composant ou un état de l’interface utilisateur. Le schéma d’affectation de noms préféré pour une couleur est [type d’interface utilisateur][État]. N’utilisez pas le mot « couleur », car il est redondant. Une couleur doit indiquer clairement le type d’élément et les situations, ou « state », pour lesquelles la couleur sera appliquée. Une couleur ne doit pas être vide et doit contenir un <ou les deux éléments Background> et <Foreground> . Les éléments de couleur sont définis comme suit :
L’élément <Color> définit une couleur pour un type d’élément d’interface utilisateur. Le jeu d’affectation de noms préféré pour une couleur est [Type][Part][Level] : Type est le rôle de niveau supérieur que joue la couleur dans l’interface utilisateur, par exemple un Accent, , BackgroundControl, Text, etc. - Part est une application plus granulaire, telle que Fill, Stroke.
-
Leveldécrit l’état ou l’étape de la couleur dans une rampe, par Defaultexemple , , DisabledPrimary, Secondary, , etc. N’utilisez pas le mot « couleur », car il est redondant. Concentrez-vous sur l’utilisation prévue de haut niveau au lieu d’une fonctionnalité spécifique, afin que le jeton de couleur puisse être réutilisable pour des contrôles et des états similaires pour une meilleure cohérence. Une couleur doit indiquer clairement le type d’élément et les situations pour lesquelles la couleur sera appliquée. Une couleur ne doit pas être vide et doit contenir un <ou les deux éléments Background> et <Foreground> . Les éléments de couleur sont définis comme suit :
<Color Name="name">
<Background /> <!-- zero or one Background element -->
<Foreground /> <!-- zero or one Foreground element -->
</Color>
| Attribut | Définition |
|---|---|
| Nom | [Obligatoire] Nom de la couleur |
Arrière-plan et/ou premier plan
Les <éléments Background> et <Foreground> définissent la valeur et le type d’une couleur pour l’arrière-plan ou le premier plan d’un élément d’interface utilisateur. Ces éléments n’ont pas d’enfants.
<Background Type="type" Source="int" />
<Foreground Type="type" Source="int" />
| Attribut | Définition |
|---|---|
| Type | [Obligatoire] Type de la couleur. Il peut s’agir de l’un des éléments suivants : CT_INVALID : La couleur n’est pas valide ou n’est pas définie. CT_RAW : Valeur ARVB brute. CT_COLORINDEX : N’UTILISEZ PAS. CT_SYSCOLOR : Couleur système Windows de SysColor. CT_VSCOLOR : Couleur Visual Studio de __VSSYSCOLOREX. CT_AUTOMATIC : Couleur automatique. CT_TRACK_FOREGROUND : N’UTILISEZ PAS. CT_TRACK_BACKGROUND : N’UTILISEZ PAS. |
| Origine | [Obligatoire] Valeur de la couleur représentée en hexadécimal |
Toutes les valeurs prises en charge par l’énumération __VSCOLORTYPE sont prises en charge par le schéma dans l’attribut Type. Toutefois, nous vous recommandons d’utiliser uniquement CT_RAW et CT_SYSCOLOR.
Tous ensemble
Il s’agit d’un exemple simple d’un fichier de thème valide .xml :
<Themes>
<Theme Name="Light" GUID="{de3dbbcd-f642-433c-8353-8f1df4370aba}">
<Category Name="MyCategory" GUID="{0A96238B-70CE-4479-9170-EECEAA3FCD58}">
<Color Name="MyActiveBorder">
<Background Type="CT_RAW" Source="FFCCCEDB" />
</Color>
</Category>
</Theme>
</Themes>
Comment utiliser l’outil
Syntaxe
Fichier XML<>VsixColorCompiler <PkgDef file><Optional Args>
Arguments
| Nom du commutateur | Remarques | Obligatoire ou facultatif |
|---|---|---|
| Sans nom ( fichier.xml) | Il s’agit du premier paramètre sans nom et est le chemin d’accès au fichier XML à convertir. | Obligatoire |
| Unnamed (fichier.pkgdef) | Il s’agit du deuxième paramètre sans nom et est le chemin de sortie du fichier .pkgdef généré. Valeur par défaut : <XML Filename.pkgdef> |
Optional |
| /noLogo | La définition de cet indicateur empêche l’impression des informations sur le produit et les droits d’auteur. | Optional |
| /? | Imprimez les informations d’aide. | Optional |
| /help | Imprimez les informations d’aide. | Optional |
Examples
VsixColorCompiler D:\xml\colors.xml D :\pkgdef\colors.pkgdef
VsixColorCompiler D:\xml\colors.xml /noLogo
Remarques
Cet outil nécessite que la dernière version du runtime Microsoft Visual C++ soit installée.
Seuls les fichiers uniques sont pris en charge. La conversion en bloc via les chemins d’accès aux dossiers n’est pas prise en charge.
L’outil se trouve dans
<VS Install Path>\VSSDK\VisualStudioIntegration\Tools\Bin\
Exemple de sortie
Le fichier .pkgdef généré par l’outil est similaire aux clés ci-dessous :
[$RootKey$\Themes\{de3dbbcd-f642-433c-8353-8f1df4370aba}\Environment]
"Data"=hex:3a,00,00,00,0b,00,00,00,01,00,00,00,c3,d9,4e,62,fd,bd,fa,41,96,c3,7c,82,4e,a3,2e,3d,01,00,00,00,0c,00,00,00,41,63,74,69,76,65,42,6f,72,64,65,72,01,cc,ce,db,ff,01,33,31,24,ff
[$RootKey$\Themes\{de3dbbcd-f642-433c-8353-8f1df4370aba}\TreeView]
"Data"=hex:38,00,00,00,0b,00,00,00,01,00,00,00,8e,f0,ec,92,13,8b,f4,4c,99,e9,ae,26,92,38,21,85,01,00,00,00,0a,00,00,00,42,61,63,6b,67,72,6f,75,6e,64,01,f5,f5,f5,ff,01,1e,1e,1e,ff
Mettre à jour des thèmes pour travailler avec Visual Studio 2026
Vous pouvez mettre à jour des thèmes existants qui fonctionnent avec Visual Studio 2022 ou une version antérieure pour utiliser Visual Studio 2026. Voir Migrer des thèmes vers Visual Studio 2026.