Часто задаваемые вопросы о DiffScope
Ответы на самые популярные вопросы о сравнении кода и текста, алгоритмах diff, форматах файлов и безопасности данных.
Diff — это инструмент для сравнения двух версий файла или текста. Он показывает, какие строки были добавлены, удалены или изменены. Стандартный вывод diff называется unified diff — именно его использует Git при выполнении команды git diff.
Разработчики используют diff для code review (проверка изменений коллег в pull request), разрешения конфликтов слияния в Git, отслеживания изменений в конфигурационных файлах и документации, а также для создания patch-файлов — портативных описаний изменений, которые можно применить к другому репозиторию.
DiffScope использует алгоритм на основе LCS (Longest Common Subsequence) — нахождения наибольшей общей подпоследовательности. Это тот же принцип, что лежит в основе Myers diff algorithm, используемого в Git.
Для текстов, где произведение длин строк (m×n) превышает 100 000, автоматически применяется ускоренный алгоритм: сначала находится общее начало и конец, затем сравниваются только различающиеся части. Это обеспечивает быструю работу даже с большими файлами. Все вычисления выполняются локально в браузере.
Да, абсолютно на любом. DiffScope работает с любым текстовым содержимым — инструмент не анализирует синтаксис, а сравнивает строки. Это означает полную поддержку всех языков программирования: JavaScript, TypeScript, Python, Java, C/C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin, SQL и многих других.
Также отлично работает с форматами данных: JSON, YAML, XML, TOML, INI; с разметкой: HTML, CSS, Markdown; с конфигурационными файлами: Dockerfile, .env, nginx.conf и любым другим текстом.
При конфликте слияния Git оставляет в файле маркеры: блок между <<<<<<< HEAD и ======= — ваша версия, между ======= и >>>>>>> — входящая. Скопируйте каждый блок (без маркеров) в соответствующее поле DiffScope.
В режиме Split вы увидите обе версии рядом с подсветкой различий. Это помогает принять взвешенное решение: оставить одну версию, другую, или написать объединённое решение. После разрешения конфликта не забудьте удалить все маркеры из файла перед коммитом.
DiffScope выполняет построчное сравнение (line-by-line diff) — это стандартный режим для code review, соответствующий поведению git diff. Каждая строка сравнивается целиком: строка либо совпадает, либо отмечается как удалённая/добавленная.
Посимвольное (word-level или character-level) сравнение внутри строк в текущей версии не реализовано. Для сравнения коротких строк или конкретных значений рекомендуется сравнивать только нужные фрагменты, вставив их в редакторы.
Да. После выполнения сравнения в панели результатов появляются две кнопки для экспорта:
«Скачать .patch» — создаёт файл diff.patch в стандартном unified diff формате. Его можно применить к репозиторию командой git apply diff.patch или утилитой patch -p1 < diff.patch.
«Копировать патч» — копирует diff-текст в буфер обмена для вставки в issue, Pull Request или в письмо. Patch-файл начинается с заголовков --- a/original и +++ b/modified.
Вставьте первый JSON в поле «Оригинал (A)», второй — в поле «Изменённый (B)». Для максимальной читаемости рекомендуется предварительно отформатировать JSON с отступами (prettify) — это разобьёт объект на отдельные строки по каждому ключу.
Если JSON отличается только форматированием (разные отступы, лишние пробелы), включите опцию «Игнорировать пробелы» — это покажет только смысловые различия в ключах и значениях. DiffScope отобразит удалённые ключи красным, добавленные — зелёным.
DiffScope оптимизирован для работы в браузере и обрабатывает большинство реальных файлов кода без проблем. Для текстов, где m×n > 100 000 строк, автоматически активируется быстрый алгоритм, работающий за линейное время.
Практические лимиты: файлы до 10 000–20 000 строк обрабатываются мгновенно. Для очень больших файлов (100+ тысяч строк) точность может снизиться в пользу скорости. Предельный размер ограничен доступной памятью браузера. Рекомендуется сравнивать только нужные фрагменты для лучшей производительности.
Нет, никогда. Весь алгоритм сравнения выполняется исключительно на стороне клиента — в вашем браузере, с использованием JavaScript. DiffScope не имеет серверного компонента для обработки кода. Ни одна строка вашего текста не передаётся по сети.
Это делает DiffScope безопасным для работы с конфиденциальным кодом, коммерческими разработками под NDA, персональными данными и любой другой чувствительной информацией. Вы можете использовать инструмент полностью офлайн после первой загрузки страницы.
Да. Перед нажатием кнопки «Найти различия» включите чекбокс «Игнорировать пробелы». В этом режиме каждая строка перед сравнением проходит нормализацию: удаляются ведущие и завершающие пробелы (trim()), а все последовательности пробельных символов внутри заменяются одним пробелом.
Это аналогично флагу git diff -w или git diff --ignore-all-space. Особенно полезно при сравнении кода после применения автоформатирования (Prettier, Black, gofmt), смены табуляции на пробелы, или при работе с файлами, созданными в разных редакторах.
Сравнение кода онлайн, бесплатно, без регистрации и без отправки данных.
⚖ Открыть инструмент