3

В настоящее время IntelliJ (в частности, Android Studio) прерывает длинные условия следующим образом:

if (valueWithALongNameA || valueWithALongNameB && valueWithALongNameC) {
}

// becomes

if (valueWithALongNameA ||
    valueWithALongNameB &&
    valueWithALongNameC) {
}

Но наши соглашения о кодировании заставляют нас форматировать их так:

if (valueWithALongNameA || valueWithALongNameB && valueWithALongNameC) {
}

// becomes

if (valueWithALongNameA
    || valueWithALongNameB
    && valueWithALongNameC) {
}

Обратите внимание, что || и && после новой строки в нашем стиле. Есть ли способ заставить IntelliJ делать это с помощью автоформатов?

Основная проблема заключается в том, что я использую автоформат для обеспечения того, чтобы мой код был отформатирован в соответствии с нашими стандартами, но это приводит к ненужному изменению правильно отформатированных условных выражений, что приводит к изменению различий.

Я не мог найти ничего, что было бы актуально в настройках:

Большинство настроек форматирования в Android Studio

Я попытался вывести все настройки на экран одновременно, но мне пришлось отключить некоторые из них, поэтому я исключил опции "Сохранить при переформатировании" и «Убедитесь, что правое поле не превышено». Все они проверяются, кроме "Разрывы строк", "Оператор управления в одной строке" и "Несколько выражений в одной строке". Заголовок отрезанной секции - "Размещение скобок".

1 ответ1

3

Я хочу противоположность того, что вы хотите, но это настройка (OSX, 14.1.3). Это по общему признанию не очевидно.

Скриншот

Скриншот

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .