web-dev-qa-db-fra.com

Comment faire pour que Beyond Compare ignore certaines différences lors de la comparaison des versions de Delphi Form Files

J'utilise Beyond Compare (version 3.1.10) pour comparer différentes versions de Delphi Form Files, mais je ne veux pas voir de différences concernant ExplicitTop, ExplicitLeft, ExplicitHeight et ExplicitWidth.

Détails: Ces lignes commenceront toujours par un certain nombre de caractères d'espacement, puis "ExplicitXXX =" et un nombre. Les anciennes versions de Delphi n'avaient pas ces lignes, donc je veux ignorer les différences où ces lignes sont ajoutées à la version la plus récente, et je veux aussi ignorer les différences où le nombre a changé.

Est-ce que quelqu'un sait comment faire ça?

Modifier: Dupliquer (plus ou moins) de:

Comment configurer BeyondCompare pour ignorer le texte remplacé par SCM dans les commentaires?

55
Svein Bringsli
  1. Chargez une paire de fichiers DFM montrant la différence.
  2. Cliquez sur le bouton Paramètres de session (alias Règles avec l'icône d'arbitre) ou utilisez le menu Session -> Paramètres de session article.
  3. Passez à l'onglet Importance puis cliquez sur le bouton Edit Grammar ... pour ouvrir une deuxième boîte de dialogue.
  4. Cliquez sur le bouton Nouveau ... sous la zone de liste supérieure pour ouvrir une troisième boîte de dialogue.
  5. Remplacez l'option Nom de l'élément par quelque chose comme Explicit*, Remplacez Correspondance de texte par Explicit(Left|Top|Width|Height) = \d+ et vérifiez le Caractère de correspondance case et Expression régulière cases à cocher, puis cliquez sur Ok, puis cliquez à nouveau sur Ok dans la deuxième boîte de dialogue.
  6. Explicit* Devrait maintenant apparaître dans la liste Grammar Elements de la boîte de dialogue d'origine. Décochez-la, puis modifiez la zone de liste déroulante en bas de la boîte de dialogue de à utiliser pour cette vue uniquement à Mettre à jour les paramètres par défaut de la session.
85
Zoë Peterson

Je n'utilise pas Beyond Compare, mais si vous voulez avoir des versions plus récentes de Delphi, arrêtez d'ajouter le (IMO inutile) Explicit* propriétés, vous pouvez utiliser les extensions DDevExtensions d'Andreas Hausladen

9
jasonpenny

Dans mon cas (C #), je voulais ignorer la ligne entière qui contenait des espaces de noms (et donc, en utilisant des) que j'ai changé. ( Procédure pas à pas référencée - Ignorer la ligne entière si le texte existe en ligne

c'est à dire.

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

Pour faire ça

À l'étape 5. de la solution de Craig, remplacez la correspondance de texte par

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

(inclure les citations)

C'est ça.

3
Neville

La réponse de Craig Peterson est correcte. N.B. Toutefois! L'onglet "importance" n'est pas toujours visible à partir des paramètres de session/session. Toujours, depuis l'intérieur d'une vue de liste de dossiers, il n'y sera pas. Il semble qu'il existe certains types de fichiers qui ne l'ont pas non plus, bien que je sois moins clair à ce sujet. BC a tellement d'options et de plugins que je parie qu'il y a une solution de contournement, mais pour moi, j'ai été ok jusqu'à présent. http://www.scootersoftware.com/vbulletin/showthread.php?t=8457

2
AnneTheAgile