Кто-нибудь придумал продолжение строки исправления (в стиле Python) в Sublime Text 2?

Проблема, о которой я говорю, - это поведение отступов списков и других вещей в Python, когда они расположены на двух строках. Результат, который я ищу, заключается в том, что Sublime автоматически делает отступы, как в этом примере, делая код немного красивее:

def testmethod(argument1, argument2,
               argument3, argument4):
    pass

Но в Sublime, когда вы нажимаете ввод после строки 1, а затем вводите остальные аргументы, происходит следующее:

def testmethod(argument1, argument2,
    argument3, argument4):
    pass

Очевидно, это не очень читабельно (и не соответствует соглашениям о стиле PEP 8). Я погуглил и нашел несколько нерешенных тем, без решений. Запуск последней версии Sublime Text 2 на Mac. Любая помощь будет оценена по достоинству.


person artemisc360    schedule 04.06.2012    source источник
comment
У меня не бывает. Вы делаете отступы, используя пробелы?   -  person Mikko Ohtamaa    schedule 05.06.2012
comment
Я могу сделать отступ до этого уровня, просто он не делает этого автоматически. У меня сложилось впечатление, что большинство IDE автоматически устанавливают отступ продолжения строки до того же уровня, что и первое значение в предыдущей строке.   -  person artemisc360    schedule 05.06.2012


Ответы (1)


Это можно (частично) исправить, добавив:

"indent_to_bracket": true

в ваш файл Packages/User/Preferences.sublime-settings (linux). Но, к сожалению, в настоящее время это работает только для (), а не для {}[].

person fraxel    schedule 09.06.2012
comment
Я не думаю, что есть аналогичная настройка, если кто-то предпочитает двойной отступ (а не indent_to_bracket)? - person A. Wilson; 17.11.2012
comment
PEP8 указывает, что indent_to_bracket следует применять только в том случае, если в первой строке указан хотя бы 1 аргумент. В противном случае следует использовать одиночный отступ (двойной отступ, когда следующий блок кода будет иметь отступ, например, во время оператора if). Indent_to_bracket Sublime применяется во всех ситуациях, что неправильно. - person Jonathan Richards; 26.05.2019