Что такое Сравнение текстов?

Инструмент сравнения текстов подсвечивает точные различия между двумя фрагментами текста. Добавления, удаления и изменения выделяются цветом и отображаются рядом или в объединённом виде. Он одинаково хорошо подходит для версий кода, редакций документов и конфигурационных файлов.

Инструмент использует алгоритм Майерса и одинаково хорошо ловит и переставленные блоки, и правку в одну строку. Сравнивайте по строкам или переключитесь на разбор по словам для текста, включите «Игнорировать пробелы», чтобы пропустить чисто оформительские различия, включите «Игнорировать регистр», чтобы различия только в регистре не считались, и нажмите «Поменять», чтобы переставить, какая сторона исходная. Результат можно читать как единый вывод (с префиксами + и -, готовый для вставки в сообщение коммита) или в виде двух колонок рядом. На длинных файлах он сворачивает неизменные участки и даёт стрелки назад/вперёд, чтобы пройти по каждому изменению. Оба поля принимают произвольный текст, так что годятся код, JSON, проза или строки логов.

Как использовать

  1. Вставьте исходный текст в левую панель, а изменённый текст — в правую.
  2. Просмотрите подсвеченные различия: зелёный цвет — добавления, красный — удаления, жёлтый — изменения.
  3. Переключайтесь между параллельным и объединённым режимами отображения или скопируйте результат сравнения для документации.

Когда использовать

  • Просмотреть свои правки в эссе или договоре перед отправкой финальной версии.
  • Найти, что изменилось между двумя конфигами, когда служба перестала работать.
  • Сверить перевод с оригиналом и убедиться, что ничего не пропало.

Результат

Разработчик вставляет две версии конфигурационного файла и мгновенно видит, что 3 строки добавлены, 1 удалена и 2 изменены — каждое изменение подсвечено в контексте.

Частые вопросы

Сравнение идёт посимвольно или построчно?
И так, и так. Режим по строкам (по умолчанию) считает строку единым целым, поэтому из-за одной опечатки вся старая строка помечается как удалённая, а новая — как добавленная, и при этом внутри подсвечиваются именно изменившиеся символы. Переключитесь на режим по словам — и сравнение пойдёт по отдельным словам, что удобнее для текста и значений в конфигах.
Справится ли с большим файлом, например логом на 5000 строк?
Да. Для длинных входов инструмент сам сворачивает большие неизменные участки, оставляя несколько строк контекста, поэтому вы видите в основном то, что действительно поменялось. Стрелками изменений (вверх и вниз) над сравнением можно сразу перепрыгивать от одной правки к следующей, а если колонки рядом становятся тесными, переключитесь на единый вид.
Считаются ли пробелы за различие?
По умолчанию да: пробел в конце строки, лишняя пустая строка, табуляция вместо пробелов — всё это показывается как изменение. Отметьте «Игнорировать пробелы», и различия чисто в форматировании отпадут, останутся только реальные правки. Режим по словам и сам объединяет идущие подряд пробелы.
Можно скопировать только сам diff, без обоих исходных текстов?
Да. Кнопка копирования забирает унифицированный diff (с пометками + и -), его можно сразу вставить в описание пулл-реквеста, письмо или заметку к документу.
Это то же самое, что git diff?
Алгоритм похож (тот же Myers diff), поэтому для одинаковых входов результат совпадёт с построчным diff в git. Разница в том, что здесь можно сравнить любые два текста — без репозитория и истории коммитов.

Похожие инструменты