sublime如何设置启动时自动打开上次项目?(工作流优化)

13次阅读

启用 hot_exit 和 remember_open_files 并设为 true,且避免手动执行 Close Project,sublime Text 启动时即可自动恢复上次项目;restore_open_folders 设为 2 还可恢复文件夹结构。

sublime如何设置启动时自动打开上次项目?(工作流优化)

如何让 sublime text 启动时自动恢复上次打开的项目?

Sublime Text 默认不保存项目状态,关闭后重新打开只会看到空窗口或默认工作区。要实现「启动即加载上次项目」,关键不是靠项目文件(.sublime-project),而是启用其内置的会话(session)持久化机制。

它依赖 hot_exitremember_open_files 两个设置协同生效,且必须确保没有手动执行过「Project → Close Project」——否则项目上下文会被主动清空。

  • hot_exit 控制退出时是否保存未关闭的标签页和窗口状态(设为 true
  • remember_open_files 决定重启后是否还原已打开的文件(设为 true
  • 项目路径本身不会被单独记忆,但只要项目是通过 Project → Open Project… 加载的,且窗口内至少有一个属于该项目的文件被打开,那么该会话就会连带记录项目配置

修改用户设置文件的正确位置和内容

直接编辑 Sublime Text 的用户偏好设置即可,无需插件或外部脚本。注意:不要改默认设置(default),只改用户设置(User)。

打开方式:Preferences → Settings – User,然后在右侧 jsON 中添加或修改以下字段:

{     "hot_exit": true,     "remember_open_files": true,     "restore_open_folders": 2 }

restore_open_folders 设为 2 表示重启时也恢复上次打开的文件夹(即侧边栏中的文件树),这对项目工作流很关键;设为 0 则只恢复文件,不恢复文件夹结构。

为什么有时设置了也不生效?常见断点排查

最常被忽略的是「项目关闭动作」本身:如果某次退出前手动点击了 Project → Close Project,Sublime 就会主动清除当前项目上下文,下次启动哪怕所有设置都对,也不会加载项目。

  • 检查是否误点了 Close Project 而非单纯关窗口(macOS 下 Cmd+W 关闭标签页、Cmd+Q 退出程序,windows/linux 类似)
  • 确认没有启用冲突插件,比如某些项目管理类插件(如 ProjectManager)可能覆盖原生会话行为
  • 如果使用便携版 Sublime,确保数据目录(如 Data/ 文件夹)没被重定向或权限受限,否则 session.sublime_session 文件无法写入
  • Session.sublime_session 文件位于 Data/Local/ 下,可手动查看其内容验证项目路径是否被记录(搜索 "project" 字段)

项目文件(.sublime-project)和会话机制的关系

.sublime-project 是静态配置文件,用于定义构建系统、文件过滤、设置覆盖等,它本身不触发自动加载。Sublime 不会在启动时扫描目录寻找它。

真正起作用的是会话机制 —— 只有当你通过 Project → Open Project… 打开一个项目后,Sublime 才会在会话中记录该项目的路径和打开的文件。所以「先手动打开一次项目」是必要前提。

如果你希望多个常用项目快速切换,可以配合 Project → Save Project As… 生成 .sublime-project 文件,再用 Project → Quick switch Project(Cmd+Ctrl+P)唤出列表,但这和启动自动加载是两套逻辑。

真正的自动加载只依赖会话,而会话是否完整保存,取决于你每次退出的方式和设置是否匹配。别漏掉 hot_exit,也别手贱点 Close Project

text=ZqhQzanResources