Navicat代码段在右上角Snippets按钮中设置,v16+统一在此面板,v15及更早需通过Tools→Snippets进入;添加带$1、$2占位符的SQL模板后,输入全名按Tab即可展开并顺序跳转编辑。
Navicat 代码段(Snippet)在哪设置
代码段功能藏在 navicat 主界面右上角的 snippets 按钮里——不是菜单栏“工具”或“编辑”,也不是右键弹窗,点开后左侧是分类树,右侧是具体代码片段列表。首次使用时默认只有几个系统内置项(如 select *、insert into),要复用自定义模板,必须手动新建。
注意:不同 Navicat 版本路径略有差异,v16 及以上统一收归到该面板;v15 及更早版本需通过 Tools → Snippets 菜单进入,但逻辑一致。
怎么添加带占位符的可编辑 SQL 模板
点击 Add Snippet 后,关键在 Content 编辑框里写带 $1、$2 的占位符,Navicat 会自动识别并按顺序跳转聚焦。比如写一个分页查询模板:
SELECT $1 FROM $2 WHERE $3 ORDER BY $4 LIMIT $5 OFFSET $6;
保存时填好名称(如 pg_paging)、描述(可选)、分类(建议建个 My Templates 分类便于管理)。下次在 SQL 编辑器中输入 pg_paging 并按 Tab,整段就会展开,光标依次停在 $1→$2→…位置。
-
$0表示最终光标停留位置,不参与跳转循环 - 重复占位符如
WHERE id = $1 AND status = $1,修改第一个会同步更新第二个 - 不支持嵌套变量或条件判断,纯文本替换
为什么写好的 Snippet 在编辑器里不触发
常见原因就三个:
- 没勾选
Enable Snippets开关(在 Snippets 面板右上角) - 当前编辑器语言模式不是 SQL:比如你在连接 PostgreSQL 时打开了“查询”窗口,但左下角显示的是
Text而非SQL,Snippet 不生效 - 触发关键词和 Snippet 名称不完全匹配:必须输入全名再按
Tab,输pg_pag不会联想,也不能用空格或特殊字符命名 Snippet
另外,Navicat 对大小写敏感,user_list 和 User_List 是两个不同项。
跨项目复用 Snippet 的导出导入方式
Snippet 数据存在本地配置文件中,直接复制配置不靠谱。正确做法是用 Navicat 自带的导出功能:
- 在 Snippets 面板底部点
Export,生成一个.snippet文件(本质是 XML) - 换机器或重装后,在新 Navicat 中点
Import,选择该文件即可还原全部分类与内容 - 注意:导入不会覆盖同名项,而是追加;若想批量替换,得先清空再导入
别试图手动编辑 .snippet 文件——格式脆弱,一个错位标签就会导致整个文件无法导入,且无报错提示。


















