Konfiguracja
$schema
Dział zatytułowany „$schema”Pozwala przekazać ścieżkę do pliku schematu JSON.
Publikujemy plik schematu JSON dla naszych plików biome.json/biome.jsonc.
Możesz określić względną ścieżkę do schematu wewnątrz pakietu NPM @biomejs/biome,
jeśli jest zainstalowany w folderze node_modules:
{ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json"}Jeśli masz problemy z rozpoznaniem fizycznego pliku, możesz użyć tego opublikowanego na tej stronie:
{ "$schema": "https://biomejs.dev/schemas/2.0.5/schema.json"}extends
Dział zatytułowany „extends”Lista ścieżek do innych plików konfiguracyjnych Biome. Biome rozwiązuje i stosuje
ustawienia konfiguracyjne z plików zawartych w liście extends, a następnie
stosuje opcje zawarte w tym pliku biome.json/biome.jsonc.
Kolejność ścieżek do rozszerzenia idzie od najmniej istotnych do najbardziej istotnych.
Od wersji 2, ta opcja akceptuje ciąg znaków, który musi pasować do wartości "//", który może być używany
podczas konfigurowania monorepos
Czy ta konfiguracja powinna być traktowana jako główna. Domyślnie każdy plik konfiguracyjny jest uznawany za główny.
Gdy plik konfiguracyjny jest “zagnieżdżoną konfiguracją”, musi ustawić "root": false, w przeciwnym razie zostanie zgłoszony błąd.
Jest to wymagane, aby Biome mógł orkiestrować wiele plików w CLI i edytorach jednocześnie.
Domyślnie:
true
files.includes
Dział zatytułowany „files.includes”Lista wzorców glob plików do przetworzenia.
Jeśli folder pasuje do wzorca glob, wszystkie pliki wewnątrz tego folderu będą przetworzone.
Poniższy przykład pasuje do wszystkich plików z rozszerzeniem .js wewnątrz folderu src:
{ "files": { "includes": ["src/**/*.js"] }}* jest używane do dopasowania wszystkich plików w folderze, podczas gdy ** rekurencyjnie dopasowuje
wszystkie pliki i podfoldery w folderze. Aby uzyskać więcej informacji o globach, zobacz
referencja składni glob
includes obsługuje również wzorce zanegowane lub wyjątki. Są to wzorce
zaczynające się od ! i mogą być używane do instruowania Biome, aby przetwarzał wszystkie pliki
z wyjątkiem tych pasujących do wzorca zanegowanego. Podczas używania wzorca zanegowanego,
zawsze powinieneś najpierw określić **, aby dopasować wszystkie pliki i foldery, w przeciwnym razie
wzorzec zanegowany nie dopasuje żadnych plików.
Zauważ, że wyjątki są przetwarzane w kolejności, co pozwala na określenie wyjątków od wyjątków.
Rozważ następujący przykład:
{ "files": { "includes": ["**", "!**/*.test.js", "**/special.test.js", "!test"] }}Ten przykład określa, że:
- Wszystkie pliki wewnątrz wszystkich (pod)folderów są przetwarzane, dzięki wzorcowi
**… - … z wyjątkiem gdy te pliki mają rozszerzenie
.test.js… - … ale plik
special.test.tsjest nadal przetwarzany… - … z wyjątkiem gdy występuje w folderze o nazwie
test, ponieważ żadne pliki wewnątrz tego folderu nie są przetwarzane.
Oznacza to, że:
src/app.jsjest przetwarzany.src/app.test.jsnie jest przetwarzany.src/special.test.jsjest przetwarzany.test/special.test.jsnie jest przetwarzany.
Zauważ, że pliki wewnątrz node_modules/ są ignorowane niezależnie od
ustawienia files.includes.
Interakcja ze skanerem
Dział zatytułowany „Interakcja ze skanerem”Biome ma skaner, który jest odpowiedzialny za
odkrywanie zagnieżdżonych plików konfiguracyjnych oraz plików .gitignore. Może
również indeksować pliki źródłowe, jeśli jedna lub więcej reguł z
domeny projektu jest włączona.
Skaner respektuje zarówno files.includes, jak i wzorce ignorowane z
plików .gitignore, ale są dwa wyjątki, o których należy wiedzieć:
- Specjalne pliki, takie jak
biome.jsoni.gitignore, mają priorytet nad wszystkimi wzorcami ignorowanymi wfiles.includes. - Jeśli jakakolwiek reguła z domeny projektu jest włączona, skaner będzie indeksował pliki źródłowe
włącznie z ich zależnościami. Oznacza to, że pliki, które są ignorowane
jako część
files.includes, mogą nadal być indeksowane przez skaner, o ile istnieje inny dołączony plik, który importuje te pliki. A to również oznacza, że pliki.d.tsi manifestypackage.jsonwewnątrznode_modules/mogą również być indeksowane.
Jeśli chcesz wyraźnie wymusić ignorowanie niektórych plików przez skaner, możesz
to zrobić używając tak zwanego wzorca force-ignore. Wzorzec force-ignore wygląda
jak zwykły wzorzec zanegowany, ale zaczyna się od podwójnego wykrzyknika
(!!).
Na przykład, możesz powiedzieć Biome, aby nigdy nie zaglądał do żadnego folderu dist/ używając
następującej konfiguracji:
{ "files": { "includes": ["**", "!!**/dist"] }}Zalecamy używanie składni force-ignore dla wszystkich folderów, które zawierają pliki wyjściowe,
takie jak build/ i dist/. Dla takich folderów jest bardzo mało prawdopodobne,
że indeksowanie ma jakiekolwiek użyteczne korzyści. Dla folderów zawierających wygenerowane pliki,
radzimy używać zwykłych wzorców ignorowania, aby informacje o typach mogły nadal być
wyciągane z plików.
Dla zagnieżdżonych plików biome.json oraz plików .gitignore, które chcesz
wyraźnie zignorować, składnia force-ignore musi również być użyta.
files.ignoreUnknown
Dział zatytułowany „files.ignoreUnknown”Jeśli true, Biome nie będzie emitował diagnostyki, jeśli napotka pliki, których nie może
obsłużyć.
{ "files": { "ignoreUnknown": true }}Domyślnie:
false
files.maxSize
Dział zatytułowany „files.maxSize”Maksymalny dozwolony rozmiar plików kodu źródłowego w bajtach. Pliki powyżej tego limitu będą ignorowane ze względów wydajnościowych.
Domyślnie:
1048576(1024*1024, 1MB)
files.experimentalScannerIgnores
Dział zatytułowany „files.experimentalScannerIgnores”Tablica segmentów ścieżek dosłownych, które skaner powinien ignorować podczas przeszukiwania. Zignorowane pliki nie będą indeksowane, co oznacza, że te pliki nie będą częścią grafu modułów, a typy nie będą z nich wywnioskowane.
Zestaw właściwości do integracji Biome z VCS (oprogramowaniem kontroli wersji).
vcs.enabled
Dział zatytułowany „vcs.enabled”Czy Biome powinien integrować się z klientem VCS
Domyślnie:
false
vcs.clientKind
Dział zatytułowany „vcs.clientKind”Rodzaj klienta.
Wartości:
"git"
vcs.useIgnoreFile
Dział zatytułowany „vcs.useIgnoreFile”Czy Biome powinien używać plików ignorowania VCS projektu. Gdy true, Biome będzie ignorować pliki
określone w plikach ignorowania VCS oraz te określone w plikach .ignore.
Ta funkcja obsługuje również zagnieżdżone pliki ignorowania.
Główny plik ignorowania daje te same semantyki co główny files.includes.
vcs.root
Dział zatytułowany „vcs.root”Folder, w którym Biome powinien sprawdzać pliki VCS. Domyślnie Biome użyje tego samego
folderu, w którym znaleziono biome.json.
Jeśli Biome nie może znaleźć konfiguracji, spróbuje użyć bieżącego katalogu roboczego. Jeśli nie można znaleźć bieżącego katalogu roboczego, Biome nie będzie używać integracji VCS i zostanie wyemitowana diagnostyka
vcs.defaultBranch
Dział zatytułowany „vcs.defaultBranch”Główna gałąź projektu. Biome użyje tej gałęzi podczas oceniania zmienionych plików.
linter.enabled
Dział zatytułowany „linter.enabled”Włącza linter Biome.
Domyślnie:
true
linter.includes
Dział zatytułowany „linter.includes”Lista wzorców glob plików do lintowania.
Poniższy przykład lintuje wszystkie pliki z rozszerzeniem .js wewnątrz folderu src:
{ "linter": { "includes": ["src/**/*.js"] }}* jest używane do dopasowania wszystkich plików w folderze, podczas gdy ** rekurencyjnie dopasowuje
wszystkie pliki i podfoldery w folderze. Aby uzyskać więcej informacji o globach, zobacz
referencja składni glob
includes obsługuje również wzorce zanegowane lub wyjątki. Są to wzorce
zaczynające się od ! i mogą być używane do instruowania Biome, aby przetwarzał wszystkie pliki
z wyjątkiem tych pasujących do wzorca zanegowanego.
Zauważ, że wyjątki są przetwarzane w kolejności, co pozwala na określenie wyjątków od wyjątków.
Rozważ następujący przykład:
{ "linter": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}Ten przykład określa, że:
- Wszystkie pliki wewnątrz wszystkich (pod)folderów są lintowane, dzięki wzorcowi
**… - … z wyjątkiem gdy te pliki mają rozszerzenie
.test.js… - … ale plik
special.test.tsjest nadal lintowany.
Oznacza to, że:
src/app.jsjest lintowany.src/app.test.jsnie jest lintowany.src/special.test.jsjest lintowany.
Zauważ, że linter.includes jest stosowane po files.includes. Oznacza to,
że każdy plik, który nie jest dopasowany przez files.includes, nie może już być dopasowany
przez linter.includes. Oznacza to, że następujący przykład nie działa:
{ "files": { "includes": "src/**" }, "linter": { // To nie dopasowuje niczego, ponieważ nie ma nakładania się z `files.includes`: "includes": "scripts/**" }}Jeśli linter.includes nie jest określone, wszystkie pliki dopasowane przez
files.includes są lintowane.
linter.rules.recommended
Dział zatytułowany „linter.rules.recommended”Włącza zalecane reguły dla wszystkich grup.
Domyślnie:
true
linter.rules.[group]
Dział zatytułowany „linter.rules.[group]”Opcje wpływające na reguły pojedynczej grupy. Biome obsługuje następujące grupy:
- accessibility: Reguły skupione na zapobieganiu problemom z dostępnością.
- complexity: Reguły skupione na sprawdzaniu złożonego kodu, który mógłby być uproszczony.
- correctness: Reguły wykrywające kod, który jest gwarantowanie niepoprawny lub bezużyteczny.
- nursery: Nowe reguły, które są nadal w rozwoju. Reguły nursery wymagają wyraźnego włączenia przez konfigurację w stabilnych wersjach, ponieważ mogą nadal mieć błędy lub problemy z wydajnością. Są domyślnie włączone w wersjach nightly, ale ponieważ są niestabilne, ich ważność diagnostyczna może być ustawiona na błąd lub ostrzeżenie, w zależności od tego, czy zamierzamy, aby reguła była zalecana, czy nie, gdy ostatecznie zostanie ustabilizowana. Reguły nursery są promowane do innych grup, gdy stają się stabilne lub mogą zostać usunięte. Reguły należące do tej grupy nie podlegają wersjonowaniu semantycznemu.
- performance: Reguły wykrywające sposoby, w jakie twój kod mógłby być napisany, aby działał szybciej lub był ogólnie bardziej wydajny.
- security: Reguły wykrywające potencjalne luki bezpieczeństwa.
- style: Reguły wymuszające spójny i idiomatyczny sposób pisania kodu.
- suspicious: Reguły wykrywające kod, który prawdopodobnie jest niepoprawny lub bezużyteczny.
Każda grupa może przyjąć, jako wartość, ciąg znaków reprezentujący ważność lub obiekt, w którym każda reguła może być skonfigurowana.
Podczas przekazywania ważności możesz kontrolować ważność emitowaną przez wszystkie reguły należące do grupy.
Na przykład możesz skonfigurować grupę a11y, aby emitowała diagnostyki informacyjne:
{ "linter": { "rules": { "a11y": "info" } }}Oto akceptowane wartości:
"on": każda reguła należąca do grupy będzie emitować diagnostykę z domyślną ważnością reguły. Zobacz dokumentację reguły lub użyj poleceniaexplain:Okno terminala biome explain noDebugger"off": żadna z reguł należących do grupy nie będzie emitować żadnych diagnostyk."info": wszystkie reguły należące do grupy będą emitować diagnostykę z ważnością informacyjną."warn": wszystkie reguły należące do grupy będą emitować diagnostykę z ważnością ostrzeżenia."error": wszystkie reguły należące do grupy będą emitować diagnostykę z ważnością błędu.
linter.rules.[group].recommended
Dział zatytułowany „linter.rules.[group].recommended”Włącza zalecane reguły dla pojedynczej grupy.
Przykład:
{ "linter": { "enabled": true, "rules": { "nursery": { "recommended": true } } }}assist.enabled
Dział zatytułowany „assist.enabled”Włącza asystenta Biome.
Domyślnie:
true
assist.includes
Dział zatytułowany „assist.includes”Lista wzorców glob plików do analizy.
Poniższy przykład analizuje wszystkie pliki z rozszerzeniem .js wewnątrz folderu src:
{ "assist": { "includes": ["src/**/*.js"] }}* jest używane do dopasowania wszystkich plików w folderze, podczas gdy ** rekurencyjnie dopasowuje
wszystkie pliki i podfoldery w folderze. Aby uzyskać więcej informacji o globach, zobacz
referencja składni glob
includes obsługuje również wzorce zanegowane lub wyjątki. Są to wzorce
zaczynające się od ! i mogą być używane do instruowania Biome, aby przetwarzał wszystkie pliki
z wyjątkiem tych pasujących do wzorca zanegowanego.
Zauważ, że wyjątki są przetwarzane w kolejności, co pozwala na określenie wyjątków od wyjątków.
Rozważ następujący przykład:
{ "assist": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}Ten przykład określa, że:
- Wszystkie pliki wewnątrz wszystkich (pod)folderów są analizowane, dzięki wzorcowi
**… - … z wyjątkiem gdy te pliki mają rozszerzenie
.test.js… - … ale plik
special.test.tsjest nadal analizowany.
Oznacza to, że:
src/app.jsjest analizowany.src/app.test.jsnie jest analizowany.src/special.test.jsjest analizowany.
Zauważ, że assist.includes jest stosowane po files.includes. Oznacza to,
że każdy plik, który nie jest dopasowany przez files.includes, nie może już być dopasowany
przez assist.includes. Oznacza to, że następujący przykład nie działa:
{ "files": { "includes": "src/**" }, "assist": { // To nie dopasowuje niczego, ponieważ nie ma nakładania się z `files.includes`: "includes": "scripts/**" }}Jeśli assist.includes nie jest określone, wszystkie pliki dopasowane przez
files.includes są analizowane.
assist.actions.recommended
Dział zatytułowany „assist.actions.recommended”Włącza zalecane akcje dla wszystkich grup.
assist.actions.[group]
Dział zatytułowany „assist.actions.[group]”Opcje wpływające na reguły pojedynczej grupy. Biome obsługuje następujące grupy:
- source: Ta grupa reprezentuje te akcje, które mogą być bezpiecznie zastosowane do dokumentu przy zapisywaniu. Te akcje są ogólnie bezpieczne, zazwyczaj nie zmieniają funkcjonalności programu.
assist.actions.[group].recommended
Dział zatytułowany „assist.actions.[group].recommended”Włącza zalecane reguły dla pojedynczej grupy.
Przykład:
{ "assist": { "enabled": true, "actions": { "source": { "recommended": true } } }}formatter
Dział zatytułowany „formatter”Te opcje dotyczą wszystkich języków. Poniżej znajdują się dodatkowe opcje formatowania specyficzne dla języka.
formatter.enabled
Dział zatytułowany „formatter.enabled”Włącza formatowanie Biome.
Domyślnie:
true
formatter.includes
Dział zatytułowany „formatter.includes”Lista wzorców glob plików do sformatowania.
Poniższy przykład formatuje wszystkie pliki z rozszerzeniem .js wewnątrz folderu src:
{ "formatter": { "includes": ["src/**/*.js"] }}* jest używane do dopasowania wszystkich plików w folderze, podczas gdy ** rekurencyjnie dopasowuje
wszystkie pliki i podfoldery w folderze. Aby uzyskać więcej informacji o globach, zobacz
referencja składni glob
includes obsługuje również wzorce zanegowane lub wyjątki. Są to wzorce
zaczynające się od ! i mogą być używane do instruowania Biome, aby przetwarzał wszystkie pliki
z wyjątkiem tych pasujących do wzorca zanegowanego.
Zauważ, że wyjątki są przetwarzane w kolejności, co pozwala na określenie wyjątków od wyjątków.
Rozważ następujący przykład:
{ "formatter": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}Ten przykład określa, że:
- Wszystkie pliki wewnątrz wszystkich (pod)folderów są formatowane, dzięki wzorcowi
**… - … z wyjątkiem gdy te pliki mają rozszerzenie
.test.js… - … ale plik
special.test.tsjest nadal formatowany.
Oznacza to, że:
src/app.jsjest formatowany.src/app.test.jsnie jest formatowany.src/special.test.jsjest formatowany.
Zauważ, że formatter.includes jest stosowane po files.includes. Oznacza to,
że każdy plik, który nie jest dopasowany przez files.includes, nie może już być dopasowany
przez formatter.includes. Oznacza to, że następujący przykład nie działa:
{ "files": { "includes": "src/**" }, "formatter": { // To nie dopasowuje niczego, ponieważ nie ma nakładania się z `files.includes`: "includes": "scripts/**" }}Jeśli formatter.includes nie jest określone, wszystkie pliki dopasowane przez
files.includes są formatowane.
formatter.formatWithErrors
Dział zatytułowany „formatter.formatWithErrors”Pozwala sformatować dokument, który ma błędy składniowe.
{ "formatter": { "formatWithErrors": true }}Domyślnie:
false
formatter.indentStyle
Dział zatytułowany „formatter.indentStyle”Styl wcięcia. Może być "tab" lub "space".
Domyślnie:
"tab"
formatter.indentWidth
Dział zatytułowany „formatter.indentWidth”Jak duże powinno być wcięcie.
Domyślnie:
2
formatter.lineEnding
Dział zatytułowany „formatter.lineEnding”Typ zakończenia linii.
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
formatter.lineWidth
Dział zatytułowany „formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii.
Domyślnie:
80
formatter.attributePosition
Dział zatytułowany „formatter.attributePosition”Styl pozycji atrybutów w językach HTMLowych.
"auto", atrybuty są automatycznie formatowane i będą zwijane w wiele linii tylko wtedy, gdy spełnią określone kryteria;"multiline", atrybuty będą zwijane w wiele linii, jeśli używany jest więcej niż 1 atrybut.
Domyślnie:
"auto"
formatter.bracketSpacing
Dział zatytułowany „formatter.bracketSpacing”Wybierz, czy spacje powinny być dodawane między nawiasami a wartościami wewnętrznymi.
Domyślnie:
true
formatter.expand
Dział zatytułowany „formatter.expand”Czy rozszerzać tablice i obiekty na wiele linii.
"auto", literały obiektów są formatowane na wiele linii, jeśli pierwsza właściwość ma nową linię, a literały tablic są formatowane w jednej linii, jeśli pasują do linii."always", te literały są formatowane na wiele linii, niezależnie od długości listy."never", te literały są formatowane w jednej linii, jeśli pasują do linii.
Podczas formatowania package.json, Biome użyje always, chyba że skonfigurowano inaczej.
Domyślnie:
"auto"
formatter.useEditorconfig
Dział zatytułowany „formatter.useEditorconfig”Czy Biome powinien używać pliku .editorconfig do określenia opcji formatowania.
Pliki konfiguracyjne .editorconfig i biome.json będą przestrzegać następujących reguł:
- Ustawienia formatowania w
biome.jsonzawsze mają pierwszeństwo przed plikami.editorconfig. - Pliki
.editorconfig, które istnieją wyżej w hierarchii niż plikbiome.json, są już ignorowane. Ma to na celu uniknięcie ładowania ustawień formatowania z czyjegoś katalogu domowego do projektu z plikiembiome.json. - Zagnieżdżone pliki
.editorconfignie są obecnie obsługiwane.
Domyślnie:
false
javascript
Dział zatytułowany „javascript”Te opcje dotyczą tylko plików JavaScript (i TypeScript).
javascript.parser.unsafeParameterDecoratorsEnabled
Dział zatytułowany „javascript.parser.unsafeParameterDecoratorsEnabled”Pozwala obsługiwać niebezpieczne/eksperymentalne dekoratory parametrów.
{ "javascript": { "parser": { "unsafeParameterDecoratorsEnabled": true } }}Domyślnie:
false
javascript.parser.jsxEverywhere
Dział zatytułowany „javascript.parser.jsxEverywhere”Gdy ustawione na true, pozwala parsować składnię JSX wewnątrz plików .js. Gdy ustawione na false, Biome będzie zgłaszać diagnostyki, gdy napotka składnię JSX wewnątrz plików .js.
Domyślnie:
true
{ "javascript": { "parser": { "jsxEverywhere": false } }}javascript.formatter.quoteStyle
Dział zatytułowany „javascript.formatter.quoteStyle”Typ cudzysłowu używany przy reprezentowaniu literałów ciągów. Może być "single" lub "double".
Domyślnie:
"double"
{ "javascript": { "formatter": { "quoteStyle": "single" } }}javascript.formatter.jsxQuoteStyle
Dział zatytułowany „javascript.formatter.jsxQuoteStyle”Typ cudzysłowu używany przy reprezentowaniu literałów ciągów JSX. Może być "single" lub "double".
Domyślnie:
"double"
{ "javascript": { "formatter": { "jsxQuoteStyle": "single" } }}javascript.formatter.quoteProperties
Dział zatytułowany „javascript.formatter.quoteProperties”Kiedy właściwości wewnątrz obiektów powinny być w cudzysłowach. Może być "asNeeded" lub "preserve".
Domyślnie:
"asNeeded"
{ "javascript": { "formatter": { "quoteProperties": "preserve" } }}javascript.formatter.trailingCommas
Dział zatytułowany „javascript.formatter.trailingCommas”Drukuj końcowe przecinki wszędzie tam, gdzie jest to możliwe w wieloliniowych strukturach składniowych oddzielonych przecinkami. Możliwe wartości:
"all", końcowy przecinek jest zawsze dodawany;"es5", końcowy przecinek jest dodawany tylko w miejscach, gdzie jest obsługiwany przez starszą wersję JavaScript;"none", końcowe przecinki nigdy nie są dodawane.
Domyślnie:
"all"
javascript.formatter.semicolons
Dział zatytułowany „javascript.formatter.semicolons”Konfiguruje, gdzie formatowanie drukuje średniki:
"always", średnik jest zawsze dodawany na końcu każdego wyrażenia;"asNeeded", średniki są dodawane tylko w miejscach, gdzie są potrzebne, aby chronić przed ASI.
Domyślnie:
"always"
Przykład:
{ "javascript": { "formatter": { "semicolons": "asNeeded" } }}javascript.formatter.arrowParentheses
Dział zatytułowany „javascript.formatter.arrowParentheses”Czy dodawać niepotrzebne nawiasy do funkcji strzałkowych:
"always", nawiasy są zawsze dodawane;"asNeeded", nawiasy są dodawane tylko wtedy, gdy są potrzebne.
Domyślnie:
"always"
javascript.formatter.enabled
Dział zatytułowany „javascript.formatter.enabled”Włącza formatowanie Biome dla plików JavaScript (i jego nadjęzyków).
Domyślnie:
true
javascript.formatter.indentStyle
Dział zatytułowany „javascript.formatter.indentStyle”Styl wcięcia dla plików JavaScript (i jego nadjęzyków). Może być "tab" lub "space".
Domyślnie:
"tab"
javascript.formatter.indentWidth
Dział zatytułowany „javascript.formatter.indentWidth”Jak duże powinno być wcięcie dla plików JavaScript (i jego nadjęzyków).
Domyślnie:
2
javascript.formatter.lineEnding
Dział zatytułowany „javascript.formatter.lineEnding”Typ zakończenia linii dla plików JavaScript (i jego nadjęzyków).
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
javascript.formatter.lineWidth
Dział zatytułowany „javascript.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach JavaScript (i jego nadjęzykach).
Domyślnie:
80
javascript.formatter.bracketSameLine
Dział zatytułowany „javascript.formatter.bracketSameLine”Wybierz, czy końcowy > wieloliniowego elementu JSX powinien być w ostatniej linii atrybutu, czy nie
Domyślnie:
false
javascript.formatter.bracketSpacing
Dział zatytułowany „javascript.formatter.bracketSpacing”Wybierz, czy spacje powinny być dodawane między nawiasami a wartościami wewnętrznymi.
Domyślnie:
true
javascript.formatter.attributePosition
Dział zatytułowany „javascript.formatter.attributePosition”Styl pozycji atrybutów w elementach JSX.
"auto", nie wymuszaj pojedynczego atrybutu na linię."multiline", wymuszaj pojedynczy atrybut na linię.
Domyślnie:
"auto"
javascript.formatter.expand
Dział zatytułowany „javascript.formatter.expand”Czy rozszerzać tablice i obiekty na wiele linii.
"auto", literały obiektów są formatowane na wiele linii, jeśli pierwsza właściwość ma nową linię, a literały tablic są formatowane w jednej linii, jeśli pasują do linii."always", te literały są formatowane na wiele linii, niezależnie od długości listy."never", te literały są formatowane w jednej linii, jeśli pasują do linii.
Domyślnie:
"auto"
javascript.formatter.operatorLinebreak
Dział zatytułowany „javascript.formatter.operatorLinebreak”Podczas łamania wyrażeń binarnych na wiele linii, czy łamać je przed czy po operatorze binarnym.
Domyślnie:
"after".
"after: operator jest umieszczony po wyrażeniu:file.js if (expressionOne &&expressionTwo &&expressionThree &&expressionFour) {}"before: operator jest umieszczony przed wyrażeniem:file.js if (expressionOne&& expressionTwo&& expressionThree&& expressionFour) {}
javascript.globals
Dział zatytułowany „javascript.globals”Lista globalnych nazw, które Biome powinien ignorować (analizator, linter, itp.)
{ "javascript": { "globals": ["$", "_", "externalVariable"] }}javascript.jsxRuntime
Dział zatytułowany „javascript.jsxRuntime”Wskazuje typ środowiska wykonawczego lub transformacji używanej do interpretacji JSX.
"transparent"— Wskazuje na nowoczesne lub natywne środowisko JSX, które nie wymaga specjalnego traktowania przez Biome."reactClassic"— Wskazuje na klasyczne środowisko React, które wymaga importuReact. Odpowiada wartościreactdla opcjijsxwtsconfig.jsonTypeScript.
{ "javascript": { "jsxRuntime": "reactClassic" }}Aby uzyskać więcej informacji o starym vs. nowym środowisku wykonawczym JSX, zobacz: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
Domyślnie:
"transparent"
javascript.linter.enabled
Dział zatytułowany „javascript.linter.enabled”Włącza linter Biome dla plików JavaScript (i jego nadjęzyków).
Domyślnie:
true
{ "javascript": { "linter": { "enabled": false } }}javascript.assist.enabled
Dział zatytułowany „javascript.assist.enabled”Włącza asystenta Biome dla plików JavaScript (i jego nadjęzyków).
Domyślnie:
true
{ "javascript": { "assist": { "enabled": false } }}Opcje stosowane do plików JSON.
json.parser.allowComments
Dział zatytułowany „json.parser.allowComments”Włącza parsowanie komentarzy w plikach JSON.
{ "json": { "parser": { "allowComments": true } }}json.parser.allowTrailingCommas
Dział zatytułowany „json.parser.allowTrailingCommas”Włącza parsowanie końcowych przecinków w plikach JSON.
{ "json": { "parser": { "allowTrailingCommas": true } }}json.formatter.enabled
Dział zatytułowany „json.formatter.enabled”Włącza formatowanie Biome dla plików JSON (i jego nadjęzyków).
Domyślnie:
true
{ "json": { "formatter": { "enabled": false } }}json.formatter.indentStyle
Dział zatytułowany „json.formatter.indentStyle”Styl wcięcia dla plików JSON (i jego nadjęzyków). Może być "tab" lub "space".
Domyślnie:
"tab"
json.formatter.indentWidth
Dział zatytułowany „json.formatter.indentWidth”Jak duże powinno być wcięcie dla plików JSON (i jego nadjęzyków).
Domyślnie:
2
json.formatter.lineEnding
Dział zatytułowany „json.formatter.lineEnding”Typ zakończenia linii dla plików JSON (i jego nadjęzyków).
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
json.formatter.lineWidth
Dział zatytułowany „json.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach JSON (i jego nadjęzykach).
Domyślnie:
80
json.formatter.trailingCommas
Dział zatytułowany „json.formatter.trailingCommas”Drukuj końcowe przecinki wszędzie tam, gdzie jest to możliwe w wieloliniowych strukturach składniowych oddzielonych przecinkami.
Dozwolone wartości:
"none": końcowy przecinek jest usuwany;"all": końcowy przecinek jest zachowywany i preferowany.
Domyślnie:
"none"
json.formatter.bracketSpacing
Dział zatytułowany „json.formatter.bracketSpacing”Wybierz, czy spacje powinny być dodawane między nawiasami a wartościami wewnętrznymi.
Domyślnie:
true
json.formatter.expand
Dział zatytułowany „json.formatter.expand”Czy rozszerzać tablice i obiekty na wiele linii.
"auto", literały obiektów są formatowane na wiele linii, jeśli pierwsza właściwość ma nową linię, a literały tablic są formatowane w jednej linii, jeśli pasują do linii."always", te literały są formatowane na wiele linii, niezależnie od długości listy."never", te literały są formatowane w jednej linii, jeśli pasują do linii.
Podczas formatowania package.json, Biome użyje always, chyba że skonfigurowano inaczej.
Domyślnie:
"auto"
json.linter.enabled
Dział zatytułowany „json.linter.enabled”Włącza formatowanie Biome dla plików JSON (i jego nadjęzyków).
Domyślnie:
true
{ "json": { "linter": { "enabled": false } }}json.assist.enabled
Dział zatytułowany „json.assist.enabled”Włącza asystenta Biome dla plików JSON (i jego nadjęzyków).
Domyślnie:
true
{ "json": { "assist": { "enabled": false } }}Opcje stosowane do plików CSS.
css.parser.cssModules
Dział zatytułowany „css.parser.cssModules”Włącza parsowanie modułów CSS
Domyślnie:
false
css.parser.tailwindDirectives
Dział zatytułowany „css.parser.tailwindDirectives”Włącza parsowanie specyficznej składni Tailwind, takiej jak @theme, @utility i @apply.
Domyślnie:
false
css.formatter.enabled
Dział zatytułowany „css.formatter.enabled”Włącza formatowanie Biome dla plików CSS.
Domyślnie:
false
{ "css": { "formatter": { "enabled": false } }}css.formatter.indentStyle
Dział zatytułowany „css.formatter.indentStyle”Styl wcięcia dla plików CSS. Może być "tab" lub "space".
Domyślnie:
"tab"
css.formatter.indentWidth
Dział zatytułowany „css.formatter.indentWidth”Jak duże powinno być wcięcie dla plików CSS.
Domyślnie:
2
{ "css": { "formatter": { "indentWidth": 2 } }}css.formatter.lineEnding
Dział zatytułowany „css.formatter.lineEnding”Typ zakończenia linii dla plików CSS.
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
css.formatter.lineWidth
Dział zatytułowany „css.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach CSS.
Domyślnie:
80
css.formatter.quoteStyle
Dział zatytułowany „css.formatter.quoteStyle”Typ cudzysłowu używany przy reprezentowaniu literałów ciągów. Może być "single" lub "double".
Domyślnie:
"double"
css.linter.enabled
Dział zatytułowany „css.linter.enabled”Włącza linter Biome dla plików CSS.
Domyślnie:
true
{ "css": { "linter": { "enabled": false } }}css.assist.enabled
Dział zatytułowany „css.assist.enabled”Włącza asystenta Biome dla plików CSS.
Domyślnie:
true
{ "css": { "assist": { "enabled": false } }}graphql
Dział zatytułowany „graphql”Opcje stosowane do plików GraphQL.
graphql.formatter.enabled
Dział zatytułowany „graphql.formatter.enabled”Włącza formatowanie Biome dla plików GraphQL.
Domyślnie:
false
graphql.formatter.indentStyle
Dział zatytułowany „graphql.formatter.indentStyle”Styl wcięcia dla plików GraphQL. Może być "tab" lub "space".
Domyślnie:
"tab"
graphql.formatter.indentWidth
Dział zatytułowany „graphql.formatter.indentWidth”Jak duże powinno być wcięcie dla plików GraphQL.
Domyślnie:
2
graphql.formatter.lineEnding
Dział zatytułowany „graphql.formatter.lineEnding”Typ zakończenia linii dla plików GraphQL.
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
graphql.formatter.lineWidth
Dział zatytułowany „graphql.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach GraphQL.
Domyślnie:
80
graphql.formatter.quoteStyle
Dział zatytułowany „graphql.formatter.quoteStyle”Typ cudzysłowu używany przy reprezentowaniu literałów ciągów. Może być "single" lub "double".
Domyślnie:
"double"
graphql.linter.enabled
Dział zatytułowany „graphql.linter.enabled”Włącza linter Biome dla plików GraphQL.
Domyślnie:
true
graphql.assist.enabled
Dział zatytułowany „graphql.assist.enabled”Włącza asystenta Biome dla plików GraphQL.
Domyślnie:
true
Opcje stosowane do plików Grit.
grit.formatter.enabled
Dział zatytułowany „grit.formatter.enabled”Włącza formatowanie Biome dla plików Grit.
Domyślnie:
false
grit.formatter.indentStyle
Dział zatytułowany „grit.formatter.indentStyle”Styl wcięcia dla plików Grit. Może być "tab" lub "space".
Domyślnie:
"tab"
grit.formatter.indentWidth
Dział zatytułowany „grit.formatter.indentWidth”Jak duże powinno być wcięcie dla plików Grit.
Domyślnie:
2
grit.formatter.lineEnding
Dział zatytułowany „grit.formatter.lineEnding”Typ zakończenia linii dla plików Grit.
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
grit.formatter.lineWidth
Dział zatytułowany „grit.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach Grit.
Domyślnie:
80
grit.formatter.quoteStyle
Dział zatytułowany „grit.formatter.quoteStyle”Typ cudzysłowu używany przy reprezentowaniu literałów ciągów. Może być "single" lub "double".
Domyślnie:
"double"
grit.linter.enabled
Dział zatytułowany „grit.linter.enabled”Włącza linter Biome dla plików Grit.
Domyślnie:
true
{ "grit": { "linter": { "enabled": false } }}grit.assist.enabled
Dział zatytułowany „grit.assist.enabled”Włącza asystenta Biome dla plików Grit.
Domyślnie:
true
{ "grit": { "assist": { "enabled": false } }}html.parser.interpolation
Dział zatytułowany „html.parser.interpolation”Włącza parsowanie podwójnych wyrażeń tekstowych, takich jak {{ expression }} wewnątrz plików .html.
Domyślnie:
false
html.formatter.enabled
Dział zatytułowany „html.formatter.enabled”Włącza formatowanie Biome dla plików HTML.
Domyślnie:
false
html.formatter.indentStyle
Dział zatytułowany „html.formatter.indentStyle”Styl wcięcia dla plików HTML. Może być "tab" lub "space".
Domyślnie:
"tab"
html.formatter.indentWidth
Dział zatytułowany „html.formatter.indentWidth”Jak duże powinno być wcięcie dla plików HTML.
Domyślnie:
2
html.formatter.lineEnding
Dział zatytułowany „html.formatter.lineEnding”Typ zakończenia linii dla plików HTML.
"lf", tylko Line Feed (\n), powszechne na Linux i macOS oraz wewnątrz repozytoriów git;"crlf", znaki Carriage Return + Line Feed (\r\n), powszechne na Windows;"cr", tylko znak Carriage Return (\r), używane bardzo rzadko.
Domyślnie:
"lf"
html.formatter.lineWidth
Dział zatytułowany „html.formatter.lineWidth”Liczba znaków, które mogą być zapisane w jednej linii w plikach HTML.
Domyślnie:
80
html.formatter.attributePosition
Dział zatytułowany „html.formatter.attributePosition”Styl pozycji atrybutów w elementach HTML.
"auto", atrybuty są automatycznie formatowane i będą zwijane w wiele linii tylko wtedy, gdy spełnią określone kryteria;"multiline", atrybuty będą zwijane w wiele linii, jeśli używany jest więcej niż 1 atrybut.
Domyślnie:
"auto"
html.formatter.bracketSameLine
Dział zatytułowany „html.formatter.bracketSameLine”Czy przytulić zamykający nawias wieloliniowych tagów HTML do końca ostatniej linii, zamiast być samemu na następnej linii.
Domyślnie:
false
html.formatter.whitespaceSensitivity
Dział zatytułowany „html.formatter.whitespaceSensitivity”Czy uwzględniać wrażliwość na białe znaki podczas formatowania HTML (i jego nadjęzyków).
Domyślnie: “css”
-
"css": Formatowanie uważa białe znaki za istotne dla elementów, które mają domyślnie styl wyświetlania “inline” w arkuszu stylów user agent przeglądarki. -
"strict": Wiodące i końcowe białe znaki w treści są uważane za istotne dla wszystkich elementów.Formatowanie powinno pozostawić co najmniej jeden znak białego znaku, jeśli białe znaki są obecne. W przeciwnym razie, jeśli nie ma białych znaków, nie powinno dodawać żadnych po
>lub przed<. Innymi słowy, jeśli nie ma białych znaków, treść tekstowa powinna przytulić się do tagów.Przykład treści przytulającej się do tagów:
<b>content</b> -
"ignore": białe znaki są uważane za nieistotne. Formatowanie może swobodnie usuwać lub dodawać białe znaki, jak uzna za stosowne.
html.formatter.indentScriptAndStyle
Dział zatytułowany „html.formatter.indentScriptAndStyle”Od 2.3: Dotyczy tylko plików .vue i .svelte
Czy wciąć zawartość tagów <script> i <style> dla plików Vue i Svelte. Obecnie nie dotyczy to zwykłych plików HTML.
Domyślnie:
false
Gdy true, zawartość tagów <script> i <style> będzie wcięta o jeden poziom względem tagów.
<script>import Bar from "./Bar.vue"; import Bar from "./Bar.vue";</script>html.formatter.selfCloseVoidElements
Dział zatytułowany „html.formatter.selfCloseVoidElements”Czy elementy void powinny być samozamykające. Domyślnie nigdy.
Domyślnie:
"never"
"never": Ukośnik/wewnątrz elementów void jest usuwany przez formatowanie."always": Ukośnik/wewnątrz elementów void jest zawsze dodawany.
html.linter.enabled
Dział zatytułowany „html.linter.enabled”Włącza linter Biome dla plików HTML.
Domyślnie:
true
html.linter.assist
Dział zatytułowany „html.linter.assist”Włącza asystenta Biome dla plików HTML.
Domyślnie:
true
overrides
Dział zatytułowany „overrides”Lista wzorców.
Użyj tej konfiguracji, aby zmienić zachowanie narzędzi dla określonych plików.
Gdy plik jest dopasowany do wzorca nadpisania, konfiguracja określona w tym wzorcu nadpisze konfigurację najwyższego poziomu.
Kolejność wzorców ma znaczenie. Jeśli plik może dopasować trzy wzorce, używany jest tylko pierwszy.
overrides.<ITEM>.includes
Dział zatytułowany „overrides.<ITEM>.includes”Lista wzorców glob plików, dla których mają być zastosowane dostosowane ustawienia.
{ "overrides": [{ "includes": ["scripts/*.js"], // ustawienia, które powinny dotyczyć tylko plików określonych w polu includes. }]}overrides.<ITEM>.formatter
Dział zatytułowany „overrides.<ITEM>.formatter”Zawiera opcje konfiguracji formatowania najwyższego poziomu, minus ignore i include.
Przykłady
Dział zatytułowany „Przykłady”Na przykład możliwe jest zmodyfikowanie lineWidth, indentStyle formatowania dla określonych plików, które są zawarte w ścieżce glob generated/**:
{ "formatter": { "lineWidth": 100 }, "overrides": [ { "includes": ["generated/**"], "formatter": { "lineWidth": 160, "indentStyle": "space" } } ]}overrides.<ITEM>.linter
Dział zatytułowany „overrides.<ITEM>.linter”Zawiera opcje konfiguracji lintera najwyższego poziomu, minus ignore i include.
Przykłady
Dział zatytułowany „Przykłady”Możesz wyłączyć określone reguły dla określonych ścieżek glob i wyłączyć linter dla innych ścieżek glob:
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "includes": ["lib/**"], "linter": { "rules": { "suspicious": { "noDebugger": "off" } } } }, { "includes": ["shims/**"], "linter": { "enabled": false } } ]}overrides.<ITEM>.javascript
Dział zatytułowany „overrides.<ITEM>.javascript”Zawiera opcje konfiguracji JavaScript najwyższego poziomu. Pozwala nadpisać ustawienia specyficzne dla JavaScript dla określonych plików.
Przykłady
Dział zatytułowany „Przykłady”Możesz zmienić zachowanie formatowania plików JavaScript w określonych folderach:
{ "formatter": { "lineWidth": 120 }, "javascript": { "formatter": { "quoteStyle": "single" } }, "overrides": [ { "includes": ["lib/**"], "javascript": { "formatter": { "quoteStyle": "double" } } } ]}overrides.<ITEM>.json
Dział zatytułowany „overrides.<ITEM>.json”Zawiera opcje konfiguracji JSON najwyższego poziomu. Pozwala nadpisać ustawienia specyficzne dla JSON dla określonych plików.
Przykłady
Dział zatytułowany „Przykłady”Możesz włączyć funkcje parsowania dla określonych plików JSON:
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "includes": [".vscode/**"], "json": { "parser": { "allowComments": true, "allowTrailingCommas": true } } } ]}overrides.<ITEM>.[language]
Dział zatytułowany „overrides.<ITEM>.[language]”Zawiera opcje konfiguracji języka najwyższego poziomu. Pozwala nadpisać ustawienia specyficzne dla języka dla określonych plików.
Referencja składni Glob
Dział zatytułowany „Referencja składni Glob”Wzorce glob są używane do dopasowania ścieżek plików i folderów. Biome obsługuje następującą składnię w globach:
*dopasowuje zero lub więcej znaków. Nie może dopasować separatora ścieżki/.**rekurencyjnie dopasowuje katalogi i pliki. Ta sekwencja musi być używana jako cały komponent ścieżki, więc zarówno**a, jak ib**są nieprawidłowe i spowodują błąd. Sekwencja więcej niż dwóch kolejnych znaków*jest również nieprawidłowa.[...]dopasowuje dowolny znak wewnątrz nawiasów. Zakresy znaków mogą być również określone, uporządkowane według Unicode, więc np.[0-9]określa dowolny znak między 0 a 9 włącznie.[!...]jest negacją[...], tj. dopasowuje dowolne znaki nie w nawiasach.- Jeśli cały glob zaczyna się od
!, jest to tak zwany wzorzec zanegowany. Ten glob dopasowuje tylko wtedy, gdy ścieżka nie pasuje do globa. Wzorce zanegowane nie mogą być używane samodzielnie, mogą być używane tylko jako wyjątek od zwykłego globa. - Podczas określania, czy plik jest dołączony, czy nie, Biome uwzględnia również
foldery nadrzędne. Oznacza to, że jeśli chcesz dołączyć wszystkie pliki w folderze,
musisz użyć sufiksu
/**, aby dopasować te pliki. Ale jeśli chcesz zignorować wszystkie pliki w folderze, możesz to zrobić bez sufiksu/**. Zalecamy ignorowanie folderów bez końcowego/**, aby uniknąć niepotrzebnego przeszukiwania, a także uniknąć ryzyka, że Biome załadujebiome.jsonlub plik.gitignorez zignorowanego folderu.
Kilka przykładów:
dist/**dopasowuje folderdist/i wszystkie pliki wewnątrz niego.!distignoruje folderdist/i wszystkie pliki wewnątrz niego.**/test/**dopasowuje wszystkie pliki pod dowolnym folderem o nazwietest, niezależnie od tego, gdzie się znajdują. Np.dist/test,src/test.**/*.jsdopasowuje wszystkie pliki kończące się rozszerzeniem.jswe wszystkich folderach.
Copyright (c) 2023-present Biome Developers and Contributors.