web-dev-qa-db-fra.com

Comparer deux fichiers dans Visual Studio

J'ai vu un nouvel outil de comparaison dans VS 2012 pour comparer deux fichiers ou deux versions de fichier. Je l'aime. Mais quand j'ai essayé de le trouver, je ne peux pas, car je n'utilise pas TFS. Existe-t-il un moyen de comparer simplement deux fichiers avec fonctionnalité intégrée dans VS mais sans TFS?

387
Libor Zapletal

Vous pouvez appeler devenv.exe /diff list1.txt list2.txt à partir de l'invite de commande ou, si une instance de Visual Studio est déjà en cours d'exécution, vous pouvez taper Tools.DiffFiles dans la fenêtre de commande avec un nom de fichier pratique:

Using Tools.DiffFiles from Visual Studio Command window

747

Vous pouvez essayer extension VSCommands de Visual Studio Gallery . dernière version vous permet de sélectionner deux fichiers et de les comparer:

enter image description hereenter image description here

76
Jarek Kardas

Inspiré par la réponse acceptée ci-dessus, j'ai trouvé un moyen très confortable de comparer instantanément deux fichiers avec Visual Studio en utilisant glisser-déposer ou via le contexte "Envoyer à" m e n u. Cela nécessite seulement un peu de préparation que vous devez faire une fois, puis il est utile comme un couteau suisse.

Comparaison de fichiers par glisser-déposer

Préparation:

1. Créez un nouveau fichier de commandes en utilisant votre éditeur de texte préféré. Tapez ce qui suit:

_@echo off
setlocal
set vspath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE
start "Compare files" /B /MIN "%vspath%\devenv.exe" /diff %2 %1 First:'%2' Second:'%1'
_

Vous remarquerez peut-être que j'ai inversé les paramètres _%1_ et _%2_ du lot. C'est parce que j'ai remarqué que l'explorateur de fichier passe le 2nd fichier en premier paramètre, puis le 1st file en deuxième paramètre.

  1. Enregistrez ce code sous le nom VS_FileCompare.cmd pour l'utiliser, modifiez vspath si nécessaire pour qu'il corresponde à l'emplacement de _devenv.exe_ (en fonction de version de Visual Studio vous utilisez actuellement, voir note de bas de page*) )

  2. Créez un raccourci nommé "Comparaison de fichiers" pour _VS_FileCompare.cmd_ et placez-le sur le burea (comme utilisé dans l'animation ci-dessous). , il est donc toujours disponible pour y glisser/déposer des fichiers ou directement placer le fichier de commandes sur le bureau. C'est tout!

sage:

  1. Ouvrez le Windows Explorer via Win + E
  2. Sélectionnez deux fichiers à comparer dans l'explorateur
  3. Faites-les glisser et déposez-les comme indiqué dans l'animation ci-dessous: DragDropDemo

  4. Après quelques secondes (en fonction de l'heure de lancement de Visual Studio), les résultats s'affichent dans Visual Studio: Visual Studio View

Note: Cela ne nuit pas si Visual Studio est déjà ouvert. Dans ce cas, une nouvelle fenêtre s’ouvrira dans l’instance en cours de Visual Studio. Vous pouvez donc comparer plusieurs paires de fichiers, mais assurez-vous de n'avoir sélectionné que 2 fichiers à la fois.


Autre manière: menu contextuel SendTo

Voici une alternative pour utiliser le fichier de commandes VS_FileCompare.cmd mentionné dans la section ci-dessus. Il permet d’utiliser le dossier Send To du menu contextuel pour comparer les fichiers.

Préparation:

  1. Créez un raccourci "Compare2Files VS" pour le fichier de commandes VS_FileCompare.cmd et copiez-le dans le dossier SendTo. Ouvrez le Windows Explorer via Win + E
  2. Ouvrez le dossier SendTo en entrant Shell:sendto dans la barre d'adresse de l'explorateur de fichiers (comme décrit ici ). Ensuite, placez le raccourci préparé dans ce dossier.

sage:

  1. Ouvrez le Windows Explorer via Win + E
  2. Sélectionnez deux fichiers à comparer dans l'explorateur
  3. En supposant que le raccourci pour le fichier de commandes VS_FileCompare.cmd est nommé "Compare2Files VS", vous pouvez sélectionner les deux fichiers, cliquer à droite et sélectionner Envoyer Pour -> Compare2Files VS invoquer la comparaison comme indiqué ci-dessous: SendTo

  4. Après quelques secondes (en fonction de l'heure de lancement de Visual Studio), les résultats s'affichent dans Visual Studio: Visual Studio View


Références MSDN:
- tilisation de la fenêtre diff
- paramètre Diff de Visual Studio


*)Footnote: Étant donné que vsPath (le chemin d'accès à _DEVENV.exe_) diffère en fonction de votre version de Visual Studio, je décris comment vous pouvez le trouver (Windows 10):

  1. Dans le menu Démarrer de Windows Windows Start , localisez le icône Visual Studio
  2. Cliquez avec le bouton droit pour afficher le menu contextuel. Sélectionnez Plus> Ouvrir l'emplacement du fichier.
    Windows Explorer s'ouvre avec le raccourci Visual Studio mis en surbrillance.
  3. Cliquez avec le bouton droit sur Visual Studio et sélectionnez Propriétés
  4. Dans la boîte de dialogue des propriétés, vous pouvez trouver le chemin dans "Target:"VSProperties
60
Matt

J'ai toujours été fan de WinMerge, un projet open source. Vous pouvez le connecter à Visual Studio assez facilement.

http://blog.paulbouwer.com/2010/01/31/replace-diffmerge-tool-in-visual-studio-team-system-with-winmerge/

va vous montrer comment faire cela

24
user1877337

Il existe également une extension Visual Studio appelée CompareFiles , qui ne fait rien d'autre que d'ajouter l'entrée "Compare Files" au menu contextuel de l'explorateur de solutions. Il appelle l'outil de différenciation intégré à Visual Studio.

Juste au cas où quelqu'un (comme moi) ne voudrait pas installer une extension tout-en-un comme VSCommands ...

21
Stephan

Dans Visual Studio 2012, 2013, 2015, vous pouvez également le faire avec Web Essentials , cliquez avec le bouton droit de la souris sur les fichiers et dans le menu contextuel> Web Essential >> Diff fichiers sélectionnés:

Edit: Il est maintenant disponible en tant que extension séparée

enter image description here

18
Hamid Mosalla

Si vous avez installé VS, vous pouvez également appeler

"%VS110COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2"

ou pour VS 2013

"%VS120COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2"

Source: http://roadtoalm.com/2013/10/22/use-visual-studio-as-your-diff-and-merging-tool-for-local-files/

Command Window (CTRL + ALT + A)

Tools.DiffFiles File1 File2
16
astronought

Pour VS 2017 Installer (https://marketplace.visualstudio.com/items?itemName=vs-publisher-457497.FileComparer2017

Le problème est que vous ne pouvez pas comparer les fichiers dans différents projets, mais vous pouvez copier les fichiers dans le même projet pour comparer ...

Context Menu

File Diference

3
Juan Pablo

J'ai eu ce problème aussi. Pas de TFS, mais je trouvé cet article utile .

Plus précisément, étape 1b.

Ouvrez une invite de commande Visual Studio et naviguez jusqu'au dossier Common7/IDE et tapez

tf diff /configure
2
billb

Dans Visual Studio Code vous pouvez:

  • Allez au Explorer
  • Faites un clic droit sur le premier fichier que vous souhaitez comparer
  • Sélectionnez Select for compare
  • Faites un clic droit sur le deuxième fichier que vous souhaitez comparer
  • Sélectionnez Compare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'
2
jahller

File Comparer VS Extension par Akhil Mittal. Excellent outil léger qui fait le travail.

0
usefulBee
0
spottedmahn

Pour comparer deux fichiers et les fusionner en un seul fichier Voici les étapes à suivre si vous avez installé Visual Studio (toute version).

Étape 1: Ouvrir l'invite de commande Visual Studio. Si vous ne trouvez pas Invite de commande de Visual Studio, choisissez Outils Visual Studio.

Démarrer -> Invite de commandes Visual Studio

enter image description here

enter image description here

Étape 2: Entrez la commande vsdiffmerge.exe

Ignorez le commutateur/m si vous avez juste besoin d'une comparaison.

Syntaxe 1:
vsdiffmerge <fichier1> <fichier2> <fichier1> <fichier de sortie>/t/m

Syntaxe 2:
vsdiffmerge <nom du fichier de base> <nom du fichier de comparaison> <nom du fichier de base> <nom du fichier de sortie>/t/m

Exemple 1:
vsdiffmerge test1.js test2.js test1.js sortie.js/t/m
Exemple 2:
vsdiffmerge.exe "C:\Utilisateurs\livingston\Téléchargements\wa\wa\Fichiers\pre\Test.js" "C:\Utilisateurs\livingston\Téléchargements\wa\wa\Fichiers\Prod\Test. js "" C:\Utilisateurs\livingston\Téléchargements\wa\wa\Fichiers\pre\Test.js "" C:\Utilisateurs\livingston\Téléchargements\wa\wa\Fichiers\sortie\samp.js "/ t/m

enter image description here


Étape 3: Fusionner les fichiers

enter image description here Veuillez noter que si le nom du fichier n’existe pas à l’emplacement, il ouvrira not ​​le comparateur.

Aussi, vous pouvez embellir le fichier avant de faire la comparaison. Dans Visual Studio Ctrl + K + D.

Il y a beaucoup de sites de beauté disponibles en ligne.

0
George Livingston

Le code Visual Studio est idéal pour cela - ouvrez un dossier, cliquez avec le bouton droit de la souris sur les deux fichiers et comparez.

0
niico