【发布时间】:2013-05-16 03:35:39
【问题描述】:
我可能遗漏了明显的,但似乎无法解决这个相当简单和典型的案例(在 Debian 或 XP 上使用 v3 build 3022,以防万一):
- 启动 Sublime Text 打开项目“myprj”,在其命令行中指定,
- 使用位于该项目目录下的 default.sublime-project(例如 "/repo/myprj"),
- 自动重新打开该项目的最后打开文件(即其工作区),
- 为此使用 default.sublime-workspace(也来自同一项目目录)
- 但(显然)不会自动打开从非项目会话中记住的任何其他文件,
- 并在退出时自动保存所有打开的文件(到上述 default.sublime-workspace)。
理想情况下:
- $
sublime_text --project /repo/myprj/default.sublime-project
应该可以工作。但事实并非如此(见下文)。
另一个似乎合理的近似值:
将
"hot_exit"和"remember_open_files"设置为false,然后调用ST:$
sublime_text --data /repo/myprj --project default.sublime-project
但 ST3 要么找不到项目文件(通过 --data),除非我先在那里 chdir(--data 似乎是 no longer supported?),要么它不会自动打开任何工作区文件从上次(尽管以前的“项目/将工作区另存为...”),或者,如果我将“remember_open_files”设置回 true,它只会重新打开最后打开的文件不管在命令行上给出的项目。
我猜问题是由于某种原因没有自动处理工作区文件,我只是在某处遗漏了一些微不足道的步骤。 (official docs(还有the unofficial)似乎在讨论command-line switches for OS X only,而要求--help实际上并没有帮助解决这个问题。)
(请注意:我不想先启动 ST,然后手动从内部切换到某个项目,我也不想将 sublime-project/-workspace 文件存储在prj. dir.) 非常感谢!
【问题讨论】:
-
您尝试过简单的
sublime_text /path/to/project/file吗?在 Windows 7 中使用类似的命令,我已经能够实现类似于here 所描述的功能。我想如果你正在做的只是运行sublime_text可执行文件,那么在 Debian 中同样可以工作。 -
@Ninja:嗯。它仍然无法重新打开最后一个工作区文件。我想我误解了一些东西。当我执行“全部保存”或“将工作区另存为...”(至
./default.sublime-workspace)时,即使在(希望是多余的)“项目的新工作区”之后,它实际上甚至似乎都没有保存打开的文件!至少我在工作区文件中找不到打开文件的名称(仅在“file_history”下查看文件名)。 ST 要么写入其他工作区文件,要么仍然需要“remember_open_files”:true。 (但是如何防止提到的错误重新加载?) -
@Ninja:顺便说一句,您链接的页面上“关闭出现的重复项目窗口”的提示也可能是关键。 (对于这样一个基本用例来说,对于周围最好的程序员编辑器之一来说,这似乎是一个非常麻烦的解决方法,我简直不敢相信真正不存在更清洁的解决方案。)
标签: sublimetext2 sublimetext sublimetext3