【问题标题】:Sublime text 2: certain files should open in a different panelSublime text 2:某些文件应该在不同的面板中打开
【发布时间】:2014-02-10 21:13:32
【问题描述】:

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

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

我知道这是一个非常具体的调整。如有任何提示,我将不胜感激。

【问题讨论】:

    标签: ruby-on-rails sublimetext2


    【解决方案1】:

    是的,可以通过插件实现。如果你有时间,我会花一点时间研究 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 有任何关于它的特定内容。

    【讨论】:

    • 谢谢一百万。我会试试这个并回复你。
    • Skuroda,这个插件给我在 ST2 中的错误,所以我得找时间修补它,或者升级到 ST3。谢谢!
    • 快速查看一下,您是否收到了AttributeError: 'NoneType' object has no attribute 'num_groups' 如果是这样,则可能是 API 中的错误。我不确定如何在没有窗口的情况下加载视图。
    猜你喜欢
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多