Как заставить Beyond Compare игнорировать определенные различия при сравнении версий файлов форм Delphi - PullRequest
55 голосов
/ 08 сентября 2010

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

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

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

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

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

Ответы [ 4 ]

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

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

Андреаса Хаусладена
3 голосов
/ 24 августа 2012

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

есть.

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

Для этого

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

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

(включая кавычки)

Вот и все.

2 голосов
/ 07 февраля 2013

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

...