Sublime Text 3中的自动缩进方法链

14

我正在输入以下JavaScript代码(确切的键入):

myObject
.doSomething()
.doSomethingElse();

我希望它能自动变成以下内容...

myObject
    .doSomething()
    .doSomethingElse();

... 就像其他程序员一样,对吧?

我该如何启用它,为什么它不是默认启用的?


我也在寻找这个功能。你找到了什么吗? - japrescott
2个回答

13

你可以使用Sublime Code formatter插件,支持JavaScript/JSON美化功能,这个链接将展示如何使用它。

或者另一种方式是将代码插入到Key Bindings - User文件中:

{"keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false}}

@japrescott 我不再使用Sublime Text了。如果这对你有用,我会接受这个答案。 - eye_mew
内置的 reindent 无法按预期格式化代码。相反,它将变为“按键入方式”,因为这是 st3 认为应该的方式。 - user2418306

0

这是因为Sublime的smart_indent不够智能。

您可以使用代码格式化插件(如JsFomat)事后修复缩进。

或者预防性地缩进第一个链接方法调用。以下行将具有相同级别的缩进。 通过创建新的键绑定,可以稍微改进此解决方案:

    {
        "keys": ["alt+enter"],
        "command": "insert",
        "args": {"characters": "\n\t"}
    }

alt+enter而不是enter, tab进行换行以获得额外的缩进。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接