重置窗口布局需精准清理nswindow frame和saved application state两处配置。完全退出navicat后,执行defaults delete com.navicat.navicatpremium nswindow\ frame*并删除savedstate目录,重启即可恢复默认窗口位置与标签页模式。
重置窗口布局和重置试用期是两回事,别混淆。 你看到的“窗口布局”问题,比如主窗口错位、查询窗口飞到屏幕外、标签页位置异常,通常不是试用期机制导致的,而是 navicat 自己缓存的 ui 状态损坏或 macos 窗口管理器临时失准。直接运行 reset_navicat.sh 或点击 resetnavicat.app 不会动这部分数据——它只清理试用追踪文件,不碰界面配置。
为什么重启 Navicat 后窗口还乱?
Navicat 在 macOS 上把窗口尺寸、位置、是否最大化、分屏状态等信息存在两个地方:
-
~/Library/Preferences/com.navicat.NavicatPremium.plist里的NSWindow Frame相关键(如MainWindow、QueryWindow) -
~/Library/Saved Application State/com.navicat.NavicatPremium.savedState/下的二进制快照文件
这两处出问题时,Navicat 就会记住一个“错误的位置”,下次启动就卡在屏幕边缘或负坐标区域。
手动重置窗口布局的最快方法
不用删整个偏好设置,精准清理即可:
- 完全退出 Navicat(Cmd+Q,再检查活动监视器里没有
Navicat Premium进程) - 打开终端,运行:
defaults delete com.navicat.NavicatPremium NSWindow\ Frame\*
- 删除保存状态:
rm -rf ~/Library/Saved\ Application\ State/com.navicat.NavicatPremium.savedState
- 重新启动 Navicat —— 所有窗口都会回到默认居中位置,标签页也恢复为单窗口模式
注意:NSWindow Frame* 是通配符,会清除所有窗口类别的位置记录;但不会影响连接列表、SQL 历史、字体设置等其他偏好项。
如果只想让新查询窗口不嵌入主窗口
这是常见误操作:用户点了“在新窗口中打开查询”,但后续所有查询又自动塞回主窗口。根本原因是选项被覆盖了:
- macOS 版:菜单栏 →
Navicat Premium→设置→选项卡→ “打开新选项卡于” 必须选新窗口 - 这个设置实际写在
com.navicat.NavicatPremium.plist的TabOpenInNewWindow键里,值为1 - 如果改完没生效,说明 plist 被缓存,执行
defaults write com.navicat.NavicatPremium TabOpenInNewWindow -bool true
再重启
窗口布局本身不涉及钥匙串或隐藏哈希文件,也不需要跑自动重置脚本。真要动手,就盯住 NSWindow Frame 和 Saved Application State 这两处——改错地方反而会让连接密码或主题设置丢失。











