Я хотел бы использовать перенос строк после оператора для строк и переноса строк перед оператором для других элементов (числа, пользовательские объекты,..) в Eclipse для Java.
При добавлении чисел с разными знаками операторы для меня важнее, чем числа. Было бы неплохо, если бы операторы на фронте лучше прочитали утверждение:
а.
int foo = baaa
+ veryveryveryloooooongexpression
- shortexpression
+ anotherexpression;
против.
В.
int foo = baaa +
veryveryveryloooooongexpression -
shortexpression +
anotherexpression;
С другой стороны, при добавлении строк, оператор просто используется для продолжения строки, а элементы String для меня важнее. Оператор в конце строки дает подсказку, что что-то происходит в следующей строке. Поэтому я хотел бы использовать перенос строк после оператора для строк:
В.
String message = "Would you like to use line wrapping at " + position +
" ? If you want to keep that behavior press Enter."
против.
а.
String message = "Would you like to use line wrapping at " + position
+" ? If you want to keep that behavior press Enter."
Статьи по теме:
-
Изменение способа форматирования eclipse обертывает длинные строки
-
https://softwareengineering.stackexchange.com/info/93670/line-break-before-after-operator
(В некоторых случаях, конечно, лучше бы улучшить код и использовать одну строку, использовать String.format(...) или использовать String Builder. Здесь не вопрос.)
Как я могу применить различные параметры переноса строки A. (перед оператором) и B. (после оператора) для двух разных случаев (первый элемент - это String vs. first item - это что-то еще) в Eclipse? Есть ли какие-то настройки по умолчанию, которые я не видел? Есть ли плагин Eclipse, который может это сделать?
(Еще несколько комментариев:
- Изменить: Следующий комментарий действителен только для Eclipse 4.4.2 (Luna) и уже исправлен в Eclipse 4.5 (Mars):
Я не получил обертывание после того, как оператор (Б.) корректно работал, когда переносил аргумент String внутри вызова функции, даже если бы я хотел применить его для обоих случаев. Я включил опцию "Wrap before operator" для двоичных выражений и отключил общий параметр "Никогда не присоединяй уже завернутые строки". Тем не менее оператор + в следующем примере появляется в следующей строке. Я отправил отчет об ошибке в https://bugs.eclipse.org/bugs/show_bug.cgi?id=466919.
statusBuilder.append("This set is not yet present in the database!\n"
+ "You can save it by hitting the 'Save' button below.\n");
-
Если я нажимаю Return в середине строки, eclipse корректно переносит строку до или после оператора, в зависимости от параметра "Wrap before operator" для двоичных выражений.
-
Модуль checkstyle Whitespace = > Operator Wrap не поддерживает дополнительные настройки для конкатенации строк.
)