前言
相信对于各位码农来说,格式化工具并不陌生。
因为不陌生,所以没什么好介绍的。
本期主角 Rome
从官网的介绍来看,Rome
是一个完整的JavaScript 工具链,集代码检测、打包、编译、测试等功能于一身。
但是,现在还没搞完,目前只有format
和lint
的功能。
这个工具是由Rust
语言编写的,相比于传统的js编写的格式化工具,比如Prettier
,从速度上来说,称之为降维打击不为过。
官网说接近100倍
提升,我使用了后的感受是确实是快到嗨甘,至于有没有100倍,没有细测,可以看下面这个图感受下,我敲下命令的时候,已经完成了。
如何使用?
如果你想直接给所有项目格式化
那么就在vsc的插件商店里搜索
Rome
进行安装即可,后面把format
的默认工具选择成Rome
即可。(右键编辑区域Format Document With
即可更改默认工具)如果你仅仅想针对某个项目格式化
那么可以安装
npm i rome -D
来安装依赖,顺便再加一个一键格式化的命令即可"scripts": { ... "format": "rome format src" // src是格式化指定的目录,一般来说是src },
然后跑
npm run format
就完了
配置项
在工作区的根目录下新建rome.json
即可,以下配置仅作展示,请大家以自己实际的项目情况来配置。
具体配置可以访问 Rome配置
看不懂英文的可以访问 谷歌翻译
{
"formatter": {
"enabled": true,
"indentStyle": "tab",
"lineWidth": 120
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"trailingComma": "all"
}
},
"linter": {
"enabled": true,
"rules": {
"complexity": {
"useSimplifiedLogicExpression": "off"
},
"correctness": {
"noDelete": "off"
},
"style": {
"noImplicitBoolean": "off"
},
"security": {
"noDangerouslySetInnerHtml": "off"
}
}
}
}
优点
- 很瘠薄快
- lint的提示很人性化,而且绝大多数都是可以
Quick Fix
来修复的,好评
缺点 、注意事项
- 目前对于
format
的配置项比较少,emm,可以说是非常少,适合老实人使用。 menorepo
的项目无法支持,也不能说无法支持,它目前是只能读取放在根目录下的配置,这就很尴尬,所以我们要这样写才能兼容, 就非常拉稀。
// 根目录下的rome.json是给vsc的插件读取的
// 各自子项目下的rome.json是给格式化脚本读取的
// 这三个要同步修改,他妈的
packages
|--appA
|--|--rome.json
|--appB
|--|--rome.json
|--rome.json
后语
快用啊!!快用啊!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。