【问题标题】:How to wrap selection in curly brackets in sublime text 2 with correct indentation?如何在 sublime text 2 中用正确的缩进将选择包裹在大括号中?
【发布时间】:2013-10-17 04:01:39
【问题描述】:

有没有办法改进 Sublime text 2 的大括号换行? 例如,我有以下 PHP 代码:

$isThisPointless = true;
$uselessString = 'Meh.';
$uselessInt = 83;

假设我想将它包装在 if 语句中。所以我继续,选择代码并按“{”,Sublime Text 神奇地将它包裹在大括号中。伟大的!只是,缩进是一团糟。现在我的代码更像:

{$isThisPointless = true;
        $uselessString = 'Meh.';
        $uselessInt = 83;}

虽然我希望实现这一目标:

{
    $isThisPointless = true;
    $uselessString = 'Meh.';
    $uselessInt = 83;
}

Google 搜索建议使用支架插件。我尝试使用它,虽然它消除了丑陋的缩进,但它仍然没有按照我想要的方式缩进块。

有没有办法让 Sublime Text 做到这一点?

【问题讨论】:

    标签: editor sublimetext2 indentation brackets code-readability


    【解决方案1】:

    我已经使用自定义 sn-p 解决了这个问题:

    <snippet>
        <content><![CDATA[
    {
        $SELECTION$1
    }
    ]]></content>
        <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
        <!-- <tabTrigger>hello</tabTrigger> -->
        <!-- Optional: Set a scope to limit where the snippet will trigger -->
        <scope>source.js, source.php</scope>
    </snippet>
    

    ... 然后将该 sn-p 绑定到一个组合键。 如果您使用 sn-p,您可能想要更改范围(取决于您需要的语言),或者完全禁用它。

    我会在这里留下答案,以防有人需要!

    【讨论】:

    • stackoverflow.com/a/15582512/99256 这是为 sn-p 添加快捷方式的方法
    • 请注意,在此答案中复制和粘贴代码时,$SELECTION$1 行会有空格,但 Sublime Text 建议您始终使用制表符。这样,它会在输出中正确转换为正确的空格或制表符格式。
    【解决方案2】:

    上面提到的 sn-p 对我不起作用,所以我专门为此创建了一个插件:

    https://github.com/Epskampie/sublime_indent_and_braces

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      相关资源
      最近更新 更多