Переформатирование смешанного содержимого XML в IntelliJ IDEA
Я хочу запретить IDEA вставлять разрывы строк вокруг определенных элементов, аналогично форматированию HTML, где определенные элементы (например, <b>
) хранятся в строке.
У меня есть диалект XML с DTD, который объявляет смешанный контент.
DTD:
<!ELEMENT mixed (#PCDATA|inline)*>
<!ELEMENT inline #PCDATA>
XML-файл:
<mixed>
Some text with <inline>inline elements</inline>
and a line break.
</mixed>
Когда я переформатирую файл XML, IDEA преобразует его в
<mixed>
Some text with
<inline>inline elements</inline>
and a line break.
</mixed>
Я рассмотрел все варианты стиля кода->XML-> Другие. Параметр "Сохранить пробелы" является слишком строгим, поскольку я хочу, чтобы IDEA разбивала длинные строки.
2 ответа
В IDEA 13 вы можете использовать новую функцию контроля форматирования, чтобы отключить автоформатирование выбранных строк кода. Чтобы включить эту функцию, вы должны отметить следующий флажок в настройках проекта:
Затем вставьте выбранные маркеры в комментарии, чтобы разграничить фрагменты кода, которые не следует форматировать с помощью инструмента " Переформатировать код", например:
<root>
<!-- @formatter:off -->
<mixed>
Some text with <inline>inline elements</inline>
and a line break.
</mixed>
<!-- @formatter:on -->
<mixed>
Some text with
<inline>inline elements</inline>
and a line break.
</mixed>
</root>
К сожалению, в предыдущих версиях IDEA такой функции не было, и в этом случае единственный известный мне вариант - отформатировать код вручную и не использовать инструмент Reformat Code.
После многих попыток у меня складывается впечатление, что это невозможно. Я отправил запрос на добавление функции: