VSIX Color Compiler

Het hulpprogramma Visual Studio Extension Color Compiler is een consoletoepassing die een .xml-bestand gebruikt dat kleuren vertegenwoordigt voor bestaande Visual Studio-thema's en bedekt het naar een PKGDEF-bestand, zodat deze kleuren kunnen worden gebruikt in Visual Studio. Omdat het eenvoudig is om verschillen tussen .xml bestanden te vergelijken, is dit hulpprogramma handig voor het beheren van aangepaste kleuren in broncodebeheer. Het kan ook worden gekoppeld aan buildomgevingen, zodat de uitvoer van de build een geldig PKGDEF-bestand is.

Thema-XML-schema

Een volledig thema .xml bestand ziet er als volgt uit:

<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>

Thema

Het <thema-element> definieert een volledig thema. Een thema moet ten minste één <categorie-element> bevatten. Thema-elementen worden als volgt gedefinieerd:

<Theme Name="name" GUID="guid">
      <!-- one or more Category elements -->
</Theme>
Attribuut Definitie
Naam [Vereist] De naam van het thema
GUID (Globaal Unieke Identificatiecode) [Vereist] De GUID van het thema (moet overeenkomen met de GUID-opmaak)

Bij het maken van aangepaste kleuren voor Visual Studio moeten deze kleuren worden gedefinieerd voor de volgende thema's. Als er geen kleuren voor een bepaald thema bestaan, probeert Visual Studio de ontbrekende kleuren uit het light-thema te laden.

Themanaam Thema-GUID
Light {de3dbbcd-f642-433c-8353-8f1df4370aba}
Donker {1ded0138-47ce-435e-84ef-9ec1f439b749}
Blue {a4d6a176-b948-4b29-8c66-53c97a1ed7d0}
Hoog contrast {a4d6a176-b948-4b29-8c66-53c97a1ed7d0}
Themanaam Thema-GUID
Light {de3dbbcd-f642-433c-8353-8f1df4370aba}
Donker {1ded0138-47ce-435e-84ef-9ec1f439b749}
Hoog contrast {a4d6a176-b948-4b29-8c66-53c97a1ed7d0}

Categorie

Het <element Categorie> definieert een verzameling kleuren in een thema. Een categorie moet ten minste één <kleurelement> bevatten. Categorie-elementen worden als volgt gedefinieerd:

<Category Name="name" GUID="guid">
  <!-- one or more Color elements -->
</Category>
Attribuut Definitie
Naam [Vereist] De naam van de categorie
GUID (Globaal Unieke Identificatiecode) [Vereist] De GUID van de categorie (moet overeenkomen met de GUID-opmaak)

Categorienamen bieden logische groeperingen en moeten zo smal mogelijk worden gedefinieerd.

:::moniker range>="vs-2026" Categorienamen bieden logische groeperingen voor kleuren die kunnen worden gebruikt voor vergelijkbaar bereik op hoog niveau. In Visual Studio 2026 is het ontwerpsysteem, inclusief de kleurcategorisatie, vereenvoudigd om consistente toepassingen en gecentraliseerde updates mogelijk te maken. Een Visual Studio 2026-thema heeft bijvoorbeeld deze categorieën: - Decorative kleuren kunnen worden gebruikt om objecten, zoals grafieken en gekleurde tabbladen, te onderscheiden. - Shell kleuren worden gebruikt voor algemene besturingselementen en oppervlakken die vergelijkbaar zijn met Windows :::moniker-end

Kleur

Het <element Kleur> definieert een kleur voor een onderdeel of status van de gebruikersinterface. Het voorkeursnaamgevingsschema voor een kleur is [UI-type][Staat]. Gebruik het woord 'kleur' niet omdat het overbodig is. Een kleur moet duidelijk het elementtype en de situaties aangeven, of 'status', waarvoor de kleur wordt toegepast. Een kleur mag niet leeg zijn en moet een of beide van een <achtergrond> - en <voorgrondelement> bevatten. Kleurelementen worden als volgt gedefinieerd:

Het <element Kleur> definieert een kleur voor een type UI-element. Het voorkeursnaamgevingsschema voor een kleur is [Type][Deel][Niveau]: - Type is de rol op het hoogste niveau die de kleur speelt in de gebruikersinterface, zoals een Accent, BackgroundControl, , , Textenzovoort - Part is een gedetailleerdere toepassing, zoals Fill, Stroke. - Levelbeschrijft de status of stap van de kleur in een helling, zoals Default, DisabledPrimary, Secondary, , enzovoort. Gebruik het woord 'kleur' niet omdat het overbodig is. Richt u op het beoogde gebruik op hoog niveau in plaats van een specifieke functie, zodat het kleurentoken opnieuw kan worden gebruikt voor vergelijkbare besturingselementen en statussen voor een betere consistentie. Een kleur moet duidelijk het elementtype en de situaties aangeven waarvoor de kleur wordt toegepast. Een kleur mag niet leeg zijn en moet een of beide van een <achtergrond> - en <voorgrondelement> bevatten. Kleurelementen worden als volgt gedefinieerd:

<Color Name="name">
  <Background /> <!-- zero or one Background element -->
  <Foreground /> <!-- zero or one Foreground element -->
</Color>
Attribuut Definitie
Naam [Vereist] De naam van de kleur

Achtergrond en/of voorgrond

De <achtergrond> - en <voorgrondelementen> definiëren de waarde van een kleur en het type voor de achtergrond of voorgrond van een UI-element. Deze elementen hebben geen kinderen.

<Background Type="type" Source="int" />
<Foreground Type="type" Source="int" />
Attribuut Definitie
Typologie [Vereist] Het type kleur. Dit kan een van de volgende zijn:

CT_INVALID: De kleur is ongeldig of niet ingesteld.

CT_RAW: Een onbewerkte ARGB-waarde.

CT_COLORINDEX: NIET GEBRUIKEN.

CT_SYSCOLOR: Een Windows-systeemkleur van SysColor.

CT_VSCOLOR: Een Visual Studio-kleur van __VSSYSCOLOREX.

CT_AUTOMATIC: De automatische kleur.

CT_TRACK_FOREGROUND: NIET GEBRUIKEN.

CT_TRACK_BACKGROUND: NIET GEBRUIKEN.
Bron [Vereist] De waarde van de kleur die wordt weergegeven in hexadecimaal

Alle waarden die door de __VSCOLORTYPE opsomming worden ondersteund, worden ondersteund door het schema in het kenmerk Type. U wordt echter aangeraden alleen CT_RAW en CT_SYSCOLOR te gebruiken.

Alles samen

Dit is een eenvoudig voorbeeld van een geldig thema .xml bestand:

<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>

Het hulpprogramma gebruiken

Syntax

VsixColorCompiler <XML-bestand PkgDef-bestand><><Optionele Args>

Arguments

Switch name Notes Vereist of optioneel
Naamloos (.xml bestand) Dit is de eerste naamloze parameter en is het pad naar het XML-bestand dat moet worden geconverteerd. Verplicht
Naamloos (.pkgdef-bestand) Dit is de tweede niet-benoemde parameter en is het uitvoerpad voor het gegenereerde PKGDEF-bestand.

Standaard: <XML Bestandsnaam.pkgdef>
Optioneel
/noLogo Als u deze vlag instelt, kunnen product- en copyrightgegevens niet meer worden afgedrukt. Optioneel
/? Help-informatie afdrukken. Optioneel
/help Help-informatie afdrukken. Optioneel

Examples

  • VsixColorCompiler D:\xml\colors.xml D:\pkgdef\colors.pkgdef

  • VsixColorCompiler D:\xml\colors.xml /noLogo

Opmerkingen

  • Voor dit hulpprogramma moet de nieuwste versie van Microsoft Visual C++ Runtime worden geïnstalleerd.

  • Er worden slechts enkele bestanden ondersteund. Bulkconversie via mappaden wordt niet ondersteund.

  • Het hulpprogramma is te vinden in <VS Install Path>\VSSDK\VisualStudioIntegration\Tools\Bin\

Voorbeelduitvoer

Het PKGDEF-bestand dat door het hulpprogramma wordt gegenereerd, is vergelijkbaar met de onderstaande sleutels:

[$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

Thema's bijwerken voor gebruik met Visual Studio 2026

U kunt bestaande thema's bijwerken die met Visual Studio 2022 of eerder werken om met Visual Studio 2026 te werken. Zie Thema's migreren naar Visual Studio 2026.