SQL 格式化
配置 SQL 格式化选项、导入导出 JSON 配置,并定制 JSON 配置编辑器快捷键。
DBX 的 SQL 格式化配置位于设置 → SQL 格式化。配置分为两部分:
options:控制 SQL 格式化结果,例如关键字大小写、缩进、操作符换行和参数类型。editor:控制 SQL 格式化 JSON 配置编辑器中的快捷键。
表单与 JSON
表单模式适合修改常用选项。JSON 模式适合复制、粘贴、导入或批量修改完整配置。
JSON 配置合法时,DBX 会把配置同步回表单;配置无效时,会显示具体错误并阻止应用。
快捷键平台
快捷键配置文件可以同时保存 Windows、Linux 和 macOS 三个平台的按键。
表单中只显示当前系统的平台列。例如在 macOS 上只显示 macOS 快捷键,避免三端配置同时挤在一个表格里。导入和导出仍会保留完整三端配置,便于在不同系统间迁移。
完整模板 JSON
{
"version": 1,
"formatter": "sql-formatter",
"name": "DBX SQL 格式化配置",
"description": "SQL 格式化选项,以及 SQL 格式化 JSON 配置编辑器快捷键模板。",
"options": {
"keywordCase": "upper",
"dataTypeCase": "preserve",
"functionCase": "preserve",
"identifierCase": "preserve",
"indentStyle": "standard",
"useTabs": false,
"tabWidth": 2,
"logicalOperatorNewline": "before",
"expressionWidth": 80,
"linesBetweenQueries": 1,
"denseOperators": false,
"newlineBeforeSemicolon": false,
"paramTypes": null
},
"editor": {
"scope": "sqlFormatterConfigJsonEditor",
"platforms": ["windows", "linux", "macos"],
"shortcuts": [
{
"id": "find",
"action": "openSearchPanel",
"label": "查找",
"keys": {
"windows": "Ctrl+F",
"linux": "Ctrl+F",
"macos": "Cmd+F"
},
"enabled": true
},
{
"id": "replace",
"action": "openSearchPanel",
"label": "替换",
"keys": {
"windows": "Ctrl+H",
"linux": "Ctrl+H",
"macos": "Cmd+Option+F"
},
"enabled": true
},
{
"id": "indentMore",
"action": "indentMore",
"label": "增加缩进",
"keys": {
"windows": "Tab",
"linux": "Tab",
"macos": "Tab"
},
"enabled": true
},
{
"id": "indentLess",
"action": "indentLess",
"label": "减少缩进",
"keys": {
"windows": "Shift+Tab",
"linux": "Shift+Tab",
"macos": "Shift+Tab"
},
"enabled": true
},
{
"id": "duplicateLine",
"action": "copyLineDown",
"label": "复制当前行",
"keys": {
"windows": "Ctrl+D",
"linux": "Ctrl+D",
"macos": "Cmd+D"
},
"enabled": true
},
{
"id": "deleteLine",
"action": "deleteLine",
"label": "删除当前行",
"keys": {
"windows": "Ctrl+Shift+K",
"linux": "Ctrl+Shift+K",
"macos": "Cmd+Shift+K"
},
"enabled": true
},
{
"id": "moveLineUp",
"action": "moveLineUp",
"label": "当前行上移",
"keys": {
"windows": "Alt+Up",
"linux": "Alt+Up",
"macos": "Option+Up"
},
"enabled": true
},
{
"id": "moveLineDown",
"action": "moveLineDown",
"label": "当前行下移",
"keys": {
"windows": "Alt+Down",
"linux": "Alt+Down",
"macos": "Option+Down"
},
"enabled": true
},
{
"id": "copyLineUp",
"action": "copyLineUp",
"label": "向上复制当前行",
"keys": {
"windows": "Shift+Alt+Up",
"linux": "Shift+Alt+Up",
"macos": "Shift+Option+Up"
},
"enabled": true
},
{
"id": "copyLineDown",
"action": "copyLineDown",
"label": "向下复制当前行",
"keys": {
"windows": "Shift+Alt+Down",
"linux": "Shift+Alt+Down",
"macos": "Shift+Option+Down"
},
"enabled": true
},
{
"id": "undo",
"action": "undo",
"label": "撤销",
"keys": {
"windows": "Ctrl+Z",
"linux": "Ctrl+Z",
"macos": "Cmd+Z"
},
"enabled": true
},
{
"id": "redo",
"action": "redo",
"label": "重做",
"keys": {
"windows": "Ctrl+Y",
"linux": "Ctrl+Shift+Z",
"macos": "Cmd+Shift+Z"
},
"enabled": true
},
{
"id": "selectAll",
"action": "selectAll",
"label": "全选",
"keys": {
"windows": "Ctrl+A",
"linux": "Ctrl+A",
"macos": "Cmd+A"
},
"enabled": true
},
{
"id": "formatJson",
"action": "formatJson",
"label": "格式化 JSON 配置",
"keys": {
"windows": "Shift+Alt+F",
"linux": "Shift+Alt+F",
"macos": "Shift+Cmd+F"
},
"enabled": true
},
{
"id": "applyConfig",
"action": "applyJsonDraft",
"label": "应用 JSON 配置",
"keys": {
"windows": "Ctrl+S",
"linux": "Ctrl+S",
"macos": "Cmd+S"
},
"enabled": true
}
]
}
}兼容说明
version当前固定为1。formatter当前固定为sql-formatter。params参数替换不会被 SQL 格式化执行;需要参数识别时使用paramTypes。- 旧模板中的
replace动作如果写成openReplacePanel,导入时会自动兼容并归一化。