代码格式化器
Deno 自带一个内置的代码格式化器,可以自动格式化以下文件:
文件类型 | 扩展名 |
---|---|
JavaScript | .js |
TypeScript | .ts |
JSX | .jsx |
TSX | .tsx |
Markdown | .md , .markdown |
JSON | .json |
JSONC | .jsonc |
此外,deno fmt
还可以格式化 Markdown
文件中的代码片段。代码片段必须用三个反引号框起来,并带有语言属性。
# 格式化当前目录和子目录中的所有支持的文件
deno fmt
# 格式化指定的文件
deno fmt myfile1.ts myfile2.ts
# 格式化指定目录及其子目录中的所有支持的文件
deno fmt src/
# 检查当前目录和子目录中的所有支持的文件是否已格式化
deno fmt --check
# 格式化标准输入并写入标准输出
cat file.ts | deno fmt -
忽略代码
在 TS/JS/JSONC 中,您可以使用 // deno-fmt-ignore
注释来忽略格式化代码:
// deno-fmt-ignore
export const identity = [
1, 0, 0,
0, 1, 0,
0, 0, 1,
];
或者在文件顶部添加一个 // deno-fmt-ignore-file
注释来忽略整个文件。
在 Markdown 中,您可以使用 <!-- deno-fmt-ignore -->
注释来忽略一个文件,或使用
<!-- deno-fmt-ignore-file -->
注释来忽略整个文件。要忽略 Markdown
中的一部分,请使用 <!-- deno-fmt-ignore-start -->
和
<!-- deno-fmt-ignore-end -->
注释括起来的代码。
配置
ℹ️ 建议使用默认选项。
从 Deno v1.14 开始,格式化器可以使用配置文件或遵循 CLI 标志进行自定义:
--use-tabs
- 是否使用制表符。默认为 false(使用空格)。--line-width
- 打印机将尝试保持在其下的行的宽度。请注意,在某些情况下,打印机可能会超过此宽度。默认为 80。--indent-width
- 缩进的字符数量。默认为 2。--no-semicolons
- 不使用分号,除非必要。--single-quote
- 是否使用单引号。默认为 false(使用双引号)。--prose-wrap={always,never,preserve}
- 定义如何在 Markdown 文件中包装散文。默认为“always”。
注意:在 Deno 版本 < 1.31 中,您需要在这些标志前添加 options-
前缀(例如
--options-use-tabs
)。