В Eclipse JDT есть такая полезная функция – автоформатирование по Ctrl+Shift+F. Но с ней связан один недостаток – в то время как она отлично исправляет отступы, с переносом строк у форматтера проблемы. В частности, регулярно возникает ситуация, когда аргумент а-ля final Object context оказывается разбит на две строки. В результате получается нечитабельный конгломерат вроде:
public IAdvancement.IInstance instantiate(final Class
clazz, final ICharacter character, final IHandler
handler, final Object context) throws
InapplicableException, CancelledException,
HandlerException
В то же время, если отменить переносы строк, то форматтер разворачивает весь этот текст в одну строку, убегающую далеко за правый край экрана. Недавно нашел способ как заставить форматтер сохранять переносы в тех местах, где я хочу разорвать строку. Для этого нужно сначала отключить переносы строк (т.е., установить максимальную длину строки в скажем, 800 символов), а затем “помечать” переносы через //:
public IAdvancement.IInstance instantiate(final Class clazz, //
final ICharacter character, final IHandler handler, final Object context) //
throws InapplicableException, CancelledException, HandlerException
Конечно, это костыль, но как минимум для собственных проектов, которые гарантированно будут писаться только в Eclipse, – вполне приемлемое решение.
192
В Eclipse JDT есть такая полезная функция – автоформатирование по Ctrl+Shift+F. Но с ней связан один недостаток – в то время как она отлично исправляет отступы, с переносом строк у форматтера проблемы. В частности, регулярно возникает ситуация, когда аргумент а-ля
final Object contextоказывается разбит на две строки. В результате получается нечитабельный конгломерат вроде:public IAdvancement.IInstance instantiate(final Class clazz, final ICharacter character, final IHandler handler, final Object context) throws InapplicableException, CancelledException, HandlerExceptionВ то же время, если отменить переносы строк, то форматтер разворачивает весь этот текст в одну строку, убегающую далеко за правый край экрана. Недавно нашел способ как заставить форматтер сохранять переносы в тех местах, где я хочу разорвать строку. Для этого нужно сначала отключить переносы строк (т.е., установить максимальную длину строки в скажем, 800 символов), а затем “помечать” переносы через
//:public IAdvancement.IInstance instantiate(final Class clazz, // final ICharacter character, final IHandler handler, final Object context) // throws InapplicableException, CancelledException, HandlerExceptionКонечно, это костыль, но как минимум для собственных проектов, которые гарантированно будут писаться только в Eclipse, – вполне приемлемое решение.