navicat 团队共享代码段必须通过 on-prem server 项目级注册,而非修改本地 snippets 目录;仅支持三种显式操作:新建时勾选“保存到项目”、复制粘贴至项目“代码段”节点、拖拽 sql 至项目内“代码段”路径;同步失败主因是目标节点错误、权限不足或客户端版本低于17.0。
navicat 本身不支持配置“远程代码片段库路径”或“云端 snippet url”,所谓团队共享,必须依赖 navicat on-prem server 的项目级注册机制——不是改配置,而是靠拖拽/粘贴动作把代码段显式注册进某个项目。
为什么直接修改本地 Snippets 目录会失败
Windows 下本地代码段默认存于 %AppData%\PremierSoft\Navicat Premium\Snippets,但该目录完全不参与同步。强行替换、复制或 symlink 到网络盘会导致:
- Navicat 启动时校验失败,直接崩溃或卡在初始化界面
- 即使启动成功,队友也绝对看不到你放进去的内容
- On-Prem Server 不会扫描或上报该目录的任何变更
真正能被团队实时看到的共享动作只有三种
所有操作都必须指向「On-Prem Server 中的具体项目 → 代码段」节点,而不是 Server 根节点或其他位置:
- 新建代码段时,在
New Snippet对话框中勾选「保存到项目」,并从下拉菜单选择目标项目(Navicat 17.1+ 才显示此选项) - 已存在的本地代码段:右键 → 「复制」,再右键目标项目的「代码段」节点 → 「粘贴」
- 在查询编辑器中写好代码后,直接拖拽整段 SQL 到导航窗格中「On-Prem Server → [项目名] → 代码段」
队友看不到?先检查这三处硬性条件
同步失败几乎都卡在这几个技术前提上,和网络或缓存无关:
- 拖拽目标是否为
[项目名] → 代码段?拖到On-Prem Server → 代码段(根节点)只会进管理员模板区,普通成员不可见 - 你在该项目中是否有
编辑代码段权限?需项目所有者在 On-Prem Server 后台的「项目设置 → 角色权限」里手动勾选 - 所有成员客户端是否 ≥
Navicat 17.0?低于该版本无法解析 On-Prem Server 推送的元数据,会静默丢弃
最容易被忽略的是权限和目标节点层级——哪怕只错一级(比如拖到 Server 根节点而非项目内),代码段就彻底变成“幽灵片段”:你看着它在自己客户端里,队友却永远搜不到。同步不是后台自动扫描,而是一次明确的注册事件。











