Leer cambios

Diffs y vistas previas

Leer un diff

Interruptor Qué hace
Unificado ↔ partido Lado a lado cuando quieres comparar, apilado cuando quieres leer
Por palabras Resalta solo los tokens que cambiaron dentro de una línea editada — rojo en la vieja, verde en la nueva
Ignorar espacios Oculta los reindentados para que salga a la superficie el cambio de verdad
Ajustar (solo en vista partida) Pliega las líneas largas dentro de su columna en vez de desplazarlas
Vinculado (partido, sin ajuste) Desplaza las dos mitades a la vez, en vertical y en horizontal — desactivado, cada columna va por su cuenta
⌘F Buscar dentro del diff, con salto al siguiente/anterior

El ajuste viene desactivado: cada línea ocupa una sola fila, así los dos lados siguen siendo comparables fila a fila, y cada mitad se desplaza en horizontal con su propia barra. Actívalo cuando prefieras leer una línea larga a perseguirla — a cambio, una línea plegada en tres filas deja de quedar enfrente de su contraparte. Cada interruptor recuerda su estado entre archivos y sesiones.

Sin ajuste, las dos mitades se desplazan vinculadas por defecto — en vertical, lo que mantiene las filas enfrentadas, y en horizontal, así la columna 90 de la izquierda queda sobre la 90 de la derecha. Desvincúlalas cuando los lados se hayan separado — un bloque indentado frente a uno sin indentar, un renombrado que movió cada línea — o cuando quieras comparar dos regiones distantes del mismo archivo, y deja cada mitad donde está su contenido.

Diff partido con resaltado por palabras

Sobre cada diff está el resumen semántico — qué cambió, símbolo a símbolo, en lugar de línea a línea.

Diffs de imágenes

Las imágenes modificadas reciben una comparación de verdad: una al lado de la otra, o un tirador para deslizar entre el antes y el después.

Diff de imagen

Margen de cambios y minimapa

La vista de archivo de un archivo del árbol de trabajo — preparado o no, seguido o completamente nuevo — lleva una barra de color junto a cada línea modificada desde HEAD (o el índice, en archivos preparados): verde para una inserción, azul para una modificación, una pequeña cuña roja donde se eliminaron líneas sin reemplazo. Haz clic en una barra para ver ese cambio sin salir del archivo — la ventana emergente muestra las líneas eliminadas y añadidas, con siguiente/anterior para recorrer todos los cambios del archivo.

Margen de cambios con una ventana emergente abierta, minimapa a la derecha

El minimapa, desactivado por defecto, añade una vista general a escala de todo el archivo en el borde derecho — haz clic o arrástralo para moverte, como haría una barra de desplazamiento si también pudiera mostrarte la forma del archivo. Ambos son ajustes por máquina en Ajustes → General → Visor de archivos.

Ninguno de los dos lee el historial: cambia a Diff, Blame o un commit anterior y el margen de cambios desaparece — esas vistas ya muestran cada cambio directamente.

Vista previa de cualquier cosa

El modo Vista previa renderiza el archivo en vez de mostrar su código fuente: Markdown, Word (.docx), Excel (.xlsx), PDF, vídeo, audio, imágenes, y código con resaltado de sintaxis para todo lo demás.

Vista previa de Markdown

Listas de propiedades de Apple

Info.plist y *.entitlements son XML, y XML no es lo que nadie intenta leer. El preview muestra en su lugar el esquema de clave y valor —la forma que enseña el propio editor de plists de Xcode— con el anidamiento intacto y el tipo de cada valor al lado.

Un Info.plist como esquema de clave y valor

Dos límites. Un plist binario (bplist00) se reconoce y se nombra, no se descodifica — pásale plutil -convert xml1 si lo quieres aquí, aunque un plist binario en un repositorio suele ser un artefacto de compilación que no debería estar versionado. Y los valores <data> se muestran como un recuento de bytes en vez de como base64: un blob no te dice nada, y un perfil de aprovisionamiento pintado en un panel que quizá estés compartiendo les dice demasiado a los demás.

Proyectos de Xcode

Un project.pbxproj es un único diccionario plano de objetos que se apuntan entre sí por identificador, así que leerlo en orden no te dice casi nada del proyecto. El preview recorre esas referencias y reconstruye las tres cosas que venías a buscar: los destinos con sus fases de compilación, el árbol de grupos tal como lo dibuja el navegador de Xcode, y los ajustes de compilación por configuración.

Un project.pbxproj como destinos, árbol de archivos y ajustes

Es un lector, no un editor: nada de esto escribe en el proyecto. Para lo que pasa cuando dos ramas editan el mismo, mira resolver conflictos.

Archivos muy grandes

Las vistas previas y la vista de archivo cargan el archivo completo en memoria, así que ambas rechazan archivos que superan un límite de tamaño (32 MB para vistas previas, 16 MB para texto) y en su lugar te dicen cuánto ocupa. Cargar de todos modos anula el límite para ese archivo — nada queda fuera de alcance, las cargas grandes son solo opcionales. Los archivos y diffs de más de unos miles de líneas se siguen renderizando completos, pero las filas fuera de la vista ya no se maquetan ni se pintan, así que un diff gigante de un lockfile deja de costar la memoria de todo un portátil.

Un archivo que supera el límite de tamaño, con Cargar de todos modos

Pestaña Archivos

La pestaña Archivos de la barra lateral izquierda explora el árbol de trabajo en sí, con distintivos de estado en las carpetas (añadido / modificado / borrado) que agregan lo que hay dentro de ellas.

La pestaña de archivos con una vista previa

Distintivos de carpeta que suman lo que cambió dentro de cada una

Ver también: Diff semántico · Preparación

Mejorar esta traducción en GitHub