Sublime text 2:某些文件应该在不同的面板中打开

时间:2014-02-10 21:13:33

标签: ruby-on-rails sublimetext2

我正在使用Sublime Text 2进行Rails开发。到目前为止,我喜欢编辑器,特别是它的可定制性。目前我已经习惯了2面板工作流程,我在右侧面板中打开了各种Rspec文件,左侧面板中打开了相应的视图,控制器等。但是当我打开新文件时,它们经常在错误的面板(我正在使用的那个面板)中打开,我必须手动将它们向左或向右拖动。

这是我的问题:当我打开文件时,如果文件名中包含“_spec”,则可以在右侧面板中打开文件,否则可以在左侧面板中打开文件?

我知道这是一个非常具体的调整。我很感激任何提示。

1 个答案:

答案 0 :(得分:2)

是的,可以通过插件。如果你有一些时间,我会花一点时间研究一下sublime text api。我把一些东西放在一起应该有效。它只是经过最低限度的测试,并不是非常强大。虽然我认为它应该适用于您的用例。如果没有,你可以使用它来探索ST api。

import sublime_plugin
import os


class OpenLocationListener(sublime_plugin.EventListener):
    def on_load(self, view):
        file_name = view.file_name()
        window = view.window()
        num_groups = window.num_groups()
        if file_name is not None and num_groups >=2:
            if "_spec" in os.path.basename(view.file_name()):
                if window.active_group() == 0:
                    window.set_view_index(view, 1, 0)
                    window.focus_view(view)
            else:
                if window.active_group() == 1:
                    window.set_view_index(view, 0, 0)
                    window.focus_view(view)

将上述内容保存在Packages / User文件夹中<some name>.py只要将其保存为python文件,名称无关紧要。

除此之外,除非您使用的是ST2插件,否则请考虑升级到ST3。许多正在积极开发的插件可能只与ST3兼容。我在ST3中写了上面的内容,所以这是我测试的地方,虽然我不相信ST3有任何具体的内容。