web-dev-qa-db-fra.com

Comparaison du contenu de deux fichiers dans Sublime Text

J'ai deux référentiels clonés de deux projets open source très similaires, sur lesquels j'ai travaillé à différentes reprises dans Sublime Text 2 pour parvenir au résultat souhaité. Le code de ces deux projets a été utilisé. J'utilise Git comme contrôle de version pour mon projet, mais je n'ai pas inclus les projets d'origine. Ainsi, j'aimerais pouvoir rapidement comparer le contenu de deux fichiers du projet original et comparer les différences entre eux et mon projet.

J'espérais que Sublime Text 2 aurait une fonctionnalité "Comparaison de fichiers", mais je n'arrive pas à trouver quoi que ce soit qui le concerne dans les paramètres ou en ligne. Un package ST2 tiers permettant d’accomplir cette tâche fonctionnerait également bien. Une telle tâche est-elle possible dans l'éditeur de texte ST2?  

325
LanceLafontaine

Vous pouvez réellement comparer les fichiers de manière native dans Sublime Text.

  1. Accédez au dossier qui les contient via Open Folder... ou dans un projet.
  2. Sélectionnez les deux fichiers (c'est-à-dire en maintenant Ctrl sous Windows ou  sur macOS) que vous souhaitez comparer dans la barre latérale
  3. Faites un clic droit et sélectionnez l'option Diff files....

634

Comparez côte à côte me semble être le plus pratique, même s'il n'est pas le plus populaire:

UPD: Je dois ajouter que ce plugin peut figer ST tout en comparant des fichiers volumineux. Ce n'est certainement pas la meilleure décision si vous comparez des textes volumineux.

172
Dany

Il existe un certain nombre de plugins diff disponibles via Package Control. J'ai utilisé Sublimerge Pro , qui a assez bien fonctionné, mais il s'agit d'un produit commercial (avec une période d'essai illimitée) et source fermée, vous ne pouvez donc pas le modifier si vous voulez changer quelque chose ou simplement regarder. à ses internes. FileDiffs est assez populaire, à en juger par le nombre d'installations, vous devriez donc l'essayer. 

54
MattDMo

METTRE À JOUR 
(Compte tenu de la hausse des votes, j'estime qu'il faut une explication complète, étape par étape ...)

  1. Dans la barre de menus, cliquez sur File-> Open Folder...
  2. Sélectionnez un dossier (le dossier réel n'a pas vraiment d'importance, cette étape consiste simplement à rendre la barre latérale FOLDERS disponible)
  3. Si aucune barre latérale n'est encore affichée, faites-la apparaître via View -> Side Bar -> Show Side Bar 
  4. Utilisez cette barre latérale FOLDERS- intitulée pour naviguer jusqu'au premier fichier que vous souhaitez comparer.
  5. Sélectionnez-le (cliquez dessus), maintenez la touche Ctrl enfoncée et sélectionnez le deuxième fichier.
  6. Après avoir sélectionné deux fichiers, faites un clic droit sur l’un des deux et sélectionnez Diff Files...

Il devrait y avoir un nouvel onglet maintenant montrant la comparaison.


Réponse courte originale:
Notez que:

Les "Fichiers diff" apparaissent uniquement dans la barre latérale "dossiers" (pour ouvrir un dossier: Fichier-> Ouvrir un dossier), pas dans la barre latérale "Ouvrir les fichiers".

43
stackoverflowwww

UPDATE JAN 2018 - en particulier pour Sublime/Mac

(Ceci est très similaire à la réponse de Marty F ci-dessus, mais aborde certains problèmes des réponses précédentes, combine plusieurs suggestions différentes et discute de la distinction critique qui m'a donné des problèmes au début.)

J'utilise Sublime Text 3 (version 3143) sur Mac et j'essaie depuis environ 30 minutes de trouver cette fonctionnalité de comparaison de fichiers. Je l'avais utilisé auparavant sur Sublime/Mac sans aucun problème, mais cette fois, c'était plus compliqué. Mais, j'ai finalement compris.

  1. Le format de fichier n'a pas besoin d'être UTF-8. J'ai comparé avec succès des fichiers au format UTF-8, ISO-8559-1 et Windows-1252.

  2. Il n'y a pas de fichier> Ouvrir les dossiers sur Sublime/Mac. La plupart des instructions ci-dessus commencent par «Sélectionnez Fichier> Ouvrir les dossiers», mais cela n'existe pas sous Sublime/Mac. 

  3. La comparaison de fichiers fonctionne sur la base d'un projet. Si vous souhaitez comparer deux fichiers, ils doivent être enregistrés sur le disque et faire partie du projet en cours.

  4. Manières d'ouvrir un projet

    • Si Sublime/Mac n'est pas en cours d'exécution ou s'il fonctionne mais qu'aucune fenêtre n'est ouverte, faites glisser un dossier sur l'application Sublime.
    • Si Sublime/Mac est en cours d'exécution, sélectionnez "Fichier> Ouvrir", naviguez jusqu'au dossier souhaité, ne pas sélectionnez un fichier ou un dossier et cliquez sur "Ouvrir".
  5. Ajouter un dossier à un projet. Si les fichiers que vous souhaitez comparer ne font pas partie de la même hiérarchie, ouvrez d'abord le dossier contenant l'un des fichiers. Sélectionnez ensuite "Projet> Ajouter un dossier à un projet", naviguez jusqu'au dossier souhaité et cliquez sur "Ouvrir". Vous verrez maintenant deux dossiers de niveau racine dans votre barre latérale.

  6. La barre latérale doit être visible. Vous pouvez choisir "Affichage> Barre latérale> Afficher la barre latérale" ou utiliser le raccourci clavier Commande-K, Commande-B.

  7. Les fichiers doivent être fermés (c.-à-d. Enregistrés) pour comparer. Un simple clic sur un fichier dans la barre latérale n'ouvre pas le fichier, mais l'affiche. Vous pouvez savoir si un fichier est ouvert s'il est répertorié dans la section "Fichiers ouverts" en haut de la barre latérale. Double-cliquer sur un fichier ou modifier un fichier changera automatiquement le statut d'un fichier en "Ouvrir". Dans ce cas, assurez-vous de le fermer avant d'essayer de comparer.

  8. Sélectionnez les fichiers dans la hiérarchie des dossiers. Dans la version standard Mac, ici, (single), cliquez sur le premier fichier, puis sur le second fichier en maintenant la touche Commande enfoncée. Lorsque vous sélectionnez le premier fichier, son contenu s’affiche, mais il n’est pas ouvert. Ensuite, lorsque vous cliquez sur le second fichier en maintenant la touche Commande enfoncée, vous verrez le contenu de its, mais encore une fois, ni l'un ni l'autre ne sont ouverts. Vous remarquerez un seul onglet dans le panneau d'édition.

  9. Control-click n'est pas la même chose que clic droit. C'était celui qui m'a eu. J'utilise mon trackpad et recourt souvent à Contrôle-clic comme clic droit ou secondaire. Cela ne fonctionne pas pour moi. Cependant, depuis que j'ai configuré mon trackpad dans les Préférences Système pour utiliser le coin inférieur droit de celui-ci comme un clic droit, cela a fonctionné, en affichant le menu contextuel, avec "Supprimer", "Révéler dans le Finder", .... "Diff Files ..."

Voilà! J'espère que ça aidera quelqu'un. 

15
Zonker.in.Geneva

MISE À JOUR OCTOBRE 2017 Je ne savais pas que cette fonctionnalité existait dans Sublime Text, mais l'interface semble avoir légèrement changé par rapport à la réponse précédente - du moins sous OS X. Voici la procédure détaillée que j'ai suivie:

  1. Dans la barre de menus, cliquez sur Fichier -> Ouvrir ...
  2. Naviguez jusqu'au dossier contenant les fichiers à comparer et avec le dossier sélectionné, cliquez sur le bouton Ouvrir pour faire apparaître la barre latérale Dossiers.
  3. Dans la barre latérale DOSSIERS, cliquez sur le premier fichier à comparer.
  4. Maintenez la touche Ctrl sous Windows ou ⌘ sous OS X, puis cliquez sur le deuxième fichier.
  5. Avec les deux fichiers sélectionnés, faites un clic droit sur l'un et sélectionnez Fichiers diff ...

Cela ouvre un nouvel onglet affichant la comparaison. Le premier fichier en rouge, le second en vert.

9
Marty F

Vue - Disposition et Vue - Les groupes feront dans le dernier Sublime 3

par exemple:

Shift+Alt+2 -> crée 2 colonnes

Ctrl+2 -> déplacer le fichier sélectionné dans la colonne 2

Ceci est pour la comparaison côte à côte. Pour les diff, il existe la fonction diff, déjà mentionnée. Malheureusement, je ne trouve pas le moyen de faire défiler les colonnes en même temps, ce qui serait une fonctionnalité intéressante.

3
Daniele Dellafiore

Personne ne parle de Linux mais toutes les réponses ci-dessus fonctionneront. Il suffit d'utiliser Ctrl pour sélectionner plus d'un fichier. Si vous cherchez à comparer côte à côte, Meld est charmant.

1
Wannabe JavaGeek

L'option Diff n'apparaît que si les fichiers se trouvent dans un dossier faisant partie d'un projet.

Vous pouvez alors comparer les fichiers de manière native, directement dans Sublime Text.

Naviguez vers le dossier qui les contient via Open Folder ... ou dans un projet Sélectionnez les deux fichiers (c.-à-d. En maintenant Ctrl sous Windows ou ⌘ sous MacOS) que vous souhaitez comparer dans la barre latérale Cliquez avec le bouton droit de la souris et sélectionnez les fichiers Diff ... option.

0
Ricardo

Il existe également un plugin BeyondCompare. Il ouvre les 2 fichiers dans une fenêtre BeyondCompare. Très pratique pour ouvrir des fichiers depuis la sublime fenêtre.

Vous aurez besoin de l’installation de BC3 dans le système . Après l’installation de plugin , vous devrez fournir le chemin d’installation.

Exemple:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}
0
Aditya Gupta