14

Как я печатаю следующий яваскрипта код (точные нажатия клавиш):Автоматический метод отступа цепочки в Sublime Text 3

myObject 
.doSomething() 
.doSomethingElse(); 

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

myObject 
    .doSomething() 
    .doSomethingElse(); 

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

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

+0

Я также ищу эту функцию. Вы что-нибудь нашли? – japrescott

ответ

13

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

Или другой способ, чтобы вставить код внутри Key Bindings - User файла:

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

@japrescott Я больше не использую возвышенный текст. Если это сработает для вас, я приму этот ответ. –

+0

Построенный в 'reindent' не будет форматировать код, как ожидалось. В противоположность этому он станет «как напечатан», потому что это способ, которым «st3» считает, что это должно быть. – user2418306

0

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

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

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

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

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

Смежные вопросы