Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Narzędzie kompilatora kolorów rozszerzenia programu Visual Studio to aplikacja konsolowa, która pobiera plik XML reprezentujący kolory istniejących motywów programu Visual Studio i ukrywa go w pliku pkgdef, aby można było używać tych kolorów w programie Visual Studio. Ponieważ łatwo jest porównać różnice między plikami XML, to narzędzie jest przydatne do zarządzania kolorami niestandardowymi w kontroli źródła. Można go również podłączyć do środowisk kompilacji, aby dane wyjściowe kompilacji był prawidłowym plikiem pkgdef.
Schemat XML motywu
Pełny plik XML motywu wygląda następująco:
<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>
Motyw
Element <Motyw> definiuje cały motyw. Motyw musi zawierać co najmniej jeden <element Kategoria> . Elementy motywu są zdefiniowane w następujący sposób:
<Theme Name="name" GUID="guid">
<!-- one or more Category elements -->
</Theme>
Atrybut | Definicja |
---|---|
Nazwisko | [Wymagane] Nazwa motywu |
Identyfikator GUID | [Wymagane] Identyfikator GUID motywu (musi być zgodny z formatowaniem GUID) |
Podczas tworzenia kolorów niestandardowych dla programu Visual Studio te kolory należy zdefiniować dla następujących motywów. Jeśli nie ma kolorów dla określonego motywu, program Visual Studio próbuje załadować brakujące kolory z motywu Light.
Nazwa motywu | Identyfikator GUID motywu |
---|---|
Jasny | {de3dbbcd-f642-433c-8353-8f1df4370aba} |
Ciemny | {1ded0138-47ce-435e-84ef-9ec1f439b749} |
Niebieskie | {a4d6a176-b948-4b29-8c66-53c97a1ed7d0} |
Duży kontrast | {a4d6a176-b948-4b29-8c66-53c97a1ed7d0} |
Kategoria
Element <Category> definiuje kolekcję kolorów w motywie. Nazwy kategorii zapewniają grupowania logiczne i powinny być zdefiniowane tak wąsko, jak to możliwe. Kategoria musi zawierać co najmniej jeden <element Color> . Elementy kategorii są zdefiniowane w następujący sposób:
<Category Name="name" GUID="guid">
<!-- one or more Color elements -->
</Category>
Atrybut | Definicja |
---|---|
Nazwisko | [Wymagane] Nazwa kategorii |
Identyfikator GUID | [Wymagane] Identyfikator GUID kategorii (musi być zgodny z formatowaniem identyfikatora GUID) |
Kolor
Element <Color> definiuje kolor składnika lub stanu interfejsu użytkownika. Preferowany schemat nazewnictwa dla koloru to [typ interfejsu użytkownika] [State]. Nie używaj słowa "kolor", ponieważ jest on nadmiarowy. Kolor powinien wyraźnie wskazywać typ elementu i sytuacje lub "stan", dla którego zostanie zastosowany kolor. Kolor nie może być pusty i musi zawierać jeden lub oba <elementy Tło> i <Pierwszy plan> . Elementy kolorów są zdefiniowane w następujący sposób:
<Color Name="name">
<Background /> <!-- zero or one Background element -->
<Foreground /> <!-- zero or one Foreground element -->
</Color>
Atrybut | Definicja |
---|---|
Nazwisko | [Wymagane] Nazwa koloru |
Tło i/lub Pierwszy plan
Elementy <Tło i <Pierwszy> plan> definiują wartość i typ koloru dla tła lub pierwszego planu elementu interfejsu użytkownika. Te elementy nie mają elementów podrzędnych.
<Background Type="type" Source="int" />
<Foreground Type="type" Source="int" />
Atrybut | Definicja |
---|---|
Typ | [Wymagane] Typ koloru. Może to być jedna z następujących opcji: CT_INVALID: Kolor jest nieprawidłowy lub nie jest ustawiony. CT_RAW: nieprzetworzona wartość ARGB. CT_COLORINDEX: NIE UŻYWAJ. CT_SYSCOLOR: Kolor systemu Windows z SysColor. CT_VSCOLOR: kolor programu Visual Studio z __VSSYSCOLOREX. CT_AUTOMATIC: kolor automatyczny. CT_TRACK_FOREGROUND: NIE UŻYWAJ. CT_TRACK_BACKGROUND: NIE UŻYWAJ. |
Źródło | [Wymagane] Wartość koloru reprezentowanego w szesnastkowym |
Wszystkie wartości obsługiwane przez wyliczenie __VSCOLORTYPE są obsługiwane przez schemat w atrybucie Type. Zalecamy jednak używanie tylko CT_RAW i CT_SYSCOLOR.
Wszystkie razem
Jest to prosty przykład prawidłowego pliku XML motywu:
<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>
Jak korzystać z narzędzia
Składnia
VsixColorCompiler <plik>><<XML PkgDef opcjonalny Args>
Argumenty
Nazwa przełącznika | Uwagi | Wymagane lub opcjonalne |
---|---|---|
Bez nazwy (plik XML) | Jest to pierwszy parametr bez nazwy i jest ścieżką do pliku XML do konwersji. | Wymagania |
Bez nazwy (plik pkgdef) | Jest to drugi nienazwany parametr i jest ścieżką wyjściową wygenerowanego pliku pkgdef. Ustawienie domyślne: <Nazwa pliku> XML.pkgdef |
Opcjonalnie |
/noLogo | Ustawienie tej flagi uniemożliwia drukowanie informacji o produktach i prawach autorskich. | Opcjonalnie |
/? | Wyświetl informacje pomocy. | Opcjonalnie |
/help | Wyświetl informacje pomocy. | Opcjonalnie |
Przykłady
VsixColorCompiler D:\xml\colors.xml D:\pkgdef\colors.pkgdef
VsixColorCompiler D:\xml\colors.xml /noLogo
Uwagi
To narzędzie wymaga zainstalowania najnowszej wersji środowiska uruchomieniowego VC++.
Obsługiwane są tylko pojedyncze pliki. Konwersja zbiorcza za pośrednictwem ścieżek folderów nie jest obsługiwana.
Narzędzie można znaleźć w witrynie
<VS Install Path>\VSSDK\VisualStudioIntegration\Tools\Bin\
Przykładowe dane wyjściowe
Plik pkgdef wygenerowany przez narzędzie będzie podobny do poniższych kluczy:
[$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