方括号上的Sublime文本标识(Javascript)

时间:2017-05-18 14:20:02

标签: javascript regex sublimetext3

所以我使用Sublime text 3来编写JS代码,我注意到一个小但非常讨厌的bug(?)。

我有这段代码

var x = [
    "a",
    "b",
    "c"
]

和Sublime自动缩进: var x = [ "a", "b", "c" ]

这让我很烦恼(没有双关语),因为我有大数组声明和嵌套数组,我无法折叠它们或清楚地看待层次结构。

所以我去了解崇高的语法词典。 (将hexas转换为ASCII字符)并找到了:

code

我想修改正则表达式我们可以改变缩进规则。但是我对正则表达式有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

如您所见,可以使用JavaScript indentation rules找到https://packagecontrol.io/packages/PackageResourceViewer

目前,规则在{上缩进,如果后面没有字符串或结束},并且它们在行的开头}上取消显示(可选择在关闭之前)阻止评论)。您可以将其更改为[上的缩进,如果后面没有结束的方括号,并且}]上取消 - 这里有一些正则表达模式,尽管原始功能与原始功能相同:

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
    <key>name</key>
    <string>JavaScript Indent</string>
    <key>scope</key>
    <string>source.js</string>
    <key>settings</key>
    <dict>
        <key>decreaseIndentPattern</key>
        <string>^(.*\*/)?\s*[}\]].*$</string>
        <key>increaseIndentPattern</key>
        <string>^.*[{\[][^}"'\]]*$</string>

        <key>bracketIndentNextLinePattern</key>
        <string>(?x)
        ^ \s* \b(if|while|else)\b [^;]* $
        | ^ \s* \b(for)\b .* $
        </string>
    </dict>
</dict>
</plist>