Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>SQL Formatter PlusNew to Visual Studio Code? Get it now.
SQL Formatter Plus

SQL Formatter Plus

tanghao

|
1 install
| (0) | Free
本地 SQL 格式化工具,支持 17 种方言、格式化面板、任意文件选区格式化
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SQL Formatter (VS Code 插件)

基于 sql-formatter 的 VS Code / Trae SQL 格式化插件,纯本地运行,数据不外传。

特性

  • 📝 原生格式化集成:.sql 文件里 Shift+Alt+F 直接格式化,Ctrl+K Ctrl+F 格式化选区
  • 🖥️ 格式化面板:Ctrl+Shift+J 打开网页版 UI,贴 SQL 点按钮格式化(和以前 Flask 版体验一致)
  • 🎯 任意文件格式化:在 .xml / .java / .txt 里选中 SQL,Ctrl+Shift+K 格式化选区
  • 🎨 多方言支持:MySQL / PostgreSQL / Hive / Spark / BigQuery / Snowflake / Trino 等 17 种
  • ⚙️ 配置持久化:选项存在 settings.json,无需每次手动勾选
  • 📊 状态栏切换方言:点击状态栏快速切换

使用方式

方式一:原生格式化(.sql 文件)

打开 .sql 文件 → Shift+Alt+F 格式化整个文档,Ctrl+K Ctrl+F 格式化选区。

方式二:格式化面板(任意位置)

Ctrl+Shift+J 或命令面板 → SQL Formatter: 打开格式化面板,弹出网页版 UI:

  • 左栏粘贴 SQL,右栏显示结果
  • 顶部选项栏:方言、关键字大小写、缩进宽度、逗号位置、缩进风格、SQL 间空行、Tab 缩进、紧凑运算符、分号前换行
  • Ctrl+Enter 格式化,一键复制 / 用结果替换输入

方式三:选区格式化(任意文件)

在 .xml mapper、.java、.txt 等文件里选中一段 SQL → Ctrl+Shift+K 或右键 → SQL Formatter: 格式化选区为 SQL

方言选择

场景 推荐方言
StarRocks DDL(CREATE TABLE + TBLPROPERTIES) hive
StarRocks DML(SELECT / INSERT) mysql
PostgreSQL postgresql
Spark SQL spark
BigQuery bigquery

配置项(settings.json)

{
    "sqlFormatter.language": "mysql",
    "sqlFormatter.keywordCase": "upper",
    "sqlFormatter.indentSize": 2,
    "sqlFormatter.useTabs": false,
    "sqlFormatter.commaPosition": "after",
    "sqlFormatter.indentStyle": "standard",
    "sqlFormatter.linesBetweenQueries": 2,
    "sqlFormatter.denseOperators": false,
    "sqlFormatter.newlineBeforeSemicolon": false
}
选项 类型 默认值 说明
language string mysql SQL 方言,支持 17 种
keywordCase string upper preserve / upper / lower
indentSize number 2 缩进空格数 (1-8)
useTabs boolean false 用 Tab 缩进
commaPosition string after after(行尾)/ before(行首)/ tabular(对齐)
indentStyle string standard standard / tabularLeft / tabularRight
linesBetweenQueries number 2 多条 SQL 间空行数 (0-5)
denseOperators boolean false a=b 而非 a = b
newlineBeforeSemicolon boolean false 分号前换行

注:面板 UI 里的选项独立于 settings.json,方便临时调整;原生格式化和选区格式化读 settings.json 配置。

快捷键

快捷键 功能 适用范围
Shift+Alt+F 格式化文档 .sql 文件
Ctrl+K Ctrl+F 格式化选区 .sql 文件
Ctrl+Shift+J 打开格式化面板 任意位置
Ctrl+Shift+K 格式化选区为 SQL 任意文件
Ctrl+Enter 格式化(面板内) 面板内

安装

从 .vsix 安装

  1. Ctrl+Shift+X 打开扩展面板
  2. 点右上角 ... → 「从 VSIX 安装...」
  3. 选择 sql-formatter-x.x.x.vsix

开发

# 需要 Node 20+(打包 vsce)
nvm use 20.20.2

npm install
npm run compile       # TypeScript 编译检查
npm run package       # esbuild 打包 + vsce 生成 .vsix

项目结构

├── package.json          # 插件清单 + 配置项定义
├── tsconfig.json         # TypeScript 配置
├── .vscode/launch.json   # F5 调试配置
├── .vscodeignore         # 打包排除规则
├── src/
│   ├── extension.ts      # 插件主逻辑(格式化 Provider + 命令 + 状态栏)
│   └── formatPanel.ts    # 格式化面板(Webview UI)
└── out/                  # 编译产物

技术栈

  • sql-formatter v12 — SQL 格式化引擎
  • esbuild — 打包成单文件
  • VS Code Extension API — DocumentFormattingEditProvider + WebviewPanel

路线图

  • ✅ v0.0.1:原生格式化 + 选区格式化 + 多方言
  • ✅ v0.0.2:格式化面板(Webview UI)+ 任意文件选区格式化
  • ⏳ v0.1.0:MyBatis XML 自动支持(提取 <select> 标签内 SQL,保护 #{} / <if> / <foreach> 动态标签)
  • ⏳ v0.2.0:格式化质量增强(DDL 列定义注释对齐、TBLPROPERTIES 缩进优化)
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft