如何自动分组排序 import 语句

今天分享一个代码整理的小技巧:自动分组排序 import 语句。

Go 或者类似自带 formt 工具的语言,通常会体贴地帮你自动整理 import 语句。前端一般用 prettier 格式化代码,虽然prettier 很好用,能够非常方便地让代码库的编码风格保持基本的一致性,但默认功能并不支持自动分组排序 import 语句。如果你在大的多人的代码仓库中协作过,并且对代码整洁性有一些洁癖,可能总是会不厌其烦地去整理 import 语句。但这和软件开发中的很多事情一样,都是可以自动化的。

我用过两个比较好的方案,都简单好用,选择哪一个可能主要取决于个人偏好。

基于 Prettier 格式化代码

可以使用:prettier-plugin-organize-imports

项目地址:github.com/simonhaenis...

安装:

sh 复制代码
pnpm add prettier-plugin-organize-imports -D

prettier 配置文件中添加配置:

json 复制代码
{
  "plugins": ["prettier-plugin-organize-imports"]
}

如果你使用 prettier 2.x.x 的版本,并且只用 npm 来做包管理,甚至都不用添加上面的配置。

如果你的 VSCode 配置了"Format On Save",现在保存代码,prettier 会自动帮你排序 import 语句。除了排序外,它还支持自动删除冗余 import 语句。

基于 Eslint 格式化代码

可以使用:eslint-plugin-simple-import-sort

项目地址:github.com/lydell/esli...

安装:

sh 复制代码
pnpm add eslint-plugin-simple-import-sort -D

eslint 的配置文件中添加如下配置:

json 复制代码
{
  "plugins": ["simple-import-sort"],
  "rules": {
    "simple-import-sort/imports": "error",
    "simple-import-sort/exports": "error"
  }
}

同样的,如果你的 VSCode 配置了"Format On Save",现在保存代码会自动帮你排序和分组 import 以及 export 语句。

eslint-plugin-simple-import-sort 还支持更多的功能,比如自定义分组,可以根据项目需要自行配置。

最后,如果你对 import 和 export 语句有更精细化的 lint 和 format 需求,可以研究 eslint-plugin-import 的使用。

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95271 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大1 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师1 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学1 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端