Игорь Столяров писал(а):Предвкушаю узнать много нового и интересного ...
Какая-то у вас несмешливо-враждебная реакция на мои слова. В конце-концов раз вам не нравится реализация фичи и нет желания конструктивно побеседовать о ее улучшении, выключите ее и всех делов. Благо есть даже несколько степеней ее выключения.
Игорь Столяров писал(а):Т.е. мысли о том, что по нажатию ENTER я просто хочу вставить строку, а "не завершать конструкцию" Вы не допускаете ? Забавно ! Ну да ладно ...
Вставляя новую строку после некого завершенного кода, вы тем самым подтверждаете его завершенность
Если конструкция не закончена (стоит символ '|'), то автоформаттер поведет себя несколько по-другому, хотя введенный кусок отформатирует.
Игорь Столяров писал(а):Тогда другой вопрос: а что есть "конструкция, которая завершается по нажатию ENTER" ?
Это просто предыдущая строка или действительно некоторый блок из нескольких строк текста ?
В принципе это просто предыдущая строка, т.е. строка, после которой вы нажали enter, поскольку автоформаттер не будет менять другие строки. Но, естественно, автоформаттер анализирует, что именно вы сейчас вводите и соответственно форматирует введенную строку (+ делает соответствующий отступ на новой строке). (см. "ну и самое главное" в конце)
Игорь Столяров писал(а):Я поясню. Как Вы наверно догадываетесь, кроме написания нового текста (когда после написания каждой строки нажимается ENTER), к сожалению еще иногда приходится РЕДАКТИРОВАТЬ уже написанный ранее текст.
Внесение изменений далеко не всегда завершается нажатием ENTER (как я теперь узнал - признаком завершения конструкции) в редактируемой строке. И что тогда ? Точнее что есть "конструкция", которую завершает нажатие ENTER ? Заранее спасибо.
Автоформаттер в коде занимается только отступами. Поэтому, если вы что-то поменяли в существующей строке, то ему ничего и не надо делать. Редактируйте себе на здоровье. Если же ваши изменения приводят к тому, что дальнейший текст становится "неформатированным" (например, вы заменили IF... на другой код и теперь дальнейший текст не должен иметь дополнительного отступа), то вы можете либо отформатировать его сами (выделить текст и нажать Tab/Shift+Tab), либо выделить текст и нажать Ctrl+I, чтовы автоформаттер его переформатировал. Ctrl+I можно нажать и без выделения текста, чтобы дать команду переформатировать текущую строку, раз ее форматирование вас не устраивает, но enter в конце вам нажимать не надо.
Автоформаттер это просто механизм, который позволяет вам не думать об отступах для форматирования кода при его редактировании, потому, что вставляет отступы автоматически. То, что вы замечаете, что строка после enter`а изменяется, означает, что ваше представление о форматировании кода не совпадает с представлением автоформаттера. У него есть некоторое количество настроек, чтобы можно было его подстроить под себя. Если какой-то настройки не хватает, я с удовольствием про нее послушаю, желательно с примером кода, как должно форматироваться. Его можно совсем отключить, поставив например режим Automatic.
Ну и самое главное. Автоформаттер будет нормально работать только если весь код в файле
уже отформатирован. Если же в файле форматирование произвольное, то естественно то, что делает автоформаттер, чаще всего не будет совпадать с тем, что имеется в тексте. Весь текст отформатировать тоже просто, Ctrl+A, Ctrl+I.