Formateador Diff

Compare diferencias de texto y código con resaltado formateado y vista lado a lado

Se ejecuta localmente

Texto original

Modificado

Resultado del diff

Haz clic en Comparar para ver las diferencias entre los dos lados

Consejos

  • Use indentación consistente en ambos textos para una comparación línea por línea más precisa.
  • La vista unificada es mejor para cambios pequeños. La vista lado a lado es mejor para diferencias grandes.
  • añadido   eliminado   modificado
  • Use el botón de intercambio para invertir la dirección de comparación y ver adiciones como eliminaciones.
  • Ctrl/Cmd + Enter compara desde cualquiera de los dos campos.

Dos modos de diff, elegidos automáticamente

Data Diff parte de lo que pegues. Cuando ambos lados se interpretan como JSON cambia a un diff estructural; para todo lo demás compara línea por línea. También puedes fijar un modo manualmente con las pestañas encima del resultado.

Qué informa el diff estructural de JSON

  • Añadido — una clave o índice que existe solo en el lado modificado, con una vista previa de su valor.
  • Eliminado — una clave o índice que existe solo en el lado original.
  • Modificado — la misma ruta tiene un valor diferente en cada lado, mostrado como antes → después.
  • Tipo modificado — la ruta contiene un objeto en un lado y un escalar o array en el otro.
  • Cada entrada incluye una ruta en la misma notación $.store.books[0].title que usan los Inspectors de JSON, XML y YAML, para que puedas saltar directamente a ella en el código fuente.

Diff de texto, cuando lo necesitas

La comparación por líneas resalta cada línea añadida y eliminada con números de línea. Funciona con código, logs, archivos de configuración y cualquier texto — incluido JSON cuyo formato cambió pero cuyos datos no.

Ejemplo: lo que el modo JSON ve que el modo texto no

Los dos fragmentos de abajo difieren solo en el orden de las claves y la sangría. El diff de texto informa que casi todas las líneas cambiaron; el diff estructural de JSON informa correctamente cero cambios.

A
{
  "name": "web",
  "version": "1.0"
}
B
{
  "version": "1.0",
  "name": "web"
}

Dónde encaja esto en tu flujo de trabajo

Data Diff es el paso de comparación del workbench. Envía aquí cualquier documento desde las otras herramientas:

Preguntas frecuentes

Respuestas a preguntas comunes sobre el formateo de Diff Formatter

Sí, nuestro formateador diff es completamente gratuito y no requiere registro. Todo el procesamiento se realiza en su navegador.

Puede comparar cualquier contenido de texto: código, archivos de configuración, JSON, XML, texto plano o cualquier otro formato basado en texto.

Las líneas añadidas se muestran con fondo verde, las líneas eliminadas con fondo rojo, y las líneas modificadas muestran ambas versiones lado a lado.

Sí. Haga clic en el botón de intercambio para invertir los textos original y modificado, convirtiendo adiciones en eliminaciones y viceversa.

La herramienta usa el algoritmo diff de Myers, el mismo algoritmo usado por Git para comparación de texto, garantizando diffs precisos y minimales.

El formato diff unificado (-u), tal como lo producen git diff, diff -u y todos los principales sistemas de control de versiones: una o más secciones de archivo, cada una con encabezados ---/+++, marcadores de hunk @@ y líneas +/- o de contexto. GNU diffutils documenta el formato exacto; el formateador reorganiza los hunks con números de línea alineados y coloración de sintaxis.

@@ -3,7 +3,8 @@ dice: en el archivo antiguo, comenzando en la línea 3, se muestran 7 líneas; en el archivo nuevo, la sección correspondiente comienza en la línea 3 y abarca 8 líneas. Leer los conteos le indica de un vistazo el tamaño del cambio: aquí se agregó una línea. El formateador mantiene estos marcadores intactos porque patch(1) y git apply dependen de ellos.

No: el formateador explica y da formato a los parches, no los aplica. Para aplicarlos, use git apply o patch -p1; para fusionar hunks en conflicto, la herramienta de fusión de su VCS. El formateo es deliberadamente de solo lectura, de modo que pueda pegar con seguridad cualquier parche, incluidos aquellos con hunks rechazados o en conflicto, para una revisión legible.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Herramientas Relacionadas