Интеллектуальный отступ PyCharm не работает?

#django #pycharm

#django #pycharm

Вопрос:

Возможно, я неправильно понимаю, что такое интеллектуальный отступ. Когда я печатаю:

 urlpatterns = patterns('some_model.views',
 

после нажатия enter не будет ли следующая строка местом, где можно было бы ожидать «интеллектуального отступа»? Как и сейчас, курсор ставится вообще без каких-либо отступов.

Ответ №1:

Интеллектуальный отступ появляется, когда вы указали закрывающую скобку, т.е.

 urlpatterns = patterns('some_model.views', 
)
# if you press 'enter' after the comma, the newline will be indented.
 

При этом, если вы обычно используете автозаполнение, вы должны patterns() автоматически использовать обе круглые скобки. Курсор будет находиться внутри круглой скобки, что по умолчанию дает вам «интеллектуальный отступ» при нажатии enter .

Обратите внимание, что это также имеет место при работе со словарями или списками в python. Автоматический отступ не будет активирован, если у вас также нет закрывающего } или ] для вашего словаря / списка соответственно.

Комментарии:

1. Это странно, потому что у меня включено автозаполнение, и я не получаю интеллектуальный отступ в приведенном выше сценарии. Это работает в вашей настройке?

2. Включен ли у вас интеллектуальный отступ в настройках? Перейдите в настройки -> Редактор -> Смарт-ключи. Посмотрите, установлен ли флажок для интеллектуального отступа.

Ответ №2:

Я полагаю, ответ должен заключаться в том, что интеллектуальный отступ на данный момент непоследователен.