Основные выводы
- 01Три режима diff — строка, слово и символ — позволяют вам выбрать уровень детализации, который подходит вашему содержимому.
- 02Переключатели игнорирования регистра и игнорирования пробелов фильтруют шум форматирования, поэтому вы видите только значительные изменения.
- 03Результат выводится как копируемый унифицированный diff с префиксами +/-, готовый для проверок кода или отчётов об ошибках.
- 04Все различия происходят на стороне клиента с использованием алгоритма longest-common-subsequence — содержимое никогда не покидает страницу.
Когда вам нужен просмотр различий
Управление исходным кодом показывает, что изменилось в файле с течением времени, но иногда вам нужно сравнить два произвольных куска текста, которые никогда не касались репо: две ответа API, до/после быстрого редактирования копии, файл конфигурации из двух окружений или две версии пункта договора. Вставка обоих в просмотр различий быстрее, чем git stash и намного легче для чтения.
Просмотр различий на Handytool использует алгоритм longest-common-subsequence на стороне клиента, поэтому сравнения мгновенны для типичных вводов. Он одинаково хорошо работает для кода, JSON, разметки и простого текста — и поскольку ничего не покидает браузер, вы можете безопасно вставлять внутреннее или конфиденциальное содержимое.
Как сравнить два текста
- 01
Вставьте исходный текст на левую панель
Это ваша линия сравнения — старая версия, исходный файл или всё, что вы сравниваете.
- 02
Вставьте пересмотренный текст на правую панель
Добавьте новую версию, отредактированную копию или цель, которую вы хотите сравнить.
- 03
Выберите режим diff
Выберите строку (лучше для кода и конфигов), слово (лучше для отредактированной прозы) или символ (лучше для поимки опечаток и изменений пунктуации).
- 04
Переключите игнорирование регистра или пробелов, если требуется
Эти фильтры скрывают изменения, которые не влияют на смысл — полезны при сравнении переформатированного JSON или слегка переписанной копии.
- 05
Скопируйте унифицированный diff
Используйте кнопку копирования, чтобы захватить выходные данные с префиксами +/- и вставить её в комментарий проверки кода, билет или журнал изменений.
Безопасно для конфиденциального содержимого
Diff работает полностью в вашем браузере. Никакой текст не отправляется на серверы Handytool в какой-либо момент — не при вставке, не при переключении режимов, не при копировании результата. Это означает, что вы можете безопасно сравнивать собственный исходный код, внутреннюю документацию, юридические проекты или любое другое чувствительное содержимое.
Для очень больших вводов — десятки тысяч строк — алгоритм LCS замедляется, так как его сложность растёт с обоими размерами вводов. Если вы столкнулись с этим, включите игнорирование пробелов, чтобы снизить количество токенов, или переключитесь на режим строк, который является самым быстрым из трёх.
Часто задаваемые вопросы о просмотре различий
Отправляет ли этот просмотр различий мой текст на сервер?
Нет. Diff вычисляется полностью в вашем браузере с использованием JavaScript. Безопасно для собственного кода, внутренних документов и конфиденциального содержимого.
В чём разница между diff строк, слов и символов?
Diff строк рассматривает каждую строку как единицу — идеально для кода. Diff слов разделяет на пробелах — отлично для отредактированной прозы. Diff символов — это самая тонкая зернистость и появляются опечатки с одной буквой или изменения пунктуации.
Почему некоторые строки отмечены как добавленные и удалённые?
Когда строка изменяется в середине, алгоритм представляет её как удалённую старую строку плюс добавленную новую строку. Переключитесь на режим слова или символа, чтобы увидеть точно что изменилось внутри строки.
Насколько большими могут быть вводы?
Большинство повседневных сравнений кода и прозы мгновенны. Очень большие вводы замедляют, потому что алгоритм LCS растёт с обоими размерами вводов. Для огромных файлов предпочитайте режим строк и включите игнорирование пробелов, чтобы держать быстро.
Могу ли я сравнивать код на разных языках программирования?
Да — просмотр различий является языком-агностичным. Он сравнивает сырой текст, поэтому он одинаково хорошо работает для JavaScript, Python, JSON, YAML или простой прозы.