6

我可能错过了明显的,但似乎无法解决这个相当简单和典型的案例(在 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"and "remember_open_files"to false,然后调用 ST :

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

但是 ST3 要么找不到项目文件(通过--data),除非我先 chdir 那里(--data似乎不再支持?),并且它要么不会自动打开上次的任何工作区文件(尽管以前的“项目/ 将工作区另存为...”),或者,如果我将“remember_open_files”设置回 true,它只会重新打开最后打开的文件,而不管命令行上给出的项目如何。

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

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

4

2 回答 2

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
于 2013-08-26T14:41:43.227 回答
0

对于仍然希望这样做的任何人,您可以启动内置命令行工具并使用这样的项目(Mac OSX)启动它:

"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" --project "absolute-path-to-your.sublime-project"
于 2016-01-03T22:27:04.207 回答