You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Sublime Text 4根据启动方式决定是否恢复历史文件?

实现Sublime Text Build 4143的条件化会话恢复

Sublime Text本身没有原生支持按启动场景切换会话恢复逻辑,但可以通过配置修改+AppleScript脚本实现你的需求:

1. 基础配置调整

打开Sublime Text,进入Preferences > Settings,在右侧的用户配置文件中写入以下内容:

{
    "restore_session": false,
    "auto_save_session": true
}
  • restore_session: false:让Sublime默认启动时不自动恢复之前的会话
  • auto_save_session: true:确保Sublime会自动保存当前会话到本地文件,方便后续手动恢复

2. 编写启动控制脚本

用系统自带的「脚本编辑器」创建一个AppleScript,用来区分两种启动场景:

-- 直接启动时,恢复之前的会话
on run
    tell application "Sublime Text"
        activate
        set sessionFile to (path to application support folder from user domain as text) & "Sublime Text/Packages/User/Session.sublime_session"
        try
            do shell script "open -a 'Sublime Text' " & quoted form of POSIX path of sessionFile
        end try
    end tell
end run

-- 从Finder打开文件时,仅打开目标文件
on open targetFiles
    tell application "Sublime Text"
        activate
        repeat with fileItem in targetFiles
            open fileItem
        end repeat
    end tell
end run

保存这个脚本为Sublime Launcher.scpt,建议存放在~/Library/Scripts/目录下。

3. 设置启动入口

  • 把原Sublime Text应用从Dock移除,改用这个脚本作为直接启动入口:可以用「自动操作」把脚本打包成应用(打开自动操作,选择「应用」,添加「运行AppleScript」动作,粘贴上述代码,保存为Sublime Launcher.app)
  • 保持原Sublime Text应用的文件关联:Finder中右键点击任意代码文件,选择「显示简介」,设置「打开方式」为原Sublime Text应用,点击「全部更改」

这样操作后:

  • 点击Sublime Launcher.app启动时,会自动恢复之前的会话
  • 从Finder双击文件或拖文件到原Sublime图标时,只会打开目标文件,不会恢复旧会话

内容的提问来源于stack exchange,提问作者Jason Robinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:05:12