Menampilkan dalam Bahasa Indonesia Ganti ke Inggris

Pemeriksa Diff

Tempel dua potongan teks dan lihat perbedaannya disorot.

Diff

 
  1. Tempel teks asli ke Teks A.
  2. Tempel versi yang diubah ke Teks B.
  3. Pilih Baris untuk kode/konfig atau Kata untuk prosa.
  4. Alihkan Abaikan spasi atau Abaikan huruf besar/kecil jika perubahan tak terlihat menambah noise.
  5. Baca output yang disorot di bawah — hijau adalah ditambahkan, merah adalah dihapus.
Apa fungsinya?

Pemeriksa Diff membandingkan dua potongan teks dan menunjukkan persis apa yang ditambahkan, dihapus, atau dibiarkan tidak berubah. Mode Baris memperlakukan setiap baris sebagai unit — ideal untuk kode sumber dan konfig di mana seluruh baris biasanya berubah sekaligus. Mode Kata memisah pada spasi dan lebih baik untuk prosa di mana Anda peduli tentang pengeditan tingkat token.

Contoh

Teks A:

function greet(name) {
  console.log("Hello, " + name);
}

Teks B:

function greet(name) {
  if (!name) name = "world";
  console.log(`Hello, ${name}!`);
}

Diff dalam mode baris:

  function greet(name) {
+   if (!name) name = "world";
-   console.log("Hello, " + name);
+   console.log(`Hello, ${name}!`);
  }

Kesalahan umum dan jebakan

Ketika dua baris terlihat identik tetapi diff masih menandai mereka sebagai berubah, penyebabnya hampir selalu adalah karakter tak terlihat atau perbedaan huruf. Berikut tersangka biasa.

  • Akhiran baris CRLF vs LF. File Windows mengakhiri baris dengan \r\n, file Unix dengan \n. Bahkan perbedaan satu karakter menandai setiap baris. Perbaiki dengan mengaktifkan Abaikan spasi, atau normalkan dengan dos2unix / pengaturan editor Anda.
  • Spasi trailing. "foo " dan "foo" berbeda kecuali spasi diabaikan. Penyimpanan file konfig yang menghapus spasi trailing akan membuat setiap baris yang disentuh terlihat berubah.
  • Tab vs spasi. Reformat yang menukar tab dengan spasi (atau sebaliknya) membuat setiap baris berindentasi terlihat berbeda dalam mode cocok persis. Alihkan Abaikan spasi atau reformat kedua sisi secara identik terlebih dahulu.
  • Byte-order mark (BOM). File yang disimpan sebagai UTF-8 dengan BOM dimulai dengan  yang tak terlihat. "Baris" pertama itu akan selalu muncul berubah saat dibandingkan dengan file tanpa BOM. Hapus BOM di editor Anda atau editor heksa sebelum menempel.
  • Tanda kutip pintar atau spasi non-breaking. Menempel dari pengolah kata bisa menukar " dengan " atau spasi biasa dengan spasi non-breaking. Mereka terlihat identik tetapi merupakan code point yang berbeda. Normalkan teks ke ASCII murni sebelum mem-diff.
  • Perbedaan hanya huruf besar/kecil. API dan api adalah string yang berbeda kecuali Anda mengaktifkan Abaikan huruf besar/kecil. Kecocokan yang mendasarinya masih menunjukkan teks asli; hanya perbandingannya yang dilonggarkan.
Pertanyaan yang sering diajukan

Apa perbedaan antara mode baris dan kata?

Mode baris membandingkan teks satu baris pada satu waktu — jika ada karakter di baris yang berubah, seluruh baris ditandai sebagai dihapus dari A dan ditambahkan di B. Mode kata memisah pada spasi dan menunjukkan diff yang lebih granular, yang lebih baik untuk prosa. Untuk kode sumber dan file konfig, mode baris hampir selalu yang Anda inginkan.

Mengapa baris yang terlihat identik muncul sebagai berubah?

Biasanya salah satu dari tiga perbedaan tak terlihat: akhiran baris (CRLF di Windows vs LF di Unix), spasi trailing, atau byte-order mark (BOM) di awal file. Aktifkan "Abaikan spasi" untuk melewatkan dua yang pertama. Untuk BOM, buka file di editor heksa atau hapus byte awal sebelum menempel.

Apakah ia mem-diff karakter per karakter?

Tidak. Dalam mode baris ia mem-diff per baris; dalam mode kata ia mem-diff per token yang dipisahkan spasi. Diff tingkat karakter menghasilkan output yang ribut untuk sebagian besar teks nyata. Jika Anda perlu perbandingan tingkat karakter untuk string pendek, tempel ke mode kata — setiap karakter akan efektif menjadi tokennya sendiri jika tidak ada spasi.

Seberapa besar inputnya?

Diff berjalan di memori, jadi batas praktis adalah RAM browser Anda. Hingga beberapa MB per sisi bekerja dengan baik; puluhan MB dapat membekukan tab sebentar karena merender HTML yang disorot lebih lambat daripada diff itu sendiri. Untuk file yang sangat besar, jalankan diff secara lokal dengan GNU diff atau git diff.

Bisakah saya mengabaikan huruf besar/kecil atau spasi?

Ya — keduanya adalah pengalih di toolbar. "Abaikan spasi" memperlakukan setiap rangkaian spasi sebagai setara, yang berguna untuk kode yang direformat. "Abaikan huruf besar/kecil" memperlakukan "Hello" dan "hello" sebagai sama. Kecocokan yang mendasarinya masih menunjukkan teks asli; hanya perbandingannya yang dilonggarkan.

Apakah Anda menyimpan teks yang saya tempel ke dua kotak?

Tidak. Kami tidak menyimpan apa pun yang Anda tempel di sini — baik teks "sebelum" maupun teks "sesudah". Apa pun yang Anda bandingkan dibuang segera setelah Anda menutup atau menyegarkan halaman. Tidak ada log, tidak ada analitik pada konten Anda. Jika Anda ingin jaminan ekstra, developer tools browser Anda akan menunjukkan apa yang terjadi.