跳至内容

Python API

另请参阅

官方 API 文档

官方文档涵盖了大多数可用的 API。本文件仅作为对官方文档的补充。

探索 API

快速查看 API 的运行方式

  1. 从命令面板启动 **查看包文件** 命令。
  2. 插入并筛选 Default/.py,选择一个默认插件以查看其源代码。

您不能直接编辑这些文件,并且在正常情况下也不应该编辑,但它们可以作为 API 使用的良好参考。

当然,您也可以参考任何开源第三方插件的源代码。

官方文档中缺少的内容

官方文档中有一些内容尚未(或尚未)记录。在 GitHub 问题 中收集了未记录的功能或文档中的不一致列表。

以下是我们编写了自己的文档的几种方法(即一种)。

Window.set_layout

签名:Window.set_layout(layout: dict)

更改视图组的基于平铺的面板布局。返回 None

需要一个类似于以下内容的字典:

py
{"cols": [float], "rows": [float], "cells": [[int]]}

其中 [type] 代表 type 的列表。

cols:列分隔符的列表(浮点数),应以 0(左侧)开头,以 1(右侧)结尾。

rows:行分隔符的列表(浮点数),应以 0(顶部)开头,以 1(底部)结尾。

cells:单元格列表的列表,描述每个单元格的边界。单元格可以想象成矩形,其中包含在此字典中指定的行和列。想象一下

[x1, y1, x2, y2]

其中所有值分别是整数,并映射到 colsrows 索引。因此,一个具有 [0, 0, 1, 2] 的单元格对应于从左上角到第一列和第二行分隔符的单元格(在 2x2 网格中,这将是底部中心)。

注意

rowscols 没有边界检查,也不会进行调整。因此,您可以指定小于0 或大于1 的值,Sublime Text 实际上会相应地处理它们。这意味着您可以裁剪视图或创建边框。目前尚不清楚这些空白区域的“背景颜色”是否可以修改,默认颜色为黑色。使用时请谨慎!

列或行分隔符的顺序也不会被检查。例如,如果您使用反转的列列表,例如[1, 0.5, 0],您将看到两个黑色面板。在这种状态下,Sublime Text 无法使用。

示例

py
# A 2-column layout with a separator in the middle
window.set_layout({
    "cols": [0, 0.5, 1],
    "rows": [0, 1],
    "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
})

# A 2x2 grid layout with all separators in the middle
window.set_layout({
    "cols": [0, 0.5, 1],
    "rows": [0, 0.5, 1],
    "cells": [[0, 0, 1, 1], [1, 0, 2, 1],
              [0, 1, 1, 2], [1, 1, 2, 2]]
})

# A 2-column layout with the separator in the middle and the right
# column being split in half
window.set_layout({
    "cols": [0, 0.5, 1],
    "rows": [0, 0.5, 1],
    "cells": [[0, 0, 1, 2], [1, 0, 2, 1],
                            [1, 1, 2, 2]]
})