Переформатирование смешанного содержимого 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.

После многих попыток у меня складывается впечатление, что это невозможно. Я отправил запрос на добавление функции:

http://youtrack.jetbrains.com/issue/IDEA-119650

Другие вопросы по тегам