仓颉格式化工具 cjfmt。当需要了解如何使用 cjfmt 格式化仓颉代码,包括单文件格式化、目录格式化、片段格式化、格式化配置文件(cangjie-format.toml)、格式化规则(缩进、大括号、空格、空行、分号、修饰符排序、注释)等,应使用此 Skill。
cjfmt(Cangjie Formatter)是基于仓颉语言编程规范的代码自动格式化工具。
cjfmt -f test.cj # 格式化并覆盖源文件
cjfmt -f test.cj -o output.cj # 输出到新文件
cjfmt -d src/ # 格式化目录下所有 .cj 文件(覆盖)
cjfmt -d src/ -o ./formatted/ # 输出到指定目录
cjfmt -f a.cj -o b.cj -l 10:25 # 仅格式化第 10~25 行
-l仅适用于单文件(-f),与-d搭配时无效。
| 选项 | 说明 |
|---|---|
-h | 显示帮助信息 |
-v | 显示版本号 |
-f <file> | 指定格式化文件(支持相对/绝对路径) |
-d <dir> | 指定格式化目录 |
-o <value> | 输出文件或目录 |
-c <value> | 指定格式化配置文件 |
-l <start:end> | 指定格式化行范围(仅 -f) |
通过 -c 指定自定义配置文件,或使用 CANGJIE_HOME/tools/config/cangjie-format.toml 默认配置。
indentWidth = 4 # 缩进宽度 [0, 8]
linelimitLength = 120 # 行长度限制 [1, 120]
lineBreakType = "LF" # 换行类型:"LF" 或 "CRLF"
allowMultiLineMethodChain = false # 允许多行方法链
multipleLineMethodChainLevel = 5 # 多行方法链最小层级 [2, 10]
multipleLineMethodChainOverLineLength = true # 超过行长度时自动多行方法链
配置读取优先级:
-c指定文件 →CANGJIE_HOME默认文件 → 内置默认值。
else/catch 与右大括号同行range 操作符(..)两侧不留空格public → open/abstractpublic/protected/private → open → overridepublic/protected/private → static → redef* 开头的多行注释中 * 会自动对齐,多余空格被删除