🌐 VI

🆚 Diff Checker

So sánh hai văn bản cạnh nhau, theo từng dòng. Các dòng được thêm sẽ tô xanh, các dòng bị xóa tô đỏ, và các dòng thay đổi được tô nổi bật chi tiết ở cấp từ.

HƯỚNG DẪN

Tìm hiểu thêm

01

1. So sánh diff là gì?

Diff tìm ra sự khác biệt giữa hai văn bản (hoặc tệp). Nó được dùng để review code, so sánh các phiên bản tài liệu, kiểm tra thay đổi cấu hình và hiệu đính bản dịch. Thông thường, công cụ sẽ so sánh theo từng dòng để phân biệt các dòng được thêm, bị xóa và bị thay đổi. `git diff` của Git và tính năng so sánh trong mọi trình soạn thảo code đều dựa trên cùng nguyên lý này. Công cụ này không bao giờ gửi văn bản của bạn lên máy chủ - mọi thứ được so sánh ngay lập tức ngay trong trình duyệt, nên cả mã nguồn hay tài liệu nhạy cảm cũng luôn được giữ riêng tư.

02

2. So sánh theo dòng và theo từ

So sánh theo dòng xem toàn bộ mỗi dòng như một đơn vị và quyết định xem nó giống hay khác. So sánh theo từ đi xa hơn, xác định chính xác những từ nào đã thay đổi trong một dòng bị sửa. Ví dụ, nếu "Hello, nice to meet you" thành "Hello, thank you", diff theo dòng chỉ báo là "đã thay đổi", còn tô nổi bật theo từ sẽ chỉ rõ rằng "nice to meet" đã bị xóa và "thank" đã được thêm vào. Công cụ này tự động áp dụng tô nổi bật theo từ cho mọi dòng đã thay đổi.

03

3. Cách dùng tùy chọn Bỏ qua chữ hoa/chữ thường và Bỏ qua khoảng trắng

Khi so sánh code chỉ khác nhau ở thụt lề hoặc khoảng trắng cuối dòng, hoặc văn bản chỉ khác nhau ở chữ hoa/chữ thường, những khác biệt nhỏ này có thể làm bản review rối mắt và trông như thay đổi đáng kể. Bật "bỏ qua khoảng trắng" sẽ gom các chuỗi khoảng trắng và cắt khoảng trắng đầu/cuối trước khi so sánh; "bỏ qua chữ hoa/chữ thường" sẽ xem chữ in hoa và chữ thường là như nhau. Cả hai đặc biệt hữu ích khi so sánh đầu ra của formatter hoặc văn bản nhập tay có kiểu chữ không nhất quán.

Câu hỏi thường gặp

Văn bản của tôi có được gửi lên máy chủ không?
Không. Công cụ này chạy hoàn toàn trong trình duyệt của bạn và không bao giờ gọi API backend - văn bản của bạn không rời khỏi thiết bị.
Vì sao một dòng đã thay đổi lại không được tô nổi bật theo từ?
Nếu dòng đó bị thay thế hoàn toàn bằng nội dung không liên quan, thuật toán LCS (chuỗi con chung dài nhất) không thể ghép nó với một dòng trước đó, nên nó sẽ được hiển thị đơn thuần là xóa/thêm. Tô nổi bật theo từ chỉ xuất hiện khi có một phần nội dung trùng khớp đủ để căn chỉnh.
Tôi có thể so sánh các văn bản rất dài không?
Có, nhưng bạn sẽ thấy cảnh báo khi vượt quá 50.000 dòng. Chi phí của thuật toán diff tăng theo số dòng, nên đầu vào cực lớn có thể làm trình duyệt chậm tạm thời.
So sánh của tôi có được lưu ở đâu không?
Dữ liệu bạn nhập được tự động lưu vào localStorage của trình duyệt để vẫn còn sau khi tải lại trang, nhưng không bao giờ được truyền sang thiết bị khác hay máy chủ.