【发布时间】:2015-02-07 11:54:55
【问题描述】:
我目前正在为 Sublime Text 3 编写一个插件,旨在为用户提供更灵活的会话管理。
API 似乎没有提供打开.sublime-project 文件的方法。我显然能够像往常一样打开文件 - 使用 window.open_file - 但不能告诉 Sublime 打开特定的项目文件。
它只会在新标签页中打开它,这并不是我所希望的。
我可以使用window.project_data 和window.set_project_data 访问和设置project_data,但是虽然有window.project_file_name 方法,但它没有对应的方法。
这是有问题的,因为 project_data 通常包含相对路径,需要相对于 .sublime-project 文件位置进行解释。如果我只是将找到的数据转储到新窗口 (set_project_data),所有相对路径都将被解释为相对于 root(至少在我的 Ubuntu 系统上)。
我可以自己处理相对路径并相应地修改project_data,但这很麻烦。
是否有任何未记录的方法或我遗漏的东西?
【问题讨论】:
-
这只是一个盲目的猜测,但是命令行参数有帮助吗?也就是说,当你从你的插件中生成一个新的 Sublime 进程时,你可以只提供项目文件的路径作为第一个参数吗?
-
@Jan-PhilipGehrcke 虽然这将使我能够打开与项目文件关联的窗口,但插件仍然必须将视图加载到此窗口中。 AFAIK 没有安全的方法可以访问我通过命令行打开的窗口。
-
如果你在命令行上传递一个项目文件给 sublime,它将打开该项目文件,以及它之前打开的所有视图。如果您需要在打开后做某事,您可以随时将其写入另一个具有 plugin_loaded 的插件中,以便在启动时执行。
标签: python sublimetext sublimetext3 sublime-text-plugin