Główny dokument
Dział zatytułowany „Główny dokument”| Pole | Znaczenie |
|---|---|
version |
Wymagane. Musi wynosić 2. |
name |
Wymagana niepusta nazwa, do 160 znaków. |
$schema |
Opcjonalne wskazanie schematu dla edytora. |
author, description |
Opcjonalne metadane. |
appearance |
Domyślnie adaptive, opcjonalnie stałe light / dark. |
common, light, dark |
Wspólne wartości motywu kolorów i zmiany dla poszczególnych trybów. |
resources |
Mapa lokalnych assets i uporządkowana lista stylesheets. |
vscode |
Rozwiązane dane VS Code zachowane przez importer. |
iconTheme |
{ kind: 'file' lub 'product', path: 'icons.json' } dla pakietu ikon. |
Pakiet ikon nie może jednocześnie definiować common, light, dark, resources ani vscode. Motywy ikon i kolorów są osobnymi wyborami.
Każda sekcja kolorów (common, light, dark) obsługuje poniższe elementy.
Mapa nazw zmiennych CSS na wartości tekstowe. Nazwa używa --, po których występują małe litery, cyfry i łączniki. Pierwszy znak po -- musi być literą.
| Często używane tokeny | Zastosowanie |
|---|---|
--color-background, --color-background-text |
Główne tło i tekst. |
--color-surface, --color-surface-text |
Tło powierzchni i jej tekst. |
--color-surface-variant, --color-surface-variant-text |
Powierzchnie i tekst drugoplanowy. |
--color-outline |
Obramowania. |
--color-primary, --color-primary-text |
Akcent i tekst na akcencie. |
--color-error, --color-warning, --color-info |
Kolory stanów. |
--font-family, --font-family-mono, --font-size |
Podstawowa typografia. |
--density, --border-width, --focus-width |
Skala odstępów i grubość linii. |
--radius-control, --radius-tab, --radius-menu, --radius-modal |
Zaokrąglenia. |
--terminal-padding, --pane-spacing, --sidebar-min-width, --sidebar-max-width |
Odstępy i wymiary paneli. |
Katalog tokenów zawiera wszystkie 226 tokenów DeepMono z wartościami Light i Dark. W pierwszej kolejności używaj istniejących tokenów semantycznych, zanim sięgniesz po selektory aplikacji.
Tokeny --color-*, kolory edytora, składni i terminala przyjmują zapis hex RGB/RGBA (#abc, #abcd, #aabbcc, #aabbccdd), transparent, var(--token) oraz color-mix(in srgb, var(--token) 70%, transparent) z procentem od 0 do 100. Inne wyrażenia umieść w opcjonalnym arkuszu CSS. Odwołanie var() w polu koloru nie może mieć argumentu wartości zapasowej.
| Pole | Wartości |
|---|---|
tabs |
inline, above, below |
statusbar |
top, bottom |
settingsNavigation |
left, right, top, bottom |
Wartości zmieniają sposób wyświetlania. Nie przepisują zapisanego układu obszaru roboczego.
Mapa selektorów CSS na mapy deklaracji. Nazwy właściwości używają zapisu kebab-case, a wartości są tekstem:
{ "common": { "styles": { ".workspace-info": { "padding": "20px", "border-radius": "var(--radius-control)" } } }}To fragment dokumentu. Silnik waliduje i serializuje deklaracje przez CSSOM. Selektory nie są izolowane od pozostałej części aplikacji.
backgrounds
Dział zatytułowany „backgrounds”Obsługiwane obszary to app, terminal, sidebar, titlebar, statusbar, settings i modal. Każdy przyjmuje:
| Pole | Wartość |
|---|---|
image |
Względna ścieżka pliku wewnątrz pakietu. |
opacity |
Liczba od 0 do 1. Dotyczy warstwy tła, nie tekstu. |
blur |
Liczba od 0 do 100. |
size, position |
Wartości CSS, np. cover i center. |
repeat |
no-repeat, repeat, repeat-x, repeat-y, space, round. |
overlay, blendMode |
Kolor nakładki i tryb mieszania CSS. |
fontFamily jest tekstem, a fontSize przyjmuje wartości od 6 do 72. colors obsługuje background, foreground, gutterBackground, gutterForeground, activeLine, selection i cursor.
syntax obsługuje dokładnie te nazwy:
keyword, string, number, comment, type, function, variable, property,operator, punctuation, heading, strong, emphasis, link, invalidKażdy wpis składni przyjmuje color, fontStyle (normal lub italic), fontWeight (normal, bold albo od 100 do 900 co 100) oraz textDecoration (none lub underline). Wpisy odpowiadają stałym kategoriom edytora CodeMirror/Lezer.
terminal
Dział zatytułowany „terminal”| Pole | Wartość |
|---|---|
preset |
Nazwa z dołączonej biblioteki palet xterm-theme. Dostępne nazwy sprawdzisz przez Load terminal presets w edytorze. |
fontFamily |
Nazwa rodziny fontów. |
fontSize |
Od 6 do 72. |
lineHeight |
Od 1 do 3. |
letterSpacing |
Od -2 do 20. |
fontWeight, fontWeightBold |
normal, bold lub liczba od 1 do 1000. |
cursorStyle |
bar, block, underline. |
cursorInactiveStyle |
outline, bar, block, underline, none. |
cursorBlink, drawBoldTextInBrightColors |
Wartość logiczna. |
cursorWidth |
Od 1 do 10. |
minimumContrastRatio |
Od 1 do 21. |
colors przyjmuje wszystkie poniższe klucze:
background, foreground, cursor, cursorAccent,selectionBackground, selectionForeground, selectionInactiveBackground,black, red, green, yellow, blue, magenta, cyan, white,brightBlack, brightRed, brightGreen, brightYellow,brightBlue, brightMagenta, brightCyan, brightWhite,searchMatchBackground, searchActiveMatchBackground,searchMatchBorder, searchActiveMatchBorderJawnie ustawione kolory nadpisują preset. Wybory użytkownika w Settings > Terminal nadpisują wartości terminala pochodzące z motywu. Motyw kolorów nie konfiguruje zachowania powłoki ani wcięć edytora.
plugins
Dział zatytułowany „plugins”Mapa ID właścicieli pluginów na mapy nazw tokenów i wartości tekstowych. Tokeny stają się zmiennymi CSS z własną przestrzenią nazw. To pole nie nadpisuje właściwości rdzenia aplikacji. Przykład znajduje się na stronie Zasoby i CSS.
Pola zasobów i granice walidacji
Dział zatytułowany „Pola zasobów i granice walidacji”resources należy do głównego poziomu dokumentu, a nie sekcji wyglądu. assets mapuje aliasy zapisane małymi literami na pliki wewnątrz pakietu; stylesheets jest uporządkowaną tablicą unikatowych ścieżek .css. Oba pola są opcjonalne dla motywu kolorów. Pełne przykłady znajdziesz w zasobach i CSS.
| Wartość | Limit lub reguła |
|---|---|
| Dokument | JSONC UTF-8, maksymalnie 256 KiB i 32 poziomy zagnieżdżenia |
| Nazwa | Niepusta, maksymalnie 160 znaków |
| Zwykłe teksty metadanych | Niepuste, maksymalnie 2000 znaków |
| Selektor CSS | Niepusty, maksymalnie 1000 znaków; musi tworzyć regułę stylu |
| Wartość tokenu, tokenu pluginu lub deklaracji CSS | Niepusty tekst, maksymalnie 4000 znaków |
| Ścieżka zasobu | Maksymalnie 1024 znaki; bez ścieżek absolutnych, pustych segmentów, . i .. |
| Alias zasobu | Najpierw mała litera, następnie małe litery, cyfry lub myślniki |
| ID właściciela pluginu | Małe litery i przestrzeń nazw, np. example.workspace-info |
Nieznane pola strukturalne są odrzucane. Pola liczbowe wymagają skończonych liczb JSON z odpowiedniego zakresu; nie ujmuj ich w cudzysłowy. Pomijaj opcjonalne pola zamiast przypisywać null. Powtórzone klucze są błędem również w obiektach zagnieżdżonych.
Schemat JSON pomaga w uzupełnianiu nazw i strukturze; podgląd sprawdza również obsługę CSS, nazwy presetów i ładowanie zasobów. Poprawny dokument JSON może nie przejść tych kontroli. Komunikaty błędów zawierają nazwę pliku, linię i kolumnę, gdy są dostępne.
vscode przechowuje rozwiązaną treść źródłową: zależności include i zewnętrzne pliki TextMate najpierw przetwórz importerem. Nie wpisuj nierozwiązanych ścieżek do tego pola. Natywne appearance nadal określa tryb wyglądu.
Katalog tokenów opisuje wszystkie wbudowane zmienne, edytor i terminal zawiera przepisy, a ikony mają osobny format dokumentu.
Kod źródłowy: format i limity, generowanie CSS, schemat wersji 2.