Kluczowe punkty
- 01Trzy tryby diff — linia, słowo i znak — pozwalają wybrać poziom szczegółowości odpowiadający Twojej zawartości.
- 02Przełączniki ignorowania wielkości liter i spacji filtrują szum formatowania, aby zobaczyć tylko znaczące zmiany.
- 03Wynik jest wyświetlany jako kopiowalne ujednolicone diff z prefiksami +/-, gotowe do recenzji kodu lub raportów błędów.
- 04Całe porównanie odbywa się po stronie klienta przy użyciu algorytmu najdłuższej wspólnej podciągu — zawartość nigdy nie opuszcza strony.
Kiedy potrzebujesz narzędzia Diff
Kontrola wersji pokazuje, co zmieniło się w pliku w czasie, ale czasami musisz porównać dwa dowolne fragmenty tekstu, które nigdy nie trafiły do repozytorium: dwie odpowiedzi API, wersję przed i po szybkiej edycji, plik konfiguracyjny z dwóch środowisk lub dwie wersje klauzuli umowy. Wklejenie obu do narzędzia diff jest szybsze niż git stash i znacznie łatwiejsze do przeczytania.
Narzędzie diff Handytool używa algorytmu najdłuższej wspólnej podciągu po stronie klienta, więc porównania są natychmiastowe dla typowych danych wejściowych. Działa równie dobrze dla kodu, JSON, markdown i zwykłej prośby — a ponieważ nic nie opuszcza przeglądarki, możesz bezpiecznie wklejać zawartość wewnętrzną lub poufną.
Jak porównać dwa teksty
- 01
Wklej oryginalny tekst do lewego panelu
To jest Twoja linia bazowa — starsza wersja, plik źródłowy lub cokolwiek, z czego porównujesz.
- 02
Wklej zmieniony tekst do prawego panelu
Dodaj nowszą wersję, edytowaną kopię lub cel, który chcesz porównać.
- 03
Wybierz tryb diff
Wybierz linię (najlepsze dla kodu i konfigów), słowo (najlepsze dla edycji tekstu) lub znak (najlepsze do łapania błędów pisowni i zmian interpunkcji).
- 04
W razie potrzeby przełącz ignorowanie wielkości liter lub spacji
Te filtry ukrywają zmiany, które nie wpływają na znaczenie — przydatne przy porównywaniu przeformatowanego JSON lub lekko przeformułowanego tekstu.
- 05
Skopiuj ujednolicone diff
Użyj przycisku kopiowania, aby pobrać dane wyjściowe z prefiksami +/- i wklej je do komentarza recenzji kodu, zgłoszenia lub dziennika zmian.
Bezpieczne dla zawartości poufnej
Diff działa całkowicie w przeglądarce. Żaden tekst nie jest wysyłany na serwery Handytool w żadnym momencie — ani gdy wklejasz, ani gdy przełączasz tryby, ani gdy kopiujesz wynik. Oznacza to, że możesz bezpiecznie porównywać zastrzeżony kod źródłowy, dokumentację wewnętrzną, projekty umów lub inną poufną zawartość.
W przypadku bardzo dużych danych wejściowych — dziesiątki tysięcy linii — algorytm LCS spowalnia, ponieważ jego złożoność rośnie wraz z obydwoma rozmiarami danych wejściowych. Jeśli się to zdarzy, włącz ignorowanie spacji, aby zmniejszyć liczbę tokenów, lub przełącz się na tryb linii, który jest najszybszy z trzech.
Często zadawane pytania dotyczące narzędzia Diff
Czy to narzędzie diff wysyła mój tekst na serwer?
Nie. Diff jest obliczany całkowicie w przeglądarce przy użyciu JavaScript. Bezpieczne dla zastrzeżonego kodu, dokumentów wewnętrznych i zawartości poufnej.
Jaka jest różnica między diff na poziomie linii, słowa i znaku?
Diff na poziomie linii traktuje każdą linię jako jednostkę — idealny dla kodu. Diff na poziomie słowa dzieli się na spacje — świetny do edycji tekstu. Diff na poziomie znaku to najdrobniejsza ziarnistość i ujawnia błędy pisowni pojedynczych liter lub zmiany interpunkcji.
Dlaczego niektóre linie są oznaczone zarówno jako dodane, jak i usunięte?
Gdy linia zmienia się w środku, algorytm reprezentuje ją jako usuniętą starą linię plus dodaną nową linię. Przełącz na tryb słowa lub znaku, aby zobaczyć dokładnie, co zmieniło się wewnątrz linii.
Jak duże mogą być dane wejściowe?
Większość codziennych porównań kodu i tekstu jest natychmiastowa. Bardzo duże dane wejściowe spowalniają się, ponieważ algorytm LCS rośnie wraz z obydwoma rozmiarami danych wejściowych. W przypadku ogromnych plików preferuj tryb linii i włącz ignorowanie spacji, aby utrzymać szybkość.
Czy mogę porównywać kod w różnych językach programowania?
Tak — narzędzie diff jest niezależne od języka. Porównuje surowy tekst, więc działa równie dobrze dla JavaScript, Python, JSON, YAML lub zwykłej prośby.