【问题标题】:Column Indentation Guide on TextmateTextmate 上的列缩进指南
【发布时间】:2013-07-04 06:28:15
【问题描述】:

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

看看Textmate中的这个PHP函数


(来源:darwinsantos.com

现在在 Sublime 中查看它。


(来源:darwinsantos.com

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

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

【问题讨论】:

    标签: textmate textmatebundles textmate2


    【解决方案1】:

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


    更新:如果您能够完成这项工作并愿意建立自己的文本伙伴via the official instructions,那么您可能会建造一座裂缝(甚至可能为@987654322 做出贡献) @。没有构建,它还没有准备好被引入 TextMate2,因为它缺少禁用指南的设置。


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

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

    方法已更新,其他与described for Textmate1 by Cocabits相同。

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

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

    我创建了一个fold guides bundle,但这是我第一次发布它,我很害怕它对你不起作用,说试试看。

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

    从Bundles->Edit Bundles创建一个bundle,然后,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';
            };
    }
    

    【讨论】:

    • 我在 Textmate 2 和 1 中尝试过,但由于某种原因它不起作用。我还关注了您提供的链接,虽然这一切都有意义,但它不起作用。有任何想法吗? @彼得史密斯
    • 这很难设置,您是否也尝试过手动创建捆绑包? “*”的注入选择器很重要。
    • Textmate 2 中为我工作。我必须按照您的概述执行每个步骤,不幸的是您的捆绑包不起作用-但说明很清楚,一切正常。 Textmate 2 用户的注释 - 编辑 Theme 现在在 Edit Bundles 菜单中完成,而不再在 Preferences 中找到。必须重新启动 Textmate 才能生效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 2013-03-09
    • 2019-03-11
    • 2011-06-09
    相关资源
    最近更新 更多