如何使用本地.sublime-project文件启动所选项目的Sublime Text?

Sz.*_*Sz. 6 sublimetext sublimetext2 sublimetext3

我可能会错过显而易见的,但似乎无法解决这个相当简单和典型的情况(在Debian或XP上使用v3 build 3022,以防万一):

  • 启动Sublime Text打开一个项目"myprj",在其命令行中指定,
  • 使用位于该项目的目录下的default.sublime-project(例如"/ repo/myprj"),
  • 自动重新打开该项目的最后打开文件(即其工作区),
  • 使用default.sublime-workspace(也来自同一个项目目录)
  • 但(显然)不会自动打开从非项目会话中记住的任何其他文件,
  • 并在退出时自动保存所有打开的文件(到上面的default.sublime-workspace).

理想的情况是:

  1. $ sublime_text --project /repo/myprj/default.sublime-project

应该工作.但它没有(见下文).

另一个似乎合理的近似值:

  1. 设置"hot_exit""remember_open_files"false,然后调用ST:

  2. $ sublime_text --data /repo/myprj --project default.sublime-project

但是ST3要么找不到项目文件(via --data),除非我首先在那里进行chdir(--data似乎不再受支持?),它要么不会自动打开上次的任何工作区文件(尽管之前的"项目")/Save Workspace As ..."),或者,如果我将"remember_open_files"设置为true,它只会重新打开最后打开的文件,无论命令行上给出的项目如何.

我想问题是工作区文件由于某种原因没有被自动处理,我只是在某个地方错过了一些微不足道的步骤.(官方文档(以及非官方文档)似乎只讨论OS X的命令行开关,并且要求--help实际上没有帮助这个.)

(请注意:我不想首先启动ST,然后手动从内部切换到某个项目,我也不想在prj.dir之外存储sublime-project/-workspace文件.)谢谢很多!

Web*_*ker 0

这几天我在寻找类似问题的解决方案,但没有找到合适的方法。所以我用一个小苹果脚本创建了一个自动化应用程序。也许这对你也有帮助。

  1. 打开 Automator 并选择新闻应用程序。
  2. 创建一个动作来启动 Sublime Text 2
  3. 插入一个操作来执行以下苹果脚本:

delay 0.2

tell application "System Events"
    tell process "Sublime Text 2"
        tell menu bar 1
            tell menu bar item "Project"
                tell menu "Project"
                    tell menu item "Recent Projects"
                        tell menu "Recent Projects"
                            click menu item "~/yourproject.sublime-project"
                            keystroke "p" using {command down, shift down}
                        end tell
                    end tell
                end tell
            end tell
        end tell
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)