Некорректно работает автоформатирование кода

Доброго времени суток.  Одной из немаловажных составляющих IDE для меня является наличие нормального автоформатора кода.  В этот направлении вы безусловно делаете весьма ощутимые шаги, однако разработка автоформатора на мой взгляд идет недостаточно быстро. В частности не работают некоторые опции в Code Style. Например в секции "if() statement"  (Wrapping and Braces) установка либо отключение опции "else on new line" не производит абсолютно никакого эффекта и никак не влияет на результат работы алгоритма  форматирования кода. Были замечены также частичная либо полная неработоспособность некоторых других опций.  Такая незавершенность автоформатора мешает мне в частности остановиться на вышей  IDE как на основной среде разработки и приобрести лицензию. Планируете ли вы исправление багов и расширения функционала автоформатора? И, если планируете, то как скоро?

4 comments
Comment actions Permalink

Which context is that: PHP or JavaScript ? Please note that in "Settings | Copde Style | Wrapping and Braces" the same options may have different values depending on which Language tab you are currently on: JavaScript or PHP.

Code example:

<?php

$a = 2;
if ($a == 3) $b = 1; else $b = 100;

Formatter settings for if() statement:
Force braces: do not force
'else' on new line: yes/checked

After applying Code | Reformat Code:

<?php

$a = 2;

if ($a == 3) $b = 1;
else $b = 100;

0
Comment actions Permalink

Я имею ввиду следующую ситуацию для PHP-кода:
if() statement:
force braces - Always
'else'  on new line -  not checked

Почему собственно после форматирования кода с указанными установками я могу наблюдать следующую картину:
....
}
else {
....


Объясните, пожалуйста в чем логика такого поведения и в чем я не прав?

P.S. Кроме того часто повторяется ситуация когда некоторые настройки не сохраняются либо сбрасываются по непонятной причине.

0
Comment actions Permalink

Есть ещё настройка "Keep line breaks". Если она установлена, то существующие переносы строк сохраняются. Если есть сомнения в правильности работы IDE, пожалуйста добавьте баг в http://youtrack.jetbrains.net. Желательно максимально точно указать, что именно не работает с соответствующим примером. В YouTrack также можно найти планируемый релиз, в котором баг будет исправлен.

0
Comment actions Permalink

Кстати, Вы используете версию 1.0 или 2.0 EAP? В 2.0 многие баги были исправлены. В частности, я репортил этот баг http://youtrack.jetbrains.net/issue/WI-2040 и он был исправлен уже в EAP версии 2.0.

0

Please sign in to leave a comment.