Les plug-ins WinMerge sont des fichiers DLL ou des scriptlets personnalisés, écrits via l'API COM, qui prétraitent les données avant une comparaison. Par exemple, vous pouvez utiliser un plug-in pour extraire les données textuelles de fichiers MS Word afin que WinMerge puisse les comparer.
Une seule DLL ou un fichier scriptlet (sct)
Installé dans le sous-dossier MergePlugins. Un certain nombre de plug-ins
peuvent être installés pour vous par WinMerge.
Facile à installer : pour installer un plug-in non inclus dans
l'installation de WinMerge, il suffit de copier le fichier du plug-in dans
MergePlugins. Le plug-in sera
disponible à la prochaine ouverture de WinMerge. Vous pouvez trouver
d'autres plug-ins sur le Web, écrits par d'autres développeurs.
Les plug-ins sont regroupés en trois catégories principales :
Ce type de plug-in effectue des opérations personnalisées sur le texte sélectionné dans l'éditeur actif (volet fichier) de la fenêtre de comparaison de fichiers.
Ce type de plug-in transforme un fichier compressé en un format visualisable en le décompressant. Le fichier original n'est pas modifié : un fichier temporaire transformé est créé et chargé dans WinMerge.
Les plug-ins décompresseurs opèrent sur des fichiers entiers, et non sur du texte sélectionné ou des différences au sein des fichiers. Par conséquent, ils ne sont disponibles que lorsque vous lancez des comparaisons de fichiers, soit à partir de la fenêtre de comparaison de dossiers, soit à partir de la boîte de dialogue Sélectionner des fichiers ou des dossiers. Les plug-ins décompresseurs ne sont pas disponibles dans la fenêtre de comparaison de fichiers.
Parfois, le fichier décompacté peut être recompacté (voir les détails dans Plug-ins disponibles pour vérifier si un plug-in prend en charge le recompactage). Ensuite, vous pouvez fusionner et enregistrer le fichier transformé. Le compactage est effectué automatiquement dans ce cas. Par sécurité, nous vous suggérons de renommer le fichier transformé lorsque vous l'enregistrez.
Lorsque vous comparez des dossiers, WinMerge peut donner des résultats différents pour les fichiers compressés et non compressés. Par exemple, des fichiers identiques une fois décompressés pourraient être différents s'ils incluent la date de création. WinMerge applique le décompresseur dans toutes les situations, et vous êtes sûr d'avoir le même résultat lorsque vous comparez un dossier ou lorsque vous fusionnez deux versions d'un fichier.
Exemple de plug-in : CompareMSExcelFiles affiche le contenu textuel d'un fichier Microsoft® Excel.
Ce type de plug-in n'opère pas sur les fichiers sources affichés dans la fenêtre de comparaison. Il opère à la place sur des copies temporaires des fichiers, lesquelles sont ensuite analysées pour créer la liste des différences.
Exemple de plug-in : IgnoreColumns ignore les différences à l'intérieur de colonnes spécifiées, tout en affichant les caractères dans ces colonnes.
Comment WinMerge parvient-il à appliquer le bon plug-in pour un fichier donné ? Chaque plug-in spécifie une liste d'extensions de fichiers (également répertoriée dans la section Plug-ins disponibles de chaque plug-in, sous Filtre de fichier). Les extensions servent à associer un ou plusieurs types de fichiers au plug-in : lorsqu'une extension de fichier comparé correspond à une extension de la liste du plug-in, le plug-in est considéré comme un plug-in suggéré
Il existe des options WinMerge distinctes pour les types de décompactage et de prediffer, décrites plus loin dans cette rubrique, qui vous permettent d'appliquer les plug-ins soit manuellement, soit automatiquement. Il n'y a pas de mode automatique pour les plug-ins de complément d'éditeur.
Lorsque vous appliquez des plug-ins à un fichier sélectionné en utilisant le mode automatique, WinMerge recherche dans sa liste de plug-ins suggérés pour ce type de fichier et applique le premier plug-in dont le nom correspond. La recherche est effectuée par ordre alphabétique, donc s'il existe plusieurs plug-ins suggérés pour un type de fichier, seul le premier trouvé est appliqué.
Les sous-sections suivantes décrivent comment appliquer chaque type de plug-in. Les méthodes sont différentes pour chaque type de plug-in et varient également selon que vous comparez des dossiers ou des fichiers.
Le curseur étant placé dans l'un des volets de la fenêtre de comparaison de fichiers, cliquez sur → et choisissez l'une de ces fonctions :
Mettre en majuscules
Mettre en minuscules
Supprimer les lignes en double
Compter les lignes en double
Trier les lignes par ordre croissant
Trier les lignes par ordre décroissant
Inverser les colonnes
Inverser les lignes
Sélectionner des colonnes...
Sélectionner des lignes...
Remplacer...
Appliquer la commande de filtre...
Découper en jetons...
Supprimer les espaces
Insérer la date
Insérer l'heure
Ces fonctions sont ajoutées au menu par les plug-ins editor addin et insert datetime.
Les plug-ins de complément d'éditeur ne sont pas disponibles dans la fenêtre de comparaison de dossiers.
Avant d'appliquer des plug-ins décompresseurs, vous pouvez régler leur mode sur automatique ou manuel.
Pour définir le mode automatique pour ce type de plug-in, cliquez sur → .
Pour définir le mode manuel, cliquez sur → .
N'oubliez pas d'appuyer sur F5 pour recharger la fenêtre de comparaison de dossiers en utilisant le nouveau paramètre.
Pour appliquer des plug-ins lorsque le décompactage automatique est activé, lancez simplement une opération de comparaison sur un fichier dans la fenêtre de comparaison de dossiers. Si un plug-in décompresseur est suggéré pour le type de fichier, il prétraite le fichier avant que WinMerge ne l'ouvre dans la fenêtre de comparaison de fichiers.
Par exemple, supposons que vous fassiez un clic droit sur un fichier MS Word
doc et que vous choisissiez
(en supposant également que le plug-in
CompareMSWordFiles est disponible). WinMerge convertit le
fichier doc (ou plutôt une copie de celui-ci) en un fichier texte brut et
l'ouvre dans la fenêtre de comparaison de fichiers.
Le mode manuel vous permet de choisir un plug-in décompresseur différent de celui sélectionné pour vous en mode automatique. Vous pouvez également lancer la comparaison sans utiliser de plug-in.
Pour appliquer des plug-ins lorsque le décompactage manuel est activé :
Sélectionnez le fichier que vous souhaitez comparer.
Cliquez sur → .
Cet élément de menu n'est activé que si le type du fichier sélectionné est pris en charge par un plug-in de décompactage disponible.
Dans la boîte de dialogue Sélectionner un décompresseur :
Configurez la sélection automatique ou choisissez un plug-in manuellement :
Pour le mode automatique, vérifiez que <Automatique> est affiché dans le contrôle Décompresseur de fichiers.
Pour choisir un plug-in spécifique, utilisez la liste déroulante Décompresseur de fichiers.
Par défaut, seuls les plug-ins suggérés pour le type de fichier sont listés. Pour tout voir, cochez Afficher tous les compacteurs, ne pas vérifier l'extension.
Pour comparer sans plug-in, choisissez .
Cliquez sur pour fermer la boîte de dialogue.
Cliquez sur pour fermer la boîte de dialogue Sélectionner un décompresseur et lancer la comparaison de fichiers.
Vous pouvez utiliser la boîte de dialogue Sélectionner un décompresseur pour appliquer un plug-in lorsque vous lancez une comparaison de fichiers à partir de la boîte de dialogue Sélectionner des fichiers ou des dossiers. Voir Sélectionner un décompresseur pour les comparaisons de fichiers pour plus de détails.
Avec les plug-ins prediffer, vous réglez le mode (<Automatique> ou <Aucun>) ou le nom du plug-in pour des fichiers individuels. (Contrairement aux plug-ins décompresseurs, où vous réglez le mode pour tous les fichiers.) C'est-à-dire que certains fichiers d'un même dossier peuvent avoir des modes prediffer différents.
Pour régler le mode pour un ou plusieurs fichiers dans la fenêtre de comparaison de dossiers, faites un clic droit sur les fichiers et choisissez → , puis choisissez l'une des options du sous-menu :
sélectionne le premier plug-in prediffer disponible pour le type de fichier.
signifie qu'aucun plug-in prediffer n'est utilisé.
Appuyez sur F5 pour mettre à jour la fenêtre.
Lorsque vous ouvrez un sous-dossier lors d'une comparaison non récursive, le mode est toujours réinitialisé sur .
Lorsque vous ouvrez un fichier à partir de la fenêtre de comparaison de dossiers, votre paramètre prediffer pour ce fichier est appliqué avant l'ouverture de la fenêtre de comparaison de fichiers.
Dans la fenêtre de comparaison de fichiers, vous pouvez appliquer un plug-in prediffer en cliquant sur → et en choisissant l'un des plug-ins de la liste. Les plug-ins suggérés sont indiqués en haut de la liste. Les fichiers sont comparés à nouveau après l'application du plug-in, vous n'avez donc pas besoin de réanalyser les fichiers.
Ce plug-in retire les caractères d'échappement des fichiers .properties Java pour faciliter leur lecture, puis les ré-échappe lors de l'enregistrement.
*.properties
Affiche le contenu textuel d'un fichier Microsoft® Excel, en supprimant toute la mise en forme et les objets incorporés.
*.xls, *.xlsx, *.xlsm, *.xlsb, *.xla, *.xlax, *.xltx, *.xltm
Affiche le contenu textuel d'un fichier Microsoft® PowerPoint, en supprimant toute la mise en forme et les objets incorporés.
*.ppt, *.pptx, *.pptm, *.ppa, *.ppam, *.pot, *.potx, *.potm
Affiche le contenu textuel d'un fichier Microsoft® Visio, en supprimant toute la mise en forme et les objets incorporés.
*.vsd, *.vsdx, *.vsdm, *.vss, *.vssx, *.vssm, *.vst, *.vstx, *.vstm
Affiche le contenu textuel d'un fichier Microsoft® Word, en supprimant toute la mise en forme et les objets incorporés.
*.doc, *.docx, *.docm, *.dot, *.dotx, *.dotm
Mise en forme HTML avec tidy-html5
PrettifyHTML [arguments...]
argumentsOptions de ligne de commande passées à la commande tidy
*.html, *.htm
Mise en forme XML avec tidy-html5
PrettifyXML [arguments...]
argumentsOptions de ligne de commande passées à la commande tidy
*.xml
Mise en forme JSON avec la commande jq
PrettifyJSON [arguments...]
argumentsFiltre ou options de ligne de commande passés à la commande jq
*.json
Mise en forme YAML avec la commande yq
PrettifyYAML [arguments...]
argumentsFiltre ou options de ligne de commande passés à la commande yq
*.yaml, *.yml
PO Prettier with gettext msgcat
PrettifyPO [
arguments ...]
arguments Command line options passed to the msgcat command
*.po *.pot
Requêtes CSV avec la commande q
QueryCSV [arguments...]
argumentsInstruction SQL ou options de ligne de commande passées à la commande q
*.csv
Requêtes TSV avec la commande q
QueryTSV [arguments...]
argumentsInstruction SQL ou options de ligne de commande passées à la commande q
*.tsv
Requêtes JSON avec la commande jq
QueryJSON [arguments...]
argumentsFiltre ou options de ligne de commande passés à la commande jq
*.json
Requêtes YAML avec la commande yq
QueryYAML [arguments...]
argumentsFiltre ou options de ligne de commande passés à la commande yq
*.yaml, *.yml
Validateur HTML avec tidy-html5
ValidateHTML [arguments...]
argumentsOptions de ligne de commande passées à la commande tidy
*.html, *.htm
PO Validator with gettext msgfmt
ValidatePO [
arguments ...]
arguments Command line options passed to the msgfmt command
*.po *.pot
Prévisualiseur Graphviz
PreviewGraphviz [arguments...]
argumentsOptions de ligne de commande passées à la commande dot
*.gv, ,*.dot
Prévisualiseur Markdown
PreviewMarkdown [arguments...]
argumentsOptions de ligne de commande passées à la commande md2html
*.md, ,*.markdown
Prévisualiseur PlantUML
PreviewPlantUML [arguments...]
argumentsOptions de ligne de commande passées à la commande plantuml.jar
Extracteur de contenu général avec Apache Tika
ApacheTika [arguments...]
argumentsOptions de ligne de commande passées à tika-app.jar
*.*
Désassembleur de bytecode JVM avec javap
DisassembleJVM [arguments...]
argumentsOptions de ligne de commande passées à la commande javap
*.class
Désassembleur de code IL avec ildasm
DisassembleIL [arguments...]
argumentsOptions de ligne de commande passées à la commande ildasm
*.obj, *.lib, *.exe, *.dll
Désassembleur de code natif avec dumpbin
DisassembleNative [arguments...]
argumentsOptions de ligne de commande passées à la commande dumpbin
*.obj, *.lib, *.exe, *.dll
Applique la commande de filtre
ExecFilterCommand [command]
commandecommande à exécuter. %1 dans la commande est remplacé par le nom du fichier
*.nomatch
Met les caractères en majuscules
*.nomatch
Met les caractères en minuscules
*.nomatch
Supprime les lignes en double
*.nomatch
Compte les lignes en double
*.nomatch
Trie les lignes par ordre croissant
*.nomatch
Trie les lignes par ordre décroissant
*.nomatch
Inverse les colonnes
*.nomatch
Inverse les lignes
*.nomatch
Sélectionne certaines colonnes
SelectColumns [ranges]
SelectColumns [-v] [-i] [-g] [-e patterns]
rangesliste des plages de colonnes à sélectionner (ex. -3,5-10,30-)
patternsexpression régulière
-vsélectionne les colonnes ne correspondant pas
-iignorer la casse
-gactiver l'indicateur global (global flag)
-eutiliser des motifs pour la correspondance
*.nomatch
Sélectionne certaines lignes
SelectLines [plages]
SelectLines [-v] [-i] [-e
motifs]
rangesliste des plages de lignes à sélectionner (ex: -3,5-10,30-)
patternsexpression régulière
-vsélectionner les lignes ne correspondant pas
-iignorer la casse
-eutiliser des motifs pour la correspondance
*.nomatch
Remplace un texte par un autre
Replace [-i] [-e] [texte_à_trouver] [texte_de_remplacement]
texte_à_trouvertexte à trouver
texte_de_remplacementtexte de remplacement
-iignorer la casse (seulement pour -e)
-etraiter le texte spécifié comme une expression régulière
*.nomatch
Segmente (tokenize) la sélection
Tokenize [motifs]
patternsexpression régulière pour la segmentation (ex: [^\w]+)
*.nomatch
Supprimer les espaces
*.nomatch
Ce plug-in ignore les caractères aux colonnes spécifiées. La première colonne est la numéro 1.
Notez que ce plug-in ne supporte pas les fichiers contenant des tabulations : le plug-in n'échouera pas, mais toutes les tabulations seront traitées comme des caractères normaux.
Pour spécifier les colonnes, utilisez la boîte de dialogue des paramètres du
plug-in ou renommez la dll en utilisant les champs
suivants comme paramètres :
Example 1. Exemples de IgnoreColumns
IgnoreColumns _ 3 _ 10 - 20 _ 32 - 33.dllIgnoreColumns_1,30 to 40.dll*.txt
Ce plug-in ignore les commentaires délimités par
//... et /* ... */ dans
les fichiers C, C++, PHP et JavaScript.
*.cpp, *.cxx, *.h, *.hxx, *.c, *.php, *.js, *.cs, *.ts
Ce plug-in est destiné aux fichiers utilisant des champs et des virgules comme délimiteurs (fichiers CSV, par exemple). Il ignore les caractères délimiteurs. Le premier champ est le numéro 1.
Pour spécifier les délimiteurs, utilisez la boîte de dialogue des paramètres
du plug-in ou renommez la dll en utilisant les mêmes
champs de paramètres que pour IgnoreColumns.
*.csv
Ce plug-in est destiné aux fichiers qui utilisent des champs et des
tabulations comme délimiteurs (par exemple, les fichiers
Excel enregistrés au format *.txt). Il ignore les caractères
délimiteurs. Le premier champ est le numéro 1.
Pour spécifier les délimiteurs, utilisez la boîte de dialogue des paramètres
du plug-in ou renommez la dll en utilisant les mêmes
champs de paramètres que pour IgnoreColumns.
*.txt
Ce plug-in ignore les numéros de ligne au début dans les fichiers texte (par exemple, les fichiers NC et BASIC).
*.nc
Ajoute certaines fonctions au menu → :