Eclipse: Dapatkah Anda memformat kode saat menyimpan?

124

Di Eclipse, di bawah Windows-> Preference-> Java-> Code Style, Anda dapat menentukan templat kode untuk komentar dan kode, dan Anda dapat menyiapkan pemformat kode.

Saya bertanya-tanya apakah mungkin di Eclipse agar pengaturan ini berpengaruh setiap kali saya menyimpan file sumber. Pada dasarnya, alih-alih saya menyorot semuanya dan menekan Ctrl+ Shift+ F, saya ingin Eclipse bertanggung jawab untuk memastikan kode saya diformat dengan benar.

Apakah ini mungkin dan bagaimana Anda mengaturnya?

Catatan Tentang Menggunakan Format Otomatis: Mungkin yang terbaik adalah memilih "Format Garis yang Diedit" karena menggabungkan perubahan menjadi sangat sulit saat Anda memformat ulang seluruh file yang sudah ada di kontrol sumber yang tidak diformat dengan benar. Sudah melakukan ini pada rekan kerja.

Fostah
sumber
4
Pertanyaan bagus, tapi saya tidak setuju dengan mengaktifkan "Format Edited Lines". Jika seluruh tim memiliki akses ke deskriptor XML format yang sama melalui SCM, maka tim harus mengharapkan file mereka diformat ulang. Dengan kata lain, kesulitan jangka pendek dari penggabungan sepadan dengan manfaat dari pemformatan yang konsisten.
HDave
2
@HDave setuju. Kode harus setiap saat kuat terhadap "Sumber Format" di semua project.
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Jika semua orang menggunakan pengaturan ini, Anda dapat memilih "Format Garis yang Diedit". Ini akan menghemat waktu jika file Anda besar. Saya setuju dengan Anda tentang perlunya kode yang kuat terhadap "Sumber Format", tetapi bukan tugas gerhana untuk memastikan bahwa ini masalahnya, menurut saya.
brimborium
@brimborium keputusan politik. Secara pribadi saya percaya bahwa semakin dekat Anda tetap ke pengaturan default, hal-hal yang lebih lancar akan berjalan.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Itu berarti opsi format otomatis dimatikan ...;) Maksud saya, saya selalu menyimpan dengan Ctrl+Shift+Fdiikuti oleh Ctrl+S, jadi akan baik-baik saja bagi saya, tetapi ada orang lain yang tidak peduli tentang pemformatan. Fitur ini membuat hidup kita jauh lebih mudah ...
brimborium

Jawaban:

204

Di bawah Preferences, pilih Java-> Editor-> Save Actions. Centang Perform the selected actions on save, dan centang Format source codekotaknya.

Ini mungkin atau mungkin tidak tersedia di versi Eclipse sebelumnya. Saya tahu ini berfungsi di:

Version: 3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft<br>
Build id: M20080221-1800
Neal Swearer
sumber
3
Ini terlihat sangat berguna - apakah ada cara untuk mencapai hal yang sama untuk kode PHP?
Vacilando
3
Baik, tetapi bagaimana Anda melakukan hal yang sama untuk file non-Java?
ᆼ ᆺ ᆼ
@ PéterVarga jika Anda menggunakan PyDev, periksa ini
grisaitis
1
Ini terlihat sangat berguna - apakah ada cara untuk mencapai hal yang sama untuk kode C ++?
HAL9000
15

Saya sangat menyarankan untuk memeriksa deskriptor format xml gerhana Anda ke dalam kontrol sumber. Dengan cara itu semua anggota tim dapat menggunakannya dan Anda tidak perlu kesana kemari memformat pertempuran.

serg10
sumber
Bisakah ini dilakukan agar file XML diinstal secara default?
HDave
12

Saya memiliki snapshot dari pengaturan. Silakan ikuti jalannya:

Di Preferencesjendela, pilih Java-> Editor-> Save Actions.

Periksa Perform the selected actions on save, dan periksa Format source code box.

masukkan deskripsi gambar di sini

VdeX
sumber
2

Jika Anda menemukan bahwa Anda tidak memiliki Save Actionspreferensi di bawah Java-> Editor, itu mungkin karena Anda menggunakan versi Eclipse yang lebih lama. Dalam hal ini Anda dapat menginstal Format saat menyimpan plugin dari sini .

Kemudian, di bawah Preferences, pilih Java-> Format on save. Pilih Run Formatopsi di bawahSelect a code formatting action

MA Kishawy
sumber