Автоматическое связывание метода в столбце Sublime Text 3

Когда я набираю следующий код javascript (точные нажатия клавиш):

myObject
.doSomething()
.doSomethingElse();

Я ожидаю, что он автоматически станет следующим...

myObject
    .doSomething()
    .doSomethingElse();

... как и любой другой программист, правильно?

Как включить это и почему он не включен по умолчанию?

Ответы

Ответ 1

Вы можете использовать форматировщик Sublime Code с поддержкой JavaScript/JSON Beautifier, покажет вам, как использовать этот плагин.

Или другим способом является вставка кода внутри файла Key Bindings - User:

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

Ответ 2

Это происходит потому, что возвышенный smart_indent недостаточно умен.

Вы можете исправить postent factum с помощью модуля форматирования кода, например JsFomat.

Или предикативный вызов метода первого вызова. Следующие строки будут иметь одинаковый уровень отступов. Это решение можно немного улучшить, создав новое связывание ключей:

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

Нажмите alt+enter вместо enter, tab, чтобы новая строка имела дополнительный отступ.