Cách dùng So sánh văn bản
- Dán bản gốc vào Văn bản gốc và bản mới vào Văn bản đã sửa (hoặc mở hai file).
- Kết quả so sánh được cập nhật khi bạn gõ. Với đầu vào rất lớn, nhấn So sánh (hoặc Ctrl+Enter).
- Chuyển giữa chế độ Song song và Nội tuyến. Các từ thay đổi được tô sáng ngay trong từng dòng đã sửa.
- Đánh dấu Bỏ qua khoảng trắng hoặc Bỏ qua chữ hoa/thường để ẩn những khác biệt không quan trọng, và nhấp vào vùng đã thu gọn để mở rộng.
- Dùng Sao chép diff để lấy unified diff, dán vào code review hoặc áp dụng bằng
git apply.
Diff checker là gì?
Diff checker so sánh hai phiên bản của một đoạn văn bản và hiển thị chính xác những gì đã thay đổi: dòng được thêm, dòng bị xóa và dòng đã sửa. Lập trình viên dùng công cụ này để rà soát thay đổi cấu hình, so sánh phản hồi API hoặc kiểm tra formatter đã sửa gì; người viết và biên tập viên dùng để so sánh bản nháp hay các phiên bản hợp đồng. Ý tưởng giống với git diff hoặc lệnh diff, nhưng được trình bày trực quan ngay trên trình duyệt.
Cách so sánh hoạt động
Đầu tiên, công cụ tìm dãy con chung dài nhất của các dòng giữa hai văn bản bằng thuật toán Myers diff (thuật toán mặc định của diff trong Git, thông qua thư viện mã nguồn mở jsdiff). Các dòng xuất hiện ở cả hai bên, theo cùng thứ tự, được coi là không đổi; mọi thứ còn lại là dòng thêm hoặc xóa. Khi một dòng bị xóa và một dòng được thêm nằm ở cùng vị trí, chúng được ghép thành một thay đổi và so sánh lại theo từng từ, nhờ đó bạn thấy chỉ có 8080 đổi thành 8443 thay vì hai dòng đỏ và xanh không liên quan.
Các dòng giống nhau ở đầu và cuối được bỏ qua trước khi so sánh, và nội dung từng dòng được băm (hash), giúp việc so sánh vài nghìn dòng vẫn nhanh. Mọi xử lý diễn ra cục bộ trên máy bạn, không có dữ liệu nào được tải lên.
Chế độ song song và nội tuyến
| Chế độ | Phù hợp nhất |
|---|---|
| Song song | Màn hình rộng và xem chi tiết chỉnh sửa trong từng dòng; bản gốc nằm bên trái, bản mới nằm bên phải. |
| Nội tuyến (unified) | Điện thoại, cửa sổ hẹp và các dòng dài. Dòng bị xóa (−) được liệt kê phía trên dòng được thêm (+), giống pull request trên GitHub. |
Tùy chọn
- Bỏ qua khoảng trắng coi các chuỗi dấu cách và tab liền nhau là một khoảng trắng, đồng thời bỏ qua khoảng trắng ở đầu và cuối dòng, rất hữu ích khi một file chỉ bị đổi thụt lề.
- Bỏ qua chữ hoa/thường coi “Error” và “error” là giống nhau.
- Thu gọn đoạn không đổi ẩn những đoạn dài không thay đổi, giữ lại ba dòng ngữ cảnh quanh mỗi chỗ sửa. Nhấp vào dòng đã thu gọn để mở rộng.
- Sao chép diff tạo unified diff chuẩn (các khối
---/+++/@@) mà những công cụ nhưpatchvàgit applyđọc được.
Mẹo sử dụng
Đang so sánh code đã nén hoặc JSON? Hãy định dạng cả hai phiên bản trước, bằng JSON Formatter, JavaScript Formatter hoặc CSS Formatter, để diff hiển thị các thay đổi thực sự thay vì một dòng khổng lồ. Muốn loại bỏ các dòng trùng lặp trong danh sách trước khi so sánh, hãy dùng Remove Duplicate Lines.
Cũng được tìm dưới tên: so sánh 2 văn bản, diff checker, so sánh code online, tìm khác biệt văn bản, so sánh file, công cụ diff, so sánh hai đoạn văn.
Các công cụ dùng kèm tốt với So sánh văn bản
- Kiểm tra Regex — Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.
- Đếm từ — Dán hoặc gõ văn bản để đếm từ và ký tự theo thời gian thực, kèm thời gian đọc và thời gian nói, mật độ từ khóa và kiểm tra độ dài cho tiêu đề SEO, mô tả meta và bài đăng mạng xã hội.
- Định dạng HTML — Dán mã HTML đã nén hoặc lộn xộn và nhận lại HTML được thụt lề rõ ràng, nhất quán — bao gồm cả các khối <style> và <script> nhúng bên trong.
- Nén CSS — Dán stylesheet vào để thu nhỏ ngay lập tức.
Câu hỏi thường gặp
Văn bản của tôi có được tải lên máy chủ không?
Văn bản có thể lớn đến mức nào?
“Bỏ qua khoảng trắng” chính xác bỏ qua những gì?
Tôi có thể so sánh file Word hoặc PDF không?
Unified diff là gì?
- cho dòng bị xóa, + cho dòng được thêm và tiêu đề @@ cho biết số dòng. Đây chính là định dạng mà git diff xuất ra và các công cụ patch áp dụng.