如何更改 Python 中 sublimetext 的视口大小?

How do you change the viewport size of the sublimetext in Python?

我正在尝试为 Sublime Text 3 创建我的第一个插件。

如何设置视口大小?我通常把布局分成两部分,我想做的是改变焦点布局的视口大小,这样我就可以在焦点布局中阅读更多内容。

我可以使用 viewviewport_extent() 方法获取视口的大小,但我不知道如何将其设置为新的大小。

插件无法调整 ST 面板的大小,或直接调整视口的大小,但您可以在显示多个行或列组时调整布局拆分的大小。

您需要使用 window.get_layout() 获取当前布局,并使用 window.set_layout 设置新布局,传递必要的参数以使 active/focused 组更大比例。

单窗格布局在 get_layout 中如下所示:

{'cells': [[0, 0, 1, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 1.0]}

平均拆分的 2 列布局如下所示:

{'cells': [[0, 0, 1, 1], [1, 0, 2, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 0.5, 1.0]}

较宽的左栏可能如下所示:

{'cells': [[0, 0, 1, 1], [1, 0, 2, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 0.75, 1.0]}

您可以使用 window.active_group() 确定哪个组处于活动状态,并根据此决定如何设置比率。


注意:有些 API 函数没有出现在官方文档中。出于探索目的,在 ST 控制台中执行 dir(window)dir(view) 可能很有用,以查看可用的属性和方法。