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

时间:2013-05-21 11:24:54

标签: sublimetext2 sublimetext 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
  2. 应该正常工作。但它没有(见下文)。

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

    1. "hot_exit""remember_open_files"设置为false,然后使用以下方式调用ST:

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

    3. 但是ST3要么找不到项目文件(通过--data),除非我首先在那里(--data似乎是no longer supported?),否则它不会自动打开上次的任何工作区文件(尽管之前的“Project / Save Workspace As ...”),或者,如果我将“remember_open_files”设置为true,它只会重新打开最后打开的文件 在命令行上给出的项目。

      我想问题是工作区文件由于某种原因没有被自动处理,我只是在某个地方错过了一些微不足道的步骤。 (official docs(以及the unofficial)似乎在讨论command-line switches for OS X only,并且要求--help实际上对此不起作用。)

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

2 个答案:

答案 0 :(得分:0)

对于仍然希望执行此操作的任何人,您可以启动内置命令行工具并使用类似项目启动它(Mac OSX):

"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" --project "absolute-path-to-your.sublime-project"

答案 1 :(得分:-1)

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

  1. 打开Automator并选择新闻应用程序。
  2. 创建一个动作以启动Sublime Text 2
  3. 插入操作以执行以下Apple脚本:
  4. 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