一个 VS Code 格式化插件,一个插件搞定所有语言的格式化。前后端通吃,安装即用,无需配置。
市面上的格式化插件要么只做前端(Prettier),要么只做后端。前后端都碰的开发者往往要装一堆格式化插件,互相打架、配置冲突。
UniFormat 的理念很简单:一个插件,统一格式化。
支持的语言(14 种)
| 语言 |
扩展名 |
格式化引擎 |
| JavaScript |
.js |
Prettier |
| TypeScript |
.ts |
Prettier |
| HTML |
.html |
Prettier |
| CSS |
.css |
Prettier |
| JSON |
.json |
Prettier |
| Markdown |
.md |
Prettier |
| YAML |
.yml / .yaml |
Prettier |
| SQL |
.sql |
sql-formatter |
| XML |
.xml |
内置 |
| XAML |
.xaml |
内置 |
| C# |
.cs |
内置 |
| Java |
.java |
内置 |
| Python |
.py |
内置 |
| CSV |
.csv |
内置 |
使用方式
- 安装插件
- 打开任意支持格式的文件
- 按
Shift+Alt+F(VS Code 原生格式化快捷键)即可格式化
就这么简单,不需要任何配置。
核心特性
冲突自动检测
如果你已经安装了其他格式化插件(如 Prettier、Black 等),UniFormat 会自动检测到并提醒你,同时不会执行格式化,避免多个格式化器同时修改文件导致混乱。
检测到冲突时会弹出提示,告诉你哪些插件冲突,建议你卸载后使用 UniFormat。
尊重已有配置
如果你项目中已有 .prettierrc 等 Prettier 配置文件,UniFormat 会自动读取并尊重你的配置。没有配置文件时才使用 VS Code 的 tabSize 和 insertSpaces 设置。
范围格式化
选中部分代码后按格式化快捷键,UniFormat 会智能处理:
- SQL 可以直接格式化选中的片段
- 其他语言会格式化整个文档,然后只应用选中范围的修改
文件格式保护
- CSV:保留原始换行符风格(CRLF/LF),支持多行引号字段,保留空行
- XML/XAML:保护注释块和 CDATA 不被破坏
- Python:智能识别真正的代码块(区分
if x: 和 "key:" 字符串)
- C#/Java:正确处理一行多个大括号(如
}})
常见问题
格式化没反应?
检查是否安装了冲突的格式化插件。UniFormat 检测到冲突时会弹窗提醒,此时需要卸载冲突插件后才能使用。
格式化结果和 .prettierrc 不一致?
UniFormat 会自动读取项目中的 Prettier 配置。如果没有读取到,请确认 .prettierrc 文件在项目根目录下。
支持 .vue 文件吗?
暂不支持,后续版本会考虑添加。
反馈与建议
如有问题或建议,欢迎提交 Issue。
| |