Pertanyaannya memiliki dua bagian, yang salah satunya sudah saya jawab.
- Bagaimana cara menghapus spasi spasi trailing dari seluruh file yang sedang diedit ? -> Jawab: gunakan plugin AnyEdit , yang dapat diatur untuk melakukan itu pada setiap save ke file.
- Bagaimana cara menghapus spasi spasi hanya dari garis yang saya ubah ? -> Ini saya tidak tahu dan akan menghargai bantuan apa pun.
eclipse
whitespace
Jan Żankowski
sumber
sumber
Jawaban:
Preferences-> Java-> Editors-> Save Actions-> centang Perform the selected actions on save-> centang Additional actions-> klik Configure..-> buka Code organizingtab -> centang Remove trailing whitespace-> pilih All lines.
Preferences-> Java-> Editor-> Save Actions-> centang " Perform the selected actions on save-> centang Format source code-> pilih Format edited lines.
Perhatikan tidak perlu mengklik Configure the formatter settings on the Formatter page- semua gaya kode secara otomatis termasuk menghapus spasi spasi. Setidaknya saya tidak bisa menemukan pengaturan untuk ini dalam konfigurasi Formatter, dan itu berhasil di luar kotak untuk built-in Java Conventions, Eclipse, Eclipse 2.1 styles, serta GoogleStyle .
Saat menggunakan pengaturan ini, Anda jelas perlu juga mematikan solusi untuk bagian 1 dari pertanyaan.
sumber
Saya menganggap pertanyaan Anda berkaitan dengan kode Java. Jika itu masalahnya, Anda sebenarnya tidak memerlukan plugin tambahan untuk menyelesaikan 1). Anda bisa pergi ke Preferences -> Java -> Editor -> Save Actions dan konfigurasikan untuk menghapus trailing spasi .
Dengan suara itu Anda juga ingin menjadikan ini pengaturan tim-lebar, kan? Untuk membuat hidup lebih mudah dan menghindari keharusan mengingatnya setiap kali Anda memiliki ruang kerja baru, Anda dapat mengatur aksi save sebagai preferensi spesifik proyek yang disimpan ke dalam SCM Anda bersama dengan kode.
Untuk melakukan itu klik kanan pada proyek Anda dan pergi ke Properties -> Java Editor -> Save Actions . Dari sana Anda dapat mengaktifkan pengaturan khusus proyek dan mengkonfigurasinya untuk menghapus spasi spasi tambahan (di antara hal-hal berguna lainnya).
NB : Opsi ini telah dihapus di Eclipse Kepler (4.3) dan rilis berikut.
NB # 2: Pilihannya sepertinya kembali di Eclipse Luna -
Luna Service Release 1a (4.4.1)
sumber
Anda tidak memerlukan plugin apa pun untuk melakukannya. Misalnya, jika Anda membuat kode JAVA, Anda dapat menghapus trailingpaces trailing yang mengonfigurasi tindakan save:
Eclipse 3.6
Preferences-> Java-> Editors-> Save Actions-> Periksa Perform the selected actions on save-> Periksa Additional actions-> Klik menuConfigure.. tombol.
Di Code organizingtab, periksaRemove trailing whitespace
sumber
PyDev dapat melakukannya dengan Ctrl+ Shift+F jika Anda memiliki opsi pemformat kode yang diatur untuk melakukannya, atau dengan during saving:
Eclipse-> Window-> Preferences-> PyDev->Editor -> Code Style-> Code Formatter:
Saya menggunakan setidaknya ini:
sumber
Lakukan sebagai berikut:
Preferences-> Java-> Editor->Save Actions
sumber
Anda dapat memetakan kunci di Eclipse untuk menghapus spasi spasi trailing secara manual di seluruh file, tetapi hanya berdasarkan permintaan alih-alih otomatis disimpan. (Preferensi / Tombol dan kemudian petakan satu set kunci ke File / Hapus Trailing Whitespace) Ini bisa berguna jika Anda ingin membersihkan semua file baru, tetapi pertahankan kode lama tidak tersentuh.
Strategi lain adalah mengaktifkan tampilan visual spasi putih, jadi setidaknya Anda akan tahu kapan Anda menambahkan spasi tambahan. Sejauh yang saya tahu, tidak ada cara untuk menampilkan hanya spasi putih, tapi saya akan senang terbukti salah.
sumber
Dalam keadaan darurat, untuk editor yang sama sekali tidak mendukung penghapusan spasi spasi tambahan (mis. XML editor), Anda dapat menghapusnya dari semua baris dengan melakukan pencarian dan penggantian, memungkinkan ekspresi reguler, kemudian menemukan "[\ t] + $ "dan menggantinya dengan" "(kosong). Mungkin ada regex yang lebih baik untuk melakukan itu tetapi berfungsi untuk saya tanpa perlu menginstal AnyEdit.
sumber
Saya akan mengatakan AnyEdit juga. Itu tidak menyediakan fungsi khusus ini. Namun, jika Anda dan tim Anda menggunakan fitur AnyEdit di setiap tindakan simpan, maka saat Anda membuka file, file tersebut tidak boleh memiliki spasi spasi tambahan.
Jadi, jika Anda memodifikasi file ini, dan jika Anda menambahkan spasi tambahan, maka selama operasi penyimpanan, AnyEdit hanya akan menghapus spasi baru ini, karena mereka adalah satu-satunya ruang tambahan di file ini.
Jika, untuk beberapa alasan, Anda perlu menjaga spasi tambahan pada garis yang tidak dimodifikasi oleh Anda, maka saya tidak punya jawaban untuk Anda, dan saya tidak yakin fitur semacam ini ada di setiap plugin Eclipse ...
sumber
Tidak mungkin melakukannya di Eclipse dengan cara generik sekarang, tetapi dapat diubah dengan pengetahuan dasar Java dan waktu luang untuk menambahkan dukungan dasar untuk https://bugs.eclipse.org/bugs/show_bug.cgi? id = 180349
Masalah dependen: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173
sumber
Untuk php ada juga opsi:
sumber
Ada cara yang sangat mudah untuk melakukan ini dengan sed, alat baris perintah Unix. Anda mungkin bisa membuat makro di Eclipse untuk menjalankan ini:
sumber
Seperti yang dikatakan @Malvineous, Ini bukan profesional tetapi penyelesaian untuk menggunakan metode Find / Replace untuk menghapus spasi tambahan (di bawah ini termasuk tab U + 0009 dan whitespace U + 0020).
Cukup tekan Ctrl + F (atau perintah + F)
[\t ][\t ]*$
ekstra:
Untuk menghilangkan spasi, temukan
^[\t ][\t ]*
alih-alih[\t ][\t ]*$
Untuk menghapus garis kosong, temukan
^\s*$\r?\n
sumber
[\t ]+$
bukan[\t ][\t ]*$
?Saya tidak mengetahui solusi apa pun untuk bagian kedua dari pertanyaan Anda. Alasannya adalah karena tidak jelas bagaimana mendefinisikan saya berubah . Berubah kapan? Hanya antara 2 penyelamatan atau antara komitmen ... Pada dasarnya - lupakan saja.
Saya menganggap Anda ingin tetap berpegang pada beberapa pedoman, tetapi jangan menyentuh sisa kode. Tetapi pedoman harus digunakan secara keseluruhan, dan bukan untuk gigitan dan potongan. Jadi saran saya adalah - ubah semua kode ke pedoman: ini adalah operasi sekali saja, tetapi pastikan bahwa semua pengembang Anda memiliki plugin yang sama (AnyEdit) dengan pengaturan yang sama untuk proyek tersebut.
sumber
Saya menggunakan perintah ini untuk git:
git config --global core.whitespace cr-at-eol
Ini menghapus
^M
karakter yang tertinggal.sumber