Sublime Text 3 自定义布局

Sublime Text 3 Custom Layout

我想要我的 ST3 的自定义布局 - 具体来说,我想要这个布局结构。 谁能告诉我该怎么做?

第一个选项:

安装更多布局包并按 ALT + SHIFT + 6

在这里你可以看到包装和一些布局的例子:

https://packagecontrol.io/packages/More%20Layouts

我的 sublime text 3 示例:

如果您不知道如何在此处安装软件包,您可以查看方法:

https://packagecontrol.io/installation

第二个选项:

使用 CTRL + `

打开控制台

然后键入此命令:

window.set_layout({'cols': [0.0, 0.5, 1.0], 'cells': [[0, 0, 1, 1], [1, 0, 2, 1], [0, 1, 2, 2]], 'rows': [0.0, 0.5, 1.0]})

对于那个确切的布局,这应该可以解决问题。

虽然手动创建这样的布局可能会弄脏您的手,但实现这一目标的最简单方法可能是使用包来完成。 Origami 包就是其中一个例子。

使用该包,您可以按照以下步骤获得您感兴趣的布局:

  1. Select Origami: Create Pane Below 命令(或使用标准 View > Layout > Rows: 2 菜单项)创建两行
  2. 聚焦底部窗格并 select Origami: Create Pane on the Right

完成此布局后,您可以使用命令面板中的 Origami: Save Current Layout 保存它,然后根据需要轻松调用它。


假设您不想to/can安装第三方软件包,您也可以制作自己的自定义菜单项and/or键绑定,它会为您设置此布局。

为了向菜单添加新项目,请将以下文本另存为 Main.sublime-menu 在您的 User 包中(如果您不知道它在哪里,请使用 Preferences > Browse Packages ):

[
    {
        "caption": "View",
        "mnemonic": "V",
        "id": "view",
        "children":
        [
            { "caption": "-", "id": "groups" },
            {
                "caption": "Layout",
                "mnemonic": "L",
                "id": "layout",
                "children":
                [
                    {
                        "caption": "Three Pane",
                        "command": "set_layout",
                        "args":
                        {
                            "cols": [0.0, 0.5, 1.0 ],
                            "rows": [0.0, 0.5, 1.0 ],
                            "cells": [
                                [0, 0, 2, 1 ],
                                [0, 1, 1, 2 ],
                                [1, 1, 2, 2 ]
                            ]
                        }
                    }
                ]
            },
        ]
    }
]

这将在 View > Layout 下添加一个名为 Three Pane 的新菜单条目,当 selected 时,它将设置您想要的布局。根据需要更改 caption 字符串的值以更改布局的名称。

此外,您可以将以下键绑定添加到您的自定义键绑定(Preferences > Key Bindings 来自菜单),以便拥有一个执行相同操作的热键:

{
    "keys": ["alt+shift+3"],
    "command": "set_layout",
    "args":
    {
        "cols": [0.0, 0.5, 1.0 ],
        "rows": [0.0, 0.5, 1.0 ],
        "cells": [
            [0, 0, 2, 1 ],
            [0, 1, 1, 2 ],
            [1, 1, 2, 2 ]
        ]
    }
},

如果这是您的第一个自定义键绑定,请确保将整个文本包装在一对 [] 中,因为键绑定是一个项目列表,这仅代表键绑定本身。

这会为三列重复使用默认的 Windows/Linux 键绑定,因此您可以根据需要进行更改。如果您结合上面的菜单更改执行此操作,菜单将自动显示您正在使用的键绑定作为提醒,以防您忘记。

作为参考,set_layout 命令采用与(官方未记录的)window.set_layout() API 调用相同的 layout 参数。有 unofficial documentation on that method 解释了这是如何工作的,尽管我在这里作弊并使用 Origami 来创建布局。

我制作了一个图表,让我了解 set_layout 如何根据给定的值构造布局,并认为我会分享。 是的,X 确实是 cols,Y 确实是 rows。这是不直观的。

可以这样想:垂直线(列)从水平轴上的点增长,水平线(行)从垂直轴上的点增长。

我希望它可以理解并有所帮助。