Lire les changements

Diffs et aperçus

Lire un diff

Bascule Ce qu'elle fait
Unifié ↔ partagé Côte à côte quand vous voulez comparer, empilé quand vous voulez lire
Au niveau du mot Ne surligne que les jetons modifiés à l'intérieur d'une ligne éditée — rouge sur l'ancienne, vert sur la nouvelle
Ignorer les espaces Masque les réindentations pour faire remonter le vrai changement
Retour à la ligne (vue côte à côte) Coupe les lignes longues dans leur colonne au lieu de les faire défiler
Lié (côte à côte, sans retour à la ligne) Fait défiler les deux moitiés ensemble, verticalement et latéralement — désactivé, chaque colonne défile seule
⌘F Chercher dans le diff, avec passage au suivant/précédent

Le retour à la ligne est désactivé par défaut : une ligne tient sur une rangée, donc les deux côtés restent comparables rangée par rangée, et chaque moitié défile horizontalement avec sa propre barre. Activez-le quand vous préférez lire une longue ligne plutôt que la poursuivre — en échange, une ligne repliée sur trois rangées ne fait plus face à son homologue. Chaque bouton retient son état d'un fichier et d'une session à l'autre.

Sans retour à la ligne, les deux moitiés défilent liées par défaut — verticalement, ce qui garde les rangées face à face, et latéralement, si bien que la colonne 90 à gauche se trouve au-dessus de la colonne 90 à droite. Déliez-les quand les côtés se sont écartés — un bloc indenté face à un bloc qui ne l’est pas, un renommage qui a décalé chaque ligne — ou quand vous voulez comparer deux régions éloignées du même fichier, et posez chaque moitié là où est son contenu.

Diff partagé avec surlignage au mot près

Au-dessus de chaque diff se trouve le résumé sémantique — ce qui a changé, symbole par symbole, plutôt que ligne par ligne.

Diffs d'images

Les images modifiées ont droit à une vraie comparaison : côte à côte, ou une poignée à faire glisser entre l'avant et l'après.

Diff d'image

Marge des modifications et mini-carte

La vue Fichier d'un fichier de l'arbre de travail — indexé ou non, suivi ou tout nouveau — porte une barre colorée à côté de chaque ligne modifiée depuis HEAD (ou l'index, pour les fichiers indexés) : vert pour un ajout, bleu pour une modification, un petit coin rouge là où des lignes ont été supprimées sans remplacement. Cliquez sur une barre pour voir cette modification sans quitter le fichier — la popup affiche les lignes supprimées et ajoutées, avec suivant/précédent pour parcourir toutes les modifications du fichier.

Marge des modifications avec une popup ouverte, mini-carte à droite

La mini-carte, désactivée par défaut, ajoute un aperçu réduit de tout le fichier sur le bord droit — cliquez ou faites-la glisser pour naviguer, comme le ferait une barre de défilement si elle pouvait aussi montrer la forme du fichier. Les deux sont des réglages par machine sous Réglages → Général → Visionneuse de fichiers.

Aucune des deux ne lit l'historique : passez à Diff, Blame ou à un commit plus ancien, et la marge disparaît — ces vues affichent déjà chaque modification directement.

Prévisualiser n'importe quoi

Le mode Aperçu rend le fichier au lieu d'en montrer la source : Markdown, Word (.docx), Excel (.xlsx), PDF, vidéo, audio, images, et du code coloré syntaxiquement pour tout le reste.

Aperçu Markdown

Listes de propriétés Apple

Info.plist et *.entitlements sont du XML, et le XML n'est pas ce que quiconque cherche à lire. L'aperçu montre à la place le plan clé/valeur — la forme qu'affiche l'éditeur de plist d'Xcode lui-même — imbrication intacte et type de chaque valeur à côté.

Un Info.plist en plan clé/valeur

Deux limites. Un plist binaire (bplist00) est reconnu et nommé, pas décodé — passez-lui plutil -convert xml1 si vous le voulez ici, même si un plist binaire dans un dépôt est le plus souvent un artefact de build qui n'aurait pas dû être versionné. Et les valeurs <data> s'affichent comme un nombre d'octets plutôt qu'en base64 : un blob ne vous apprend rien, et un profil de provisionnement rendu dans un panneau que vous partagez peut-être en apprend beaucoup trop aux autres.

Projets Xcode

Un project.pbxproj est un dictionnaire plat d'objets qui se désignent les uns les autres par identifiant : le lire dans l'ordre ne dit presque rien du projet. L'aperçu suit ces références et reconstruit les trois choses que vous étiez venu chercher — les cibles et leurs phases de compilation, l'arbre de groupes tel que le dessine le navigateur d'Xcode, et les réglages de compilation par configuration.

Un project.pbxproj en cibles, arbre de fichiers et réglages

C'est un lecteur, pas un éditeur : rien ici n'écrit dans le projet. Pour ce qui se passe quand deux branches en modifient un, voyez résoudre les conflits.

Fichiers très volumineux

Les aperçus et la vue fichier chargent le fichier entier en mémoire ; tous deux refusent donc les fichiers dépassant un plafond de taille (32 Mo pour les aperçus, 16 Mo pour le texte) et indiquent à la place la taille du fichier. Charger quand même lève le plafond pour ce fichier — rien n'est hors de portée, les gros chargements sont simplement volontaires. Les fichiers et diffs au-delà de quelques milliers de lignes restent rendus en entier, mais les lignes hors de la zone visible ne sont plus mises en page ni peintes : un diff géant de lockfile ne coûte plus la mémoire d'un ordinateur portable entier.

Un fichier au-delà du plafond de taille, avec Charger quand même

L'onglet Fichiers

L'onglet Fichiers de la barre latérale gauche parcourt la copie de travail elle-même, avec des badges d'état sur les dossiers (ajouté / modifié / supprimé) qui agrègent ce qu'ils contiennent.

L'onglet fichiers avec un aperçu

Des badges de dossier totalisant ce qui a changé à l'intérieur de chacun

Voir aussi : Diff sémantique · Indexation

Améliorer cette traduction sur GitHub