2010-09-08 15 views
52

Uso Beyond Compare (versione 3.1.10) per confrontare diverse versioni di Delphi Form Files, ma non voglio vedere le differenze riguardanti ExplicitTop, ExplicitLeft, ExplicitHeight e ExplicitWidth.Come faccio a fare in modo che Beyond Compare ignori certe differenze confrontando le versioni di Delphi Form File

Dettagli: Queste righe inizieranno sempre con un numero di caratteri di spaziatura, quindi "ExplicitXXX =" e un numero. Le versioni precedenti di Delphi non avevano queste linee, quindi voglio ignorare le differenze in cui queste righe vengono aggiunte alla versione più recente, e voglio anche ignorare le differenze in cui il numero è cambiato.

Qualcuno sa come fare?

Edit: duplicati (più o meno) di:

How do I configure BeyondCompare to ignore SCM replaced text in comments?

+0

possibile duplicato di [Come configurare BeyondCompare per ignorare SCM sostituito testo nei commenti?] (Http://stackoverflow.com/questions/3652301/how-do-i-configure-beyondcompare-to-ignore- scm-replace-text-in-comments) –

+0

Ma con una risposta migliore qui IMO .... –

+0

L'altra domanda riguarda la corrispondenza del testo all'interno di altri elementi grammaticali (commenti, stringhe) e BC non supporta gli elementi grammaticali di nidificazione ancora, quindi la soluzione qui non funzionerà lì. –

risposta

77
  1. Caricare un paio di file DFM che mostrano la differenza.
  2. Fai clic sul Impostazioni di Sessione pulsante (aka Regole w/arbitro icona) oppure utilizzare il Sessione - Impostazioni>sessione voce di menu.
  3. Passare alla scheda Importanza quindi fare clic sul pulsante Modifica grammatica ... per aprire una seconda finestra di dialogo.
  4. Fare clic sul pulsante Nuovo ... sotto la casella di elenco superiore per aprire una terza finestra di dialogo.
  5. Modificare il Nome elemento opzione a qualcosa di simile Explicit*, modificare il testo corrispondente-Explicit(Left|Top|Width|Height) = \d+ e verificare il tipo di carattere Partita e espressioni regolari caselle di controllo, quindi fare clic su Ok, quindi fare clic su Ok di nuovo nella seconda finestra di dialogo.
  6. Explicit* dovrebbe apparire in Grammar Elementi lista della finestra di dialogo originale. Deselezionarlo, quindi modificare la casella combinata nella parte inferiore della finestra di dialogo da Utilizzare per questa vista solo a Aggiorna impostazioni predefinite di sessione.
+3

Risposta favolosa, proprio quello che speravo. Non si può battere una buona soluzione :-) –

+5

Soprattutto quando viene dalla bocca del cavallo stesso. – LachlanG

+2

Nota che queste istruzioni descrivono come definire il testo come "Non importante", che (di default) sarà ancora visibile (e colorato in blu). Puoi ignorare/nascondere il testo blu con la levetta "Ignora le differenze insignificanti". – kmote

9

Non faccio uso di Beyond Compare, ma se si vuole avere nuove versioni di Delphi fermata aggiungendo il (IMO inutile) Explicit* proprietà, è possibile utilizzare Andreas Hausladen's DDevExtensions

+1

+1. Ho installato DDevExtensions qualche tempo fa per sbarazzarmi di queste proprietà e non me ne sono pentito fino ad ora. –

+1

Questo è parte del problema. Alcuni sviluppatori del mio team usano questa estensione, altri no. –

+0

@Svein: non riesci a convincerli che la roba di Explicit * è più che superflua? –

3

Nel mio caso (C#), volevo ignorare l'intera riga che conteneva spazi dei nomi (e quindi, l'uso di) che ho cambiato. (Referenced Walkthrough - Ignore entire line if text exist in line

es.

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

Per fare ciò

Nel passaggio 5.della soluzione di Craig, modificare il testo corrispondente a

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

(includere le virgolette)

Questo è tutto.

2

La risposta di Craig Peterson è corretta. N.B. Però! La scheda 'importanza' non è sempre visibile dalle impostazioni di sessione/sessione. Sempre, dall'interno di una vista elenco cartelle, non sarà lì. Sembra che ci siano alcuni tipi di file che non ce l'hanno neanche, anche se su questo sono meno chiaro. BC ha così tante opzioni e plugin che scommetto che c'è una soluzione, ma per me sono stato ok finora. http://www.scootersoftware.com/vbulletin/showthread.php?t=8457