【问题标题】:Sublime Text 3 Custom LayoutSublime Text 3 自定义布局
【发布时间】:2018-05-06 13:45:24
【问题描述】:

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

【问题讨论】:

  • 这是我的 Layouts.sublime-commands 文件,它将 View --> Layout 菜单中的所有布局添加到 Sublime Text 的命令面板以及 3 个窗格布局的所有 4 种可能组合。将原始 Layouts.sublime-commands 文件保存到您的 Sublime Text 配置 User 文件夹(如果您知道自己在做什么,也可以保存在其他位置)。要使用打开命令面板并输入Set Layout...

标签: sublimetext3 sublimetext2 sublimetext sublime-text-plugin


【解决方案1】:

虽然手动创建这样的布局可能会让您手忙脚乱,但可能最简单的方法是使用包来完成它。 Origami 包就是一个例子。

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

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

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


假设您不想/不能安装第三方软件包,您还可以制作自己的自定义菜单项和/或键绑定,为您设置此布局。

要向菜单中添加新项目,请将以下文本另存为 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 的新菜单项,选择该菜单项后,将设置您想要的布局。根据需要更改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 来创建布局。

【讨论】:

  • 您好,我需要手动操作,因为我无法下载包管理器,您能帮帮我吗?
  • 不是Main.sublime.menu,而是Main.sublime-menu
  • @certainlyakey 感谢您的提醒,不知道我是怎么错过的。 :)
【解决方案2】:

第一个选项:

安装包更多布局并按 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]})

这应该可以实现精确的布局。

【讨论】:

  • 您好,我需要手动操作,因为我无法下载包管理器,您能帮帮我吗?
  • 我找到了这个分步指南来做你想做的事请告诉我这是否是你想要的,我会将它添加到答案nikolaloncar.com/…
  • 昨天我试过那个教程但没有用,如果你还有其他的 tut 或者如果你知道这样做,请发布答案,谢谢
  • 请查看我对菜单项和相关键绑定的回答。
  • 他的速度更快!.
【解决方案3】:

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

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

我希望它是可以理解和有帮助的。

【讨论】:

    猜你喜欢
    • 2016-02-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多