Wyłączenia
Analizator Biome jest podstawą działania narzędzi linter i asystent; w rzeczywistości oba te narzędzia mają ze sobą wiele wspólnego.
Między innymi współdzielą ten sam silnik wyłączeń, co oznacza, że możesz wyłączyć regułę lintera w taki sam sposób, w jaki wyłączasz akcję asysty.
Dzięki wyłączeniom można wyłączyć regułę lintera (lub akcję) dla konkretnej linii kodu, zakresu lub całego pliku.
Wyłączenia osiąga się za pomocą komentarzy wyłączających.
Składnia wyłączeń
Dział zatytułowany „Składnia wyłączeń”Komentarze wyłączające mają następujący format:
// biome-ignore lint: <wyjaśnienie>// biome-ignore assist: <wyjaśnienie>// biome-ignore syntax: <wyjaśnienie>// biome-ignore lint/suspicious: <wyjaśnienie>// biome-ignore lint/suspicious/noDebugger: <wyjaśnienie>// biome-ignore lint/suspicious/noDebugger(foo): <wyjaśnienie>// biome-ignore-all lint: <wyjaśnienie>// biome-ignore-start lint: <wyjaśnienie>// biome-ignore-end lint: <wyjaśnienie>Rozbijmy to:
biome-ignore,biome-ignore-all,biome-ignore-startibiome-ignore-endto początek komentarza wyłączającego.- Po spacji następuje kategoria komentarza wyłączającego. Może to być
lint,assistlubsyntax. - Po kategorii może pojawić się opcjonalna grupa lub grupa i nazwa, oddzielone ukośnikami. Na przykład:
/suspiciouslub/suspicious/noDebugger. Im więcej określisz, tym bardziej szczegółowe (czyli precyzyjne) będzie wyłączenie. - Niektóre reguły pozwalają nawet na określenie wartości podczas wyłączania. Można je podać w nawiasach, na przykład:
(foo). Sprawdź dokumentację reguły, aby zobaczyć, czy obsługuje wyłączenia z wartościami. <wyjaśnienie>to opis, dlaczego reguła została wyłączona.
Jeśli nie jesteś pewien dokładnej kategorii reguły lub akcji, możesz zajrzeć na jej stronę dokumentacji i sprawdzić jej kategorię diagnostyczną.
Wyłączenia liniowe
Dział zatytułowany „Wyłączenia liniowe”Wyłączają regułę lintera dla następnej linii kodu.
W poniższym przykładzie komentarz wyłączający biome-ignore lint/suspicious/noDebugger: powód wyłączy instrukcję debugger; w linii 2, ale debugger w linii 3 nadal wywoła diagnostykę:
// biome-ignore lint/suspicious/noDebugger: powóddebugger;debugger;Wyłączenia dla całego pliku
Dział zatytułowany „Wyłączenia dla całego pliku”Wyłączają regułę lintera dla całego pliku. Muszą znajdować się na początku pliku i zaczynać się od biome-ignore-all.
Komentarze tego typu są bardzo przydatne, gdy chcesz wyłączyć konkretną regułę dla danego pliku i nie chcesz tego robić za pomocą konfiguracji.
W poniższym przykładzie komentarz biome-ignore-all lint/suspicious/noDebugger: powód wyłączy regułę lintera dla wszystkich linii w pliku generated.js:
// biome-ignore-all lint/suspicious/noDebugger: powód
debuggerdebuggerJeśli komentarz biome-ignore-all nie znajduje się na początku pliku, jest uznawany za nieużywany, a Biome zgłosi diagnostykę o kategorii suppression/unused.
Wyłączenia zakresowe
Dział zatytułowany „Wyłączenia zakresowe”Wyłączają regułę lintera dla określonego zakresu w pliku — począwszy od linii z komentarzem początkowym, aż do linii z komentarzem końcowym.
Aby oznaczyć początek wyłączenia zakresowego, komentarz musi zaczynać się od // biome-ignore-start.
Aby oznaczyć jego koniec — od // biome-ignore-end.
Poniższy przykład wyłączy regułę lint/suspicious/noDoubleEquals dla linii 2 i 3, ale linia 5 nadal wywoła diagnostykę:
// biome-ignore-start lint/suspicious/noDoubleEquals: powóda == b;c == d;// biome-ignore-end lint/suspicious/noDoubleEquals: powódf == g;Wyłączenia zakresowe mogą również nakładać się.
Rozważ poniższy przykład:
debugger;// biome-ignore-start lint/suspicious/noDebugger: powóddebugger// biome-ignore-start lint/suspicious/noDoubleEquals: powóda == b;c == d;// biome-ignore-end lint/suspicious/noDoubleEquals: powóddebuggerf == g;// biome-ignore-end lint/suspicious/noDebugger: powódW powyższym kodzie:
- Instrukcja
debuggerw linii 1 wywoła diagnostykę, ponieważ nie ma komentarza wyłączającego. - Komentarz
// biome-ignore-start lint/suspicious/noDebugger: powódw linii 2 zaczyna wyłączać regułęnoDebuggerod linii 3. - Komentarz
// biome-ignore-start lint/suspicious/noDoubleEquals: powódw linii 4 zaczyna wyłączać regułęnoDoubleEqualsod linii 5. - Komentarz
// biome-ignore-end lint/suspicious/noDoubleEquals: powódw linii 7 kończy wyłączenie rozpoczęte w linii 4. - Instrukcja
debuggerw linii 8 nie wywoła diagnostyki dzięki komentarzowi z linii 2. - Instrukcja
f == gwywoła diagnostykę, ponieważ regułanoDoubleEqualsnie jest już wyłączona. - Komentarz
// biome-ignore-end lint/suspicious/noDebugger: powódw linii 7 kończy wyłączenie regułynoDebuggerrozpoczęte w linii 2.
Copyright (c) 2023-present Biome Developers and Contributors.