基于Code Linter实现代码检查
Code Linter针对ArkTS/TS代码进行最佳实践/编程规范方面的检查。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Code Linter自定义代码规范
713浏览 • 1回复 待解决
Code Linter代码检查能力是否有命令行能力集成在伙伴代码提交流水线上
340浏览 • 1回复 待解决
code linter 校验return Promise<string>类型
1460浏览 • 1回复 待解决
自动化验收工具指南文档(Code Linter)
956浏览 • 1回复 待解决
Code Linter 报try catch的err不能是any或者unknown
1541浏览 • 1回复 待解决
元服务登录模块,根据《元服务开发指南》通过api登录实现代码报错,提示不支持元服务。
1144浏览 • 1回复 待解决
基于AOP的代码插桩,都有哪些场景?
398浏览 • 1回复 待解决
基于JSVM创建引擎执行JS代码并销毁
128浏览 • 1回复 待解决
怎么基于Java实现视频播放?
2597浏览 • 1回复 待解决
基于tabs实现页面布局
385浏览 • 1回复 待解决
鸿蒙基于codec实现的视频播放案例,或代码git,谁有网址?完全不懂怎么用
5192浏览 • 1回复 待解决
基于原生能力实现图文混排
147浏览 • 1回复 待解决
基于measure实现的文本测量
330浏览 • 1回复 待解决
基于原生实现高级显示效果
302浏览 • 1回复 待解决
VS CODE DevEco 加载源代码 无法打开源文件
7879浏览 • 1回复 待解决
基于ArkUI实现类似.9图的拉伸能力
194浏览 • 1回复 待解决
基于UI Observer实现UI组件埋点
168浏览 • 1回复 待解决
HarmonyOS 怎么检查内存泄漏
224浏览 • 1回复 待解决
基于ARKTS开发的应用可以实现流转功能吗?
2913浏览 • 1回复 待解决
基于@ohos.pasteboard实现剪贴板功能
177浏览 • 1回复 待解决
基于子窗口实现应用内悬浮窗
335浏览 • 1回复 待解决
HarmonyOS 基于AvPlayer实现视频组件全屏切换咨询
90浏览 • 1回复 待解决
基于PullToRefresh实现横向下拉刷新与加载更多
908浏览 • 1回复 待解决
PwmStart()参数问题(基于hi3861 HAL层实现)????
9513浏览 • 1回复 待解决
HarmonyOS 请问下在执行流水线时 使用什么来做代码的静态检查,类似lint
85浏览 • 1回复 待解决
Code Linter针对ArkTS/TS代码进行最佳实践/编程规范方面的检查。
检查方法:
1. 编辑器自带Code Linter。
在已打开的代码编辑器窗口单击右键点击Code Linter,或在工程管理窗口中鼠标选中单个或多个工程文件/目录,右键选择Code Linter执行代码检查。
1. Code Linter命令行。
Code Linter同时支持使用命令行执行代码检查与修复,可将Code Linter工具集成到门禁或持续集成环境中。
获取:请在获取命令行工具下载CommandLine。
配置:命令行工具需要解压工具包,将bin目录配置到配置完环境变量才能使用。
场景一:配置规则增加删除
配置步骤:
在工程根目录下创建code-linter.json5配置文件,可对于代码检查的范围及对应生效的检查规则进行配置,ruleSet和rules配置项共同确定了生效的规则范围。具体配置项功能示例如下:
注:需要使用官网自带的规则,不支持自定义。
对类名Foo的命名风格校验:
效果:
新建test.ets文件,使用非驼峰方法命名类名。
使用codelinter检测。
场景二:指定代码检查范围
如果只想检查test.ets文件:
配置步骤:通过配置"file"和"ignore"字段来指定需要检测的文件类型和忽略检测的文件。
说明:当前指定目录是以模块根路径为绝对路径指定,不支持绝对路径。
效果:codelinter根据通配符在每个模块下按**/test.ets匹配文件。
场景三:将codelinter集成到流水线
步骤:
1. 按上述步骤配置完commandline tools工具。
2. 在非工程根目录下使用命令行工具:
codelinter [dir] /*[dir]指定执行检查的工程根目录,*/ -c filepath [dir]/*指定执行检查的规则配置文件位置,*/ --fix // 对指定工程中的告警进行修复。
3. 保存指定代码检查结果,默认放在命令行工具文件夹result文件下。
codelinter -o filepath2 // filepath2为指定存放代码检查结果的文件路径。
如何触发:
在流水线构建命令前,插入上述执行脚本即可,参考文档:搭建流水线。
常见问题
Q:命令工具如何指定具体文件进行检查。
A:当前指定目录是以模块根路径为绝对路径指定,不支持绝对路径。
Q:如何自定义规则。
A:当前不支持自定义规则,必须官网已经适配的现有规则。参考文档:Code Linter代码检查规则。
Q:ArkTSCheck与codelinter区别。
A:codelinter检查的结果一般不会影响编译,用户不修改也没关系;ArkTscheck一般是语法规范类的检查,会影响编译,这两个是不同方面的检查,检查规则不一样。codelinter检查的结果,用户可以选择不改,又或者不想检查出来,就可以/* eslint-disable */屏蔽,但只能屏蔽有Ignore图标的。若扫描结果中出现误报,单条告警结果后的有Ignore图标,可以屏蔽若检查规则后存在warning图标,表明此处存在ArkTS语法规范问题。