如何检查:
1.在已打开的代码编辑器窗口单击右键点击Code Linter,或在工程管理窗口中鼠标选中单个或多个工程文件/目录,右键选择Code Linter > Full Linter执行代码全量检查。
2.通过git 提交,可在commit界面右下角点击齿轮图标,选择Incremental Linter执行增量检查。
怎么配置代码检查规则
1.在工程根目录下创建code-linter.json5配置文件
不在工程根目录新建code-linter.json5文件的情况下,
Code Linter默认会检查
@performance/recommended 和
@typescript-eslint/recommended规则集包含的规则。
2.配置字段:5个
files:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:[“**/*.ets”,”**/*.js”,”**/*.ts”]。
ignore:配置无需检查的文件目录,其指定的目录或文件需使用相对路径格式,相对于code-linter.json5所在工程根目录,例如:build/**/*。
ruleSet:配置检查使用的规则集,规则集支持一次导入多条规则。
目前支持的规则集包括:
- 通用规则@typescript-eslint
- 一次开发多端部署规则@cross-device-app-dev
- ArkTS代码风格规则@hw-stylistic
- 安全规则@security
- 性能规则@performance
- 预览规则@previewer
rules:可以基于ruleSet配置的规则集,新增额外规则项,或修改ruleSet中规则默认配置,例如:将规则集中某条规则告警级别由warn改为error。
overrides:针对工程根目录下部分特定目录或文件,可配置定制化检查的规则。
3.code-linter.json5例子
{
"files": //用于表示配置适用的文件范围的 glob 模式数组。在没有指定的情况下,应用默认配置
[
"**/*.js", //字符串类型
"**/*.ts"
],
"ignore": //一个表示配置对象不应适用的文件的 glob 模式数组。如果没有指定,配置对象将适用于所有由 files 匹配的文件
[
"build/**/*", //字符串类型
"node_modules/**/*"
],
"ruleSet": //设置检查待应用的规则集
[
"plugin:@typescript-eslint/recommended" //快捷批量引入的规则集, 枚举类型:plugin:@typescript-eslint/all, plugin:@typescript-eslint/recommended, plugin:@cross-device-app-dev/all, plugin:@cross-device-app-dev/recommended等
],
"rules": //可以对ruleSet配置的规则集中特定的某些规则进行修改、去使能, 或者新增规则集以外的规则;ruleSet和rules共同确定了代码检查所应用的规则
{
"@typescript-eslint/no-explicit-any": // ruleId后面跟数组时, 第一个元素为告警级别, 后面的对象元素为规则特定开关配置
[
"error", //告警级别: 枚举类型, 支持配置为suggestion, error, warn, off
{
"ignoreRestArgs": true //规则特定的开关配置, 为可选项, 不同规则其下层的配置项不同
}
],
"@typescript-eslint/explicit-function-return-type": 2, // ruleId后面跟单独一个数字时, 表示仅设置告警级别, 枚举值为: 3(suggestion), 2(error), 1(warn), 0(off)
"@typescript-eslint/no-unsafe-return": "warn" // ruleId后面跟单独一个字符串时, 表示仅设置告警级别, 枚举值为: suggestion, error, warn, off
},
"overrides": //针对特定的目录或文件采用定制化的规则配置
[
{
"files": //指定需要定制化配置规则的文件或目录
[
"entry/**/*.ts" //字符串类型
],
"excluded":
[
"entry/**/*.test.js" //指定需要排除的目录或文件, 被排除的目录或文件不会被检查; 字符串类型
],
"rules": //支持对overrides外公共配置的规则进行修改、去使能, 或者新增公共配置以外的规则; 该配置将覆盖公共配置
{
"@typescript-eslint/explicit-function-return-type": // ruleId: 枚举类型
[
"warn", //告警级别: 枚举类型, 支持配置为error, warn, off; 覆盖公共配置, explicit-function-return-type告警级别为warn
{
allowExpressions: true //规则特定的开关配置, 为可选项, 不同规则其下层的配置项不同
}
],
"@typescript-eslint/no-unsafe-return": "off" // 覆盖公共配置, 不检查no-unsafe-return规则
}
}
]
}
eslint规则