配置
$schema
Section titled $schema
允许传递一个JSON模式文件的路径。
我们为
biome.json
发布了一个JSON模式文件。
如果
@biomejs/biome
安装在
node_modules
文件夹中,你可以指定一个相对路径到
@biomejs/biome
npm包的模式:
如果你在解析物理文件时遇到问题,你可以使用在这个网站发布的文件:
extends
Section titled extends
一个指向其他JSON文件的路径列表,这些文件将扩展当前的配置文件。
这个数组中定义的文件:
biome.json
文件的路径解析;
files
Section titled files
files.maxSize
Section titled files.maxSize
源代码文件的最大允许大小(字节)。超过此限制的文件将出于性能原因被忽略。
默认值:1024*1024 (1MB)
files.ignore
Section titled files.ignore
一组Unix shell样式的模式。Biome会忽略匹配这些模式的文件和文件夹。
files.include
Section titled files.include
一组Unix shell样式的模式。Biome只处理匹配这些模式的文件和文件夹。
给出以下例子:
只有匹配
src/**/*.js
模式的文件将被处理,而匹配
scripts/**/*.js
模式的文件将被忽略。
files.ignoreUnknown
Section titled files.ignoreUnknown
如果Biome遇到无法处理的文件,它将不会发出诊断。
默认值:false
一组用于将Biome与VCS软件集成的属性。
vcs.enabled
Section titled vcs.enabled
是否应让Biome与VCS客户端集成
默认值:false
vcs.clientKind
Section titled vcs.clientKind
客户端种类。
"git"
vcs.useIgnoreFile
Section titled vcs.useIgnoreFile
Biome是否应使用VCS忽略文件。当
true
时,Biome将忽略ignore文件中指定的文件。
vcs.root
Section titled vcs.root
Biome应检查VCS文件的文件夹。默认情况下,Biome将使用找到
biome.json
的同一文件夹。
如果Biome找不到配置,它将尝试使用当前工作目录。如果找不到当前工作目录,Biome将不使用VCS集成,并将发出诊断。
linter
Section titled linter
linter.enabled
Section titled linter.enabled
启用Biome的linter
默认值:
true
linter.ignore
Section titled linter.ignore
一组Unix shell样式的模式。
linter.include
Section titled linter.include
一组Unix shell样式的模式。Biome只处理匹配这些模式的文件和文件夹。
给出以下例子:
只有匹配
src/**/*.js
模式的文件将被lint,而匹配
scripts/**/*.js
模式的文件将被忽略。
linter.rules.recommended
Section titled linter.rules.recommended
启用所有组的 推荐规则 。
默认值:
true
linter.rules.all
Section titled linter.rules.all
启用或禁用所有组的所有 规则 。
如果
recommended
和
all
都为
true
,Biome将发出诊断信息并回退到默认设置。
也可以组合此标志以启用/禁用不同的规则组:
在上面的例子中,Biome将启用所有规则,除了属于
style
和
complexity
组的规则。
linter.rules.[group]
Section titled linter.rules.[group]
影响单个组规则的选项。Biome支持以下组:
accessibility
: Rules focused on preventing accessibility problems.
complexity
: Rules that focus on inspecting complex code that could be simplified.
correctness
: Rules that detect code that is guaranteed to be incorrect or useless.
nursery
: New rules that are still under development. Nursery rules require explicit opt-in via configuration on stable versions because they may still have bugs or performance problems. They are enabled by default on nightly builds, but as they are unstable their diagnostic severity may be set to either error or warning, depending on whether we intend for the rule to be recommended or not when it eventually gets stabilized. Nursery rules get promoted to other groups once they become stable or may be removed. Rules that belong to this group are not subject to semantic version.
performance
: Rules catching ways your code could be written to run faster, or generally be more efficient.
security
: Rules that detect potential security flaws.
style
: Rules enforcing a consistent and idiomatic way of writing your code.
suspicious
: Rules that detect code that is likely to be incorrect or useless.
linter.rules.[group].recommended
Section titled linter.rules.[group].recommended
启用单个组的推荐规则。
linter.rules.[group].all
Section titled linter.rules.[group].all
启用单个组的所有规则。
formatter
Section titled formatter
这些选项适用于所有语言。 以下还有一些特定于语言的格式化选项。
formatter.enabled
Section titled formatter.enabled
启用 Biome 的格式化器
默认值:
true
formatter.ignore
Section titled formatter.ignore
一组Unix shell样式的模式。
formatter.include
Section titled formatter.include
一组Unix shell样式的模式。Biome只处理匹配这些模式的文件和文件夹。
给出以下例子:
只有匹配
src/**/*.js
模式的文件将被格式化,而匹配
scripts/**/*.js
模式的文件将被忽略。
formatter.formatWithErrors
Section titled formatter.formatWithErrors
允许格式化包含语法错误的文档。
默认值:
false
formatter.indentStyle
Section titled formatter.indentStyle
缩进的样式。可以是
"tab"
或
"space"
。
默认值:
tab
formatter.indentSize
Section titled formatter.indentSize
缩进应该是多大。
默认值:
2
formatter.indentWidth
Section titled formatter.indentWidth
缩进应该是多大。
默认值:
2
formatter.lineEnding
Section titled formatter.lineEnding
行结束的类型。
lf
,仅换行符(
\n
),在Linux和macOS以及git仓库内部常见
crlf
回车 + 换行字符(
\r\n
),在Windows上常见
cr
仅回车字符(
\r
),非常罕见
默认值:
lf
formatter.lineWidth
Section titled formatter.lineWidth
一行可以写多少个字符。
默认值:
80
organizeImports
Section titled organizeImports
organizeImports.enabled
Section titled organizeImports.enabled
启用Biome的排序导入。
默认值:
true
organizeImports.ignore
Section titled organizeImports.ignore
一组Unix shell样式的模式。Biome会忽略匹配这些模式的文件和文件夹。
organizeImports.include
Section titled organizeImports.include
一组Unix shell样式的模式。Biome只处理匹配这些模式的文件和文件夹。
给出以下例子:
只有匹配
src/**/*.js
模式的文件会排序其导入,而匹配
scripts/**/*.js
模式的文件将被忽略。
javascript
Section titled javascript
这些选项仅适用于JavaScript (和TypeScript) 文件。
javascript.parser.unsafeParameterDecoratorsEnabled
Section titled javascript.parser.unsafeParameterDecoratorsEnabled
允许支持不安全/实验性参数装饰器。
默认值:
false
javascript.formatter.quoteStyle
Section titled javascript.formatter.quoteStyle
表示字符串字面值时使用的引号类型。可以是
single
或
double
。
默认值:
double
javascript.formatter.jsxQuoteStyle
Section titled javascript.formatter.jsxQuoteStyle
表示jsx字符串字面值时使用的引号类型。可以是
single
或
double
。
默认值:
double
javascript.formatter.quoteProperties
Section titled javascript.formatter.quoteProperties
对象内属性何时应该被引号包围。可以是
asNeeded
或
preserve
。
默认值:
asNeeded
javascript.formatter.trailingCommas
Section titled javascript.formatter.trailingCommas
在多行逗号分隔的语法结构中尽可能地打印尾随逗号。可能的值:
all
,尾随逗号总是被添加
es5
,尾随逗号只在旧版本的JavaScript支持的地方被添加
none
,尾随逗号从不被添加
默认值:
all
javascript.formatter.semicolons
Section titled javascript.formatter.semicolons
配置格式化器在哪里打印分号:
always
,在每个语句的末尾总是添加分号;
asNeeded
,只在需要的地方添加分号,以防止
ASI
默认值:
always
javascript.formatter.arrowParentheses
Section titled javascript.formatter.arrowParentheses
是否在箭头函数中添加非必须的括号:
always
,总是添加括号;
asNeeded
,只在需要时添加括号;
默认值:
always
javascript.formatter.enabled
Section titled javascript.formatter.enabled
启用Biome的格式化器用于JavaScript (和其超级语言) 文件。
默认值:
true
javascript.formatter.indentStyle
Section titled javascript.formatter.indentStyle
JavaScript (和其超级语言) 文件的缩进样式。可以是
"tab"
或
"space"
。
默认值:
tab
javascript.formatter.indentSize
Section titled javascript.formatter.indentSize
JavaScript (和其超级语言) 文件的缩进应该是多大。
默认值:
2
javascript.formatter.lineEnding
Section titled javascript.formatter.lineEnding
JavaScript (和其超级语言) 文件的行结束类型。
lf
,仅换行符(
\n
),在Linux和macOS以及git仓库内部常见
crlf
回车 + 换行字符(
\r\n
),在Windows上常见
cr
仅回车字符(
\r
),非常罕见
默认值:
lf
javascript.formatter.lineWidth
Section titled javascript.formatter.lineWidth
在JavaScript (和其超级语言) 文件中一行可以写多少个字符。
默认值:
80
javascript.globals
Section titled javascript.globals
Biome应忽略的全局名称列表(分析器,linter等)
json
Section titled json
应用于JSON文件的选项。
json.parser.allowComments
Section titled json.parser.allowComments
在JSON文件中启用注释的解析。
json.parser.allowTrailingCommas
Section titled json.parser.allowTrailingCommas
在JSON文件中启用尾随逗号的解析。
json.formatter.enabled
Section titled json.formatter.enabled
启用Biome的格式化器用于JSON (和其超级语言) 文件。
默认值:
true
json.formatter.indentStyle
Section titled json.formatter.indentStyle
JSON (和其超级语言) 文件的缩进样式。可以是
"tab"
或
"space"
。
默认值:
tab
json.formatter.indentSize
Section titled json.formatter.indentSize
JSON (和其超级语言) 文件的缩进应该是多大。
默认值:
2
json.formatter.lineEnding
Section titled json.formatter.lineEnding
JSON (和其超级语言) 文件的行结束类型。
lf
,仅换行符(
\n
),在Linux和macOS以及git仓库内部常见
crlf
回车 + 换行字符(
\r\n
),在Windows上常见
cr
仅回车字符(
\r
),非常罕见
默认值:
lf
json.formatter.lineWidth
Section titled json.formatter.lineWidth
在JSON (和其超级语言) 文件中一行可以写多少个字符。
默认值:
80
overrides
Section titled overrides
模式列表。
使用此配置更改某些文件的工具行为。
当文件与覆盖模式匹配时,该模式中指定的配置将覆盖顶级配置。
模式的顺序很重要。如果一个文件 可以 匹配三个模式,只使用第一个。
overrides.<ITEM>.ignore
Section titled overrides.<ITEM>.ignore
一组Unix shell样式的模式。Biome将不对匹配该模式的文件应用覆盖。
overrides.<ITEM>.include
Section titled overrides.<ITEM>.include
一组Unix shell样式的模式。Biome将只对匹配这些模式的文件应用覆盖。
overrides.<ITEM>.formatter
Section titled overrides.<ITEM>.formatter
它将包括
顶级格式化器
配置的选项,减去
ignore
和
include
。
例如,可以修改在 glob 路径
generated/**
包含的某些文件的格式化器
lineWidth
,
indentStyle
:
overrides.<ITEM>.linter
Section titled overrides.<ITEM>.linter
它将包括
顶级 linter
配置的选项,减去
ignore
和
include
。
可以为某些 glob 路径禁用某些规则,并为其他 glob 路径禁用 linter:
overrides.<ITEM>.organizeImports
Section titled overrides.<ITEM>.organizeImports
它将包括
顶级组织导入
的选项,减去
ignore
和
include
。
overrides.<ITEM>.javascript
Section titled overrides.<ITEM>.javascript
它将包括 顶级 javascript 配置的选项。
可以更改某些文件夹中的JavaScript文件的格式化行为: