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, – вполне приемлемое решение.

This entry was posted in Uncategorized and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>