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

Я использую Beyond Compare (версия 3.1.10) для сравнения разных версий Delphi Form Files, но я не хочу видеть различия, касающиеся ExplicitTop, ExplicitLeft, ExplicitHeight и ExplicitWidth.

Детали: Эти строки всегда начинаются с количества пробельных символов, затем "ExplicitXXX = " и цифры. В более старых версиях Delphi не было этих строк, поэтому я хочу игнорировать различия, когда эти строки добавляются в новейшую версию, и я также хочу игнорировать различия, когда число изменилось.

Кто-нибудь знает как это сделать?

Изменить: Дублировать (более или менее) из:

Как настроить BeyondCompare на игнорирование замененного текста SCM в комментариях?

4 ответа

Решение
  1. Загрузите пару файлов DFM, показывающих разницу.
  2. Нажмите кнопку " Настройки сеанса" (также называемый " Правила с символом судьи") или используйте пункт меню " Сеанс->Настройки сеанса".
  3. Перейдите на вкладку " Важность ", затем нажмите кнопку " Изменить грамматику...", чтобы открыть второй диалог.
  4. Нажмите кнопку " Создать" под верхним списком, чтобы открыть третий диалог.
  5. Измените параметр Имя элемента на что-то вроде Explicit*измените соответствие текста на Explicit(Left|Top|Width|Height) = \d+ и установите флажки Соответствовать регистру символов и Регулярное выражение, затем нажмите Ok, затем снова нажмите Ok во втором диалоговом окне.
  6. Explicit* должен появиться в списке элементов грамматики исходного диалога. Снимите этот флажок, затем измените поле со списком в нижней части диалогового окна с Использовать только для этого представления на Обновлять параметры сеанса по умолчанию.

Я не использую Beyond Compare, но если вы хотите, чтобы более новые версии Delphi прекратили добавлять (IMO бесполезно) Explicit* свойства, вы можете использовать Андреас Хаусладен DDevExtensions

Крейг Петерсон ответ правильный. NB Однако! Вкладка "Важность" не всегда видна в настройках Session/Session-settings. Всегда внутри представления списка папок его там не будет. Кажется, есть определенные типы файлов, у которых его тоже нет, хотя я не совсем уверен в этом. У BC есть так много опций и плагинов, что держу пари, что есть обходной путь, но пока я был в порядке. http://www.scootersoftware.com/vbulletin/showthread.php?t=8457

В моем случае (C#) я хотел игнорировать всю строку, которая содержала пространства имен (и, следовательно, используя), которые я изменил. ( Ссылочное прохождение - игнорировать всю строку, если текст существует в строке

то есть.

namespace INSERT.NAMESPACE.HERE 
      changed to 
namespace INSERT.NAMESPACE.HERE.NEW

Для этого

На шаге 5. решения Крейга измените Text Matching на

" .\*INSERT.NAMESPACE.HERE.\* "

(включите цитаты)

Вот и все.

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