Как заставить Beyond Compare игнорировать определенные различия при сравнении версий Delphi Form Files
Я использую Beyond Compare (версия 3.1.10) для сравнения разных версий файлов Delphi Form, но я не хочу видеть различий в отношении ExplicitTop, ExplicitLeft, ExplicitHeight и ExplicitWidth.
Подробнее:
Эти строки всегда начинаются с нескольких пробельных символов, затем "ExplicitXXX =" и числа. В более старых версиях Delphi не было этих строк, поэтому я хочу игнорировать различия, когда эти строки добавляются в самую новую версию, и я также хочу игнорировать различия, в которых число изменилось.
Кто-нибудь знает, как это сделать?
Изменить:
Дубликат (более или менее):
Как настроить BeyondCompare для игнорирования текста, замененного SCM, в комментариях?
Ответы
Ответ 1
- Загрузите пару файлов DFM, показывающих разницу.
- Нажмите кнопку Настройки сеанса (aka Правила с символом/ударом) или используйте Сессия → Настройки сеанса strong > пункт меню.
- Перейдите на вкладку Важность, затем нажмите кнопку Изменить грамматику..., чтобы открыть второе диалоговое окно.
- Нажмите кнопку Создать... под верхним списком, чтобы открыть третий диалог.
- Измените параметр Element Name на
Explicit*
, измените соответствие текста на Explicit(Left|Top|Width|Height) = \d+
и проверьте Случай символа соответствия и Регулярное выражение, затем нажмите ОК, затем во втором диалоговом окне снова нажмите ОК.
-
Explicit*
должен теперь отображаться в исходном диалоговом окне Grammar Elements. Снимите флажок, а затем измените выпадающее поле внизу диалогового окна Использовать только для этого представления до Обновить значения по умолчанию.
Ответ 2
Я не использую Beyond Compare, но если вы хотите, чтобы более новые версии Delphi перестали добавлять (IMO-бесполезные) Explicit*
свойства, вы можете использовать Andreas Hausladen DDevExtensions
Ответ 3
В моем случае (С#) я хотел проигнорировать всю строку, содержащую пространства имен (и, следовательно, используя), которые я изменил.
(Ссылка пошагового руководства - Игнорировать всю строку, если текст существует в строке
т.
namespace INSERT.NAMESPACE.HERE
changed to
namespace INSERT.NAMESPACE.HERE.NEW
Для этого
На шаге 5. решения Крейга измените соответствие текста на
" .\*INSERT.NAMESPACE.HERE.\* "
(включая кавычки)
Что это.
Ответ 4
Ответ Крейга Петерсона правильный.
Нотабене Однако! Значение важности вкладки не всегда видно из настроек сеанса/сеанса. Всегда, изнутри списка списка папок, его там не будет. Кажется, что есть определенные типы файлов, которые тоже не имеют этого, хотя я менее понятен в этом. У BC есть так много вариантов и плагинов. Я уверен, что есть обходной путь, но для меня я до сих пор был в порядке.
http://www.scootersoftware.com/vbulletin/showthread.php?t=8457