0

我想知道 Textmate 中是否有捆绑或偏好来获得 Sublime 的白色虚线列分隔符。看截图。

在 Textmate 中查看这个 PHP 函数

textmate 截图
(来源:darwinsantos.com

现在在 Sublime 中查看它。

崇高的截图
(来源:darwinsantos.com

如果您仔细观察,会发现在 Sublime 中,开始和结束大括号由一条白色虚线绑定,这让您知道两个大括号在完全相同的列中对齐。

有没有办法在 Textmate 中得到这个?

4

1 回答 1

5

更新(5/2016):TextMate 已经获得了缩进指南!从版本 2.0-beta.9.2 View->开始Show Indent Guides。它们正在进行中,但它们是可用的。


更新:如果您能够完成这项工作并且愿意通过官方说明构建自己的文本伴侣,那么您可能会破解一个构建(甚至可能有助于)我的 TextMate2 折叠指南版本。没有构建,它还没有准备好被引入到 TextMate2 中,因为它缺少禁用指南的设置。


这是一个正在开发中的功能,完成后它将比我将要描述的更智能。新版本最终发布时,将尊重语言的缩进规则,而不是简单地填充成对的空格/制表符。

也就是说,我用它来确保无数行模板都是完美的。

该方法已更新,但其他方面与Cocabits 为 Textmate1 描述的相同。

你最终会得到这样的结果: 折叠指南演示 注意倒数第二行,缺少触发行的空白。新版本会更接近 Sublime 的

首先,我们需要教 TextMate 如何识别我们在每行代码之前使用的制表符和空格。

我已经创建了一个折叠指南包,但是这是我第一次把它分发出去,我很害怕它对你不起作用,那就试试吧。

如果它不起作用,您将需要手动添加这些规则,我将向您展示如何使其成为自己的捆绑包,但您可以直接将其添加到您喜欢的任何语言中。

从 Bundles->Edit Bundles 创建一个包,然后,File->New,选择 bundle 并为其命名,然后 File->New 并创建一个语法。语法应该有这样的代码:

{   patterns = (
        {   include = '#leading-spaces'; },
        {   name = 'meta.leading-tabs';
            begin = '^(?=\t)';
            end = '(?=[^\t])';
            patterns = (
                {   match = '(\t)(\t)?';
                    captures = {
                        1 = { name = 'meta.odd-tab'; };
                        2 = { name = 'meta.even-tab'; };
                    };
                },
            );
        },
    );
    repository = {
        leading-spaces = {
            begin = '^(?=\s\s)';
            end = '(?=[^\s\s])';
            patterns = (
                {   match = '(\s\s)(\s\s)?';
                    captures = {
                        1 = { name = 'meta.odd-tab'; };
                        2 = { name = 'meta.even-tab'; };
                    };
                },
            );
        };
    };
}

检查员应该是这样的:

注入器设置为 * 的语法

现在我们只需要一个主题规则来匹配“meta.even-tab”和/或“meta.odd-tab”,所以只需将其添加到您当前的主题中:

{name = 'Alternating Tabs';
    scope = 'meta.even-tab';
    settings = {
        background = '#232323';
        };
}
于 2013-07-05T15:08:31.457 回答