Игнорировать символы, отличные от UTF-8, в Beyond Compare

Мой проект включает в себя некоторые единицы измерения, которые выражаются с помощью символов, отличных от UTF-8, таких как квадратный символ. В большинстве редакторов они отображаются со следующим символом: �.

Я сравниваю части исходного кода с beyond compare и хотел бы игнорировать случаи, когда появляется этот символ. Я пробовал с этими двумя решениями:

Без сравнения - игнорировать определенные текстовые строки?

Как заставить Beyond Compare игнорировать определенные различия при сравнении версий файлов форм Delphi

но в обоих случаях различия по-прежнему отмечены красным (? против � или ² против �). Как я могу это исправить?


person Manfredo    schedule 14.12.2016    source источник


Ответы (1)


Если символы являются непечатаемыми, вы можете определить их как неважный текст в программе сравнения текста Beyond Compare 4, используя шестнадцатеричное значение.

В качестве примера предположим, что это верхний индекс 2, квадратный символ с шестнадцатеричным значением 0x00B2.

  1. Загрузите файлы в Text Compare.
  2. Нажмите кнопку панели инструментов «Правила» (значок рефери).
  3. На вкладке «Важность» нажмите «Изменить грамматику».
  4. На вкладке Грамматика нажмите +.
  5. Название элемента: Квадрат
  6. Сопоставление текста: \x{00B2}
  7. Проверить регулярное выражение
  8. Нажмите «ОК».
  9. Нажмите «ОК».
  10. В списке элементов Grammar снимите флажок Squared, чтобы сделать его неважным.
  11. Нажмите «ОК».

Если Вид | Игнорировать неважный текст включен, различия, совпадающие с Squared, будут отображаться как совпадения (черные). Если он выключен, различия, совпадающие с Squared, будут отображаться синим цветом.

В приведенных выше инструкциях регулярное выражение \x{nnnn} соответствует символу с шестнадцатеричным значением nnnn.

Использованная литература:

Надстрочный индекс 2 символа Юникода

Определить неважный текст в Beyond Compare

Дополнительная справка — справочник по регулярным выражениям

person Chris Kennedy    schedule 15.12.2016
comment
Хорошо, мне действительно удалось сделать отображение символа черным или синим цветом, по флагу игнорировать несущественные различия. Однако на курсоре все еще есть красная линия, где появляется символ. Есть ли способ действительно игнорировать эти типы различий. - person Manfredo; 16.12.2016
comment
Для диагностики этой проблемы может потребоваться снимок экрана с изображением проблемы и пара файлов примеров. Если вы не хотите публиковать их публично, отправьте их по электронной почте [email protected] со ссылкой на эту страницу, и мы проведем расследование. - person Chris Kennedy; 16.12.2016