For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt, and this page is available as Markdown at /zh/guide/cli/fmt.md.
  • 简体中文
  • fmt

    rs fmt 命令用于格式化文件或检查文件格式。详细用法请参考格式化指南。

    用法

    rs fmt [options] [files/globs...]

    可以传入文件、目录或 glob 模式来指定格式化范围。不传入路径时,rs fmt 会格式化当前目录。路径解析和忽略规则请参考格式化范围

    示例:

    # 格式化当前目录中的文件
    rs fmt
    
    # 格式化指定文件和目录
    rs fmt src package.json
    
    # 在 CI 中检查格式
    rs fmt --check

    rs formatrs fmt 的别名:

    rs format

    选项

    --check

    检查文件是否已格式化,但不修改文件。输出会列出存在格式问题的文件,并提供便于阅读的汇总信息,因此适合在 CI 中使用:

    rs fmt . --check

    --check 不能与 --write--list-different 同时使用。

    该命令使用以下退出状态码:

    状态码含义
    0所有匹配的文件均已格式化。
    1一个或多个匹配的文件存在格式问题。
    2rs fmt 无法运行或在格式化过程中遇到错误。

    -h, --help

    显示命令用法和选项信息,但不格式化文件:

    rs fmt --help

    --ignore-path <path>

    使用 --ignore-path 从文件中加载额外的 Gitignore 兼容规则。

    相对的 ignore 文件路径基于当前工作目录解析。文件中的规则基于该文件所在目录解析。

    例如,在项目根目录执行以下命令:

    rs fmt --ignore-path config/format.ignore

    假设 config/format.ignore 包含以下规则:

    config/format.ignore
    generated/**

    这里,config/format.ignore 相对项目根目录定位。文件中的 generated/** 规则则相对 config/ 目录解析。因此,它会忽略 config/generated/**,而不是项目根目录下的 generated/**

    加载的规则会作用于扫描得到的路径、显式传入的文件和 --stdin-filepath

    如需加载多个 ignore 文件,可以重复传入该选项:

    rs fmt --ignore-path .prettierignore --ignore-path config/format.ignore

    每个文件都是独立的忽略来源。关于这些来源与 .gitignore、默认忽略规则和 ignorePatterns 的组合方式,请参考忽略顺序

    --list-different

    输出未格式化文件的路径,但不提供 --check 的汇总信息。需要将结果交给其他命令处理时,可以使用此选项:

    rs fmt . --list-different

    此选项与 --check 使用相同的退出状态码,且不能与 --write--check 同时使用。

    --parallel-workers <count>

    将格式化 worker 的最大数量设置为正整数:

    rs fmt . --parallel-workers 4

    省略此选项时,rs fmt 会根据可用的 CPU 并行度和匹配的文件数量,自动选择最多 8 个 worker。在资源受限的环境中,可以设置较小的值来限制 CPU 或内存用量。

    --stdin-filepath <path>

    将 stdin 传入的内容按保存在 <path> 的文件进行格式化,例如用于编辑器集成。该路径用于确定 parser 和匹配的覆盖配置,但不需要在磁盘上真实存在:

    cat src/index.ts | rs fmt --stdin-filepath src/index.ts

    格式化结果写入 stdout,诊断信息写入 stderr。若输入路径被忽略,rs fmt 会跳过格式化并原样输出内容;若无法根据路径推断 parser 或内容解析失败,则输出错误并以状态码 2 退出。

    --stdin-filepath 不能与文件参数或 --write--check--list-different 同时使用。

    --write

    将格式化结果写回文件。这是默认模式,因此可以省略 --write

    rs fmt src --write

    --write 不能与 --check--list-different 同时使用。