HarmonyOS—代码Code Linter检查

Code Linter代码检查

Code-Linter针对ArkTS/TS代码进行最佳实践、编程规范方面的检查,目前还会检查ArkTS语法规则。开发者可根据扫描结果中告警提示手工修复代码缺陷,或者执行一键式自动修复,在代码开发阶段,确保代码质量。

检查方法:

在已打开的代码编辑器窗口单击右键点击Code Linter,或在工程管理窗口中鼠标选中单个或多个工程文件/目录,右键选择Code Linter执行代码检查。

在这里插入图片描述

配置代码检查规则

在工程根目录下创建code-linter.json5配置文件,可对于代码检查的范围及对应生效的检查规则进行配置,其中files和ignore配置项共同确定了代码检查范围,ruleSet和rules配置项共同确定了生效的规则范围。具体配置项功能如下:

files:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:[“/*.ets”,”/.js”,”**/.ts”];

ignore:配置无需检查的文件目录,其指定的目录或文件需使用相对路径格式,相对于code-linter.json5所在工程根目录,例如:build/**/*;

ruleSet:配置检查使用的规则集,规则集支持一次导入多条规则;目前仅支持all和recommended两种规则集,规则详情请参见代码检查规则表。

rules:可以基于ruleSet配置的规则集,新增额外规则项,或修改ruleSet中规则默认配置,例如:将规则集中某条规则告警级别由warn改为error。

overrides:针对工程根目录下部分特定目录或文件,可配置定制化检查的规则。

{"files":   //用于表示配置适用的文件范围的 glob 模式数组。在没有指定的情况下,应用默认配置["**/*.ets",   //字符串类型"**/*.js","**/*.ts"],"ignore":  //一个表示配置对象不应适用的文件的 glob 模式数组。如果没有指定,配置对象将适用于所有由 files 匹配的文件["build/**/*",    //字符串类型"node_modules/**/*"],"ruleSet":       //设置检查待应用的规则集, 当前仅支持IDE内置规则集all、recommended["plugin:@typescript-eslint/recommended"    //快捷批量引入的规则集, 枚举类型:plugin:@typescript-eslint/all, plugin:@typescript-eslint/recommended],"rules":         //可以对ruleSet配置的规则集中特定的某些规则进行修改、去使能, 或者新增规则集以外的规则;ruleSet和rules共同确定了代码检查所应用的规则{"@typescript-eslint/no-explicit-any":  // ruleId后面跟数组时, 第一个元素为告警级别, 后面的对象元素为规则特定开关配置["error",              //告警级别: 枚举类型, 支持配置为error, warn, off{"ignoreRestArgs": true   //规则特定的开关配置, 为可选项, 不同规则其下层的配置项不同}],"@typescript-eslint/explicit-function-return-type": 2,   // ruleId后面跟单独一个数字时, 表示仅设置告警级别, 枚举值为: 2(error), 1(warn), 0(off)"@typescript-eslint/no-unsafe-return": "warn"            // ruleId后面跟单独一个字符串时, 表示仅设置告警级别, 枚举值为: 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规则}}]
}

查看/处理代码检查结果

扫描完成后,在底部工具面板查看检查结果。双击某条告警结果,可以跳转到对应代码缺陷位置;选中告警结果时,可以在右侧Defect Description窗口查看告警对应的规则详细说明,其中包含正向和反向示例,并根据其中的建议修改代码。打开修复模式开关,查看可修复的代码规则,点击代码修复图标,可以一键式批量修复告警,并刷新检查结果。

在这里插入图片描述

屏蔽告警信息:

  • 在某些特殊场景下,若扫描结果中出现误报,点击单条告警结果后的Ignore图标,可以忽略对告警所在行的code
    linter检查;或勾选多条待屏蔽的告警,点击工具面板右上角“屏蔽告警”图标批量执行;点击文件后的Ignore图标可以忽略对整个文件的code
    linter检查;
  • 在文件顶部添加注释/* eslint-disable */可以屏蔽整个文件执行code linter检查,在eslint-disable
    后加入一个或多个以逗号分隔的规则Id,可以屏蔽具体检查规则;
  • 在需要忽略检查的代码块前后分别添加/* eslint-disable /和/ eslint-enable*/添加注释信息,再执行Code Linter,将不再显示该代码块扫描结果;在待屏蔽的代码行前一行添加/* eslint-disable-next-line */,也可屏蔽对该代码行的codelinter检查。

如需恢复忽略的报错信息,可以直接删除该行上方的注释,重新执行Code Linter检查。

在这里插入图片描述
 

导出检查结果:点击工具面板右上角导出按钮,即可导出检查结果到excel文件,包含告警所在行,告警明细,告警级别等信息。

在这里插入图片描述

为了能够让大家跟上互联网时代的技术迭代,在这里跟大家分享一下我自己近期学习心得以及参考网上资料整理出的一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~~~~

领取以下高清学习路线原图请点击→《鸿蒙全套学习指南》纯血鸿蒙HarmonyOS基础技能学习路线图

在这里插入图片描述

领取以上完整高清学习路线图,请点击→《鸿蒙 (Harmony OS)开发学习手册》小编自己整理的部分学习资料(包含有高清视频、开发文档、电子书籍等)

在这里插入图片描述

以上分享的学习路线都适合哪些人跟着学习?
-应届生/计算机专业通过学习鸿蒙新兴技术,入行互联网,未来高起点就业。
-0基础转行提前布局新方向,抓住风口,自我提升,获得更多就业机会。
-技术提升/进阶跳槽发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术,享受蓝海红利。

在这里插入图片描述

最后

鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锤炼,再到对前沿技术的探索,每一环节都至关重要。希望这份教程资料能帮助您快速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让我们一起乘风破浪,拥抱鸿蒙生态的广阔未来!

如果你觉得这篇内容对你有帮助,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注我,同时可以期待后续文章ing,不定期分享原创知识。

想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙基础入门学习指南》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/492207.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四节:Vben Admin登录对接后端getUserInfo接口

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 文章目录 系列文章目录前言一、回顾Vben…

C语言内存管理-栈内存

栈内存 什么东西存储在栈内存中? 环境变量命令行参数局部变量(包括形参)栈内存有什么特点? 空间有限,尤其在嵌入式环境下。因此不可以用来存储尺寸太大的变量。每当一个函数被调用,栈就会向下增长一段&…

Codeforce Monsters Attack!(B题 前缀和)

题目描述: 思路: 本人第一次的想法是先杀血量低的第二次想法是先搞坐标近的第三次想法看到数据量这么大, 我先加个和看看貌似我先打谁都行,由此综合一下, 我们可以把每一个不同的坐标当作一轮从最小的坐标开始&#x…

适合新手博主站长使用的免费响应式WordPress博客主题JianYue

这款JianYue主题之所以命名为 JianYue,意思就是简单而不简约的。是根据Blogs主题优化而成,剔除了一些不必要的功能及排版,仅保留一种博客布局,让新手站长能够快速手上WordPress。可以说这款主题比较适合新手博主站长使用&#xff…

Programming Abstractions in C阅读笔记:p293-p302

《Programming Abstractions in C》学习第73天,p293-p302总结,总计10页。 一、技术总结 1.时间复杂度 (1)quadratic time(二次时间) p293, Algorithms like selection sort that exhibit O(N^2) performance are said to run in quadratic time。 2…

新鲜出炉 | 2024年六西格玛学习路线

一、入门篇:了解六西格玛的基本概念与核心原理 六西格玛的起源与发展:了解六西格玛的历史背景和发展过程,有助于我们更好地认识这一管理方法的优势和特点。 六西格玛的核心概念:学习六西格玛中的DMAIC(定义、测量、分…

基于YOLOv5+PySide6的火灾火情火焰检测系统设计深度学习

wx供重浩:创享日记 对话框发送:225火灾 获取完整源码源文件已标注的数据集(1553张)配置跑起来说明 可有偿49yuan一对一远程操作,在你电脑跑起来 效果展示: ​数据集在下载的文件夹:yolov5-5.0\…

在独立Unity工程中集成Vortex Studio

本文首发于:Unity3D入门教程09.01:在独立Unity工程中集成Vortex Studio 目的 在Unity中使用Vortex Studio引擎模拟Unity场景中的任何资源。 工程 打开桌面Unity Hub快捷方式 点击Open选择需要打开的工程,这里选择官方提供的默认工程C:\CM…

AIGC实战——扩散模型(Diffusion Model)

AIGC实战——扩散模型 0. 前言1. 去噪扩散概率模型1.1 Flowers 数据集1.2 正向扩散过程1.3 重参数化技巧1.4 扩散规划1.5 逆向扩散过程 2. U-Net 去噪模型2.1 U-Net 架构2.2 正弦嵌入2.3 ResidualBlock2.4 DownBlocks 和 UpBlocks 3. 训练扩散模型4. 去噪扩散概率模型的采样5. …

linux卸载mysql8重装5

目录 背景操作卸载重装配置启动 背景 在linux(阿里云ECS)安装部署Hive时初始化Hive元数据库,遇到报错前一天两三小时没解决,问题定位为mysql,次日打算重装 操作 卸载 停止 MySQL 服务 systemctl stop mysql yum卸载…

【办公类-22-08】周计划系列(4)“育儿知识(家园小报)“ (2024年调整版本)

作品展示 背景需求: 制作“育儿知识(家园小报)”,查询发现去年就没有做 因为“家园小报”基本没有段落文字,都是“文本框文字、艺术字“,很难用python提取文字。 由于只有6篇,因此去年采用的就…

03-Linux权限

root用户 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用的管理模式进行权限管理 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)刚开始学习的时候,大多时间都是用的…