Линеаризовать определенный узел документа XML/HTML для вертикального редактирования в Notepad++

Для того, чтобы легко изменить в вертикальном выделении огромное количество ячеек в таблице в одном выделении с вертикальной вставкой. (вставка в каждой строке из списка, который имеет разное значение в каждой строке).

Я хотел бы сделать это внутри Notepad++ только без необходимости что-либо программировать.

То, что у меня есть с самого начала, - это обычное содержимое таблицы <Tbody>, подобное этому:

    <tbody>
    <tr>
        <td>
            MachineType 
        </td>
        <td>
            Yt_GP_MachineType
        </td>
        <td/>
        <td>
            MyMachine.MachineType
        </td>
    </tr>
    <tr>
        <td>
            Variant 
        </td>
        <td>
            Yt_GP_Variant
        </td>
        <td>
        </td>
        <td>
            MyMachine.Variant
        </td>
    </tr>
    <tr>
        <td>
            Emulation
        </td>
        <td>
            Yt_GP_Emulation
        </td>
        <td>
        </td>
        <td>
            MyMachine.Emulation
        </td>
    </tr>

И я хотел бы иметь макрос, который линеаризует и выравнивает все узлы <tr> и ниже в одной строке, например:

    <tbody>
    <tr><td>    MachineType </td><td>   Yt_GP_MachineType   </td><td></td><td>  MyMachine.MachineType   </td></tr>
    <tr><td>    Variant     </td><td>   Yt_GP_Variant       </td><td></td><td>  MyMachine.Variant       </td></tr>
    <tr><td>    Emulation   </td><td>   Yt_GP_Emulation     </td><td></td><td>  MyMachine.Emulation     </td></tr>

Примечание: автоматическое выравнивание каждого узла <td> и </td> важно, и плагин «Выравнивание кода» Notepad++ не работает, если я упомянул выравнивание по... (CTRL+SHIFT+=) «<» для моя часть. В настоящее время я делаю это вручную...

Примечание 2. Подключаемый модуль Linearize или Pretty print из XML Tool не решает мою проблему.

@Toto Готово, спасибо за заметку. Если у вас есть какие-либо предложения по решению моей проблемы, я был бы рад услышать об этом :)

zeldiy 30.11.2022 10:44
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Краткая история - ИМХО, вы должны написать сценарий на своем любимом языке сценариев.

Кстати, пробелы внутри <tr>...</tr> только упрощают ручное редактирование и должны быть заменены использованием CSS, например. <tbody style = "vertical-align:center;text-align:center"><tr style = "height:100px">

Но если вы действительно хотите сделать специальную линеаризацию с помощью Notepad++, вот мужской способ для Windows. Для других операционных систем вы должны адаптировать это.

  1. Приведите в порядок разные (!) теги вроде <td/>. Найдите что: <td/>, Замените на: <td></td>
  2. Аккуратный конечный пробел (см. опубликованный фрагмент HTML): в главном меню «Правка» > «Пустые операции» > «Обрезать конечный пробел».
  3. Аккуратные вкладки против пробела (см. опубликованный фрагмент HTML): из главного меню «Правка»> «Пустые операции»> «TAB в пробел».
  4. В главном меню «Плагины» > «Инструменты XML» > «Линеаризация».
  5. RegEx Сделать отдельные строки: найти что: <tr>, заменить на: \r\n<tr>
  6. RegEx Развернуть строки (изменить только tr на td): найти что: <td>, заменить на: \r\n<td>
  7. Перейти к началу первой строки, например Strg+Pos1
  8. Выровнять: Плагины > Выравнивание кода > Выровнять по...</td> (Возможно, вам потребуется установить плагин.)
  9. Если это действительно необходимо (только для ваших нужд), вставьте два пробела. Снимите флажок «Обернуть» и сначала попробуйте одиночную замену! Найдите что: <td>, Замените на: <td> . Обратите внимание на два пробела здесь!
  10. Повторить (4) — из главного меню «Плагины» > «Инструменты XML» > «Линеаризация».
  11. Повторить (5) — регулярное выражение Сделать отдельные строки: найти что: <tr>, заменить на: \r\n<tr>

Все это приводит к:

Большое спасибо, всего одна точность: «Линеаризация» преобразует всю пустую строку из <td></td> в <td/>. Затем это нужно повторять каждый раз, когда используется линеаризация. А что касается шага 11. Чтобы вернуться в одну строку, мне пришлось сделать \r\n наоборот, но я понял логику, и это нормально!

zeldiy 07.12.2022 11:11

Пожалуйста. Если ответ помог вам решить вашу проблему, не стесняйтесь пометить ответ как принятый. Вам также следует подумать о голосовании.

help-info.de 07.12.2022 18:10

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