Apakah ada variabel dalam formatter eksternal (org.eclipse.jdt.core.formatter ......) untuk memberlakukan setiap variabel enum dalam baris terpisah?
Paramesh Korrakuti
Jawaban:
198
Jawaban oleh @wjans berfungsi dengan baik untuk enum normal, tetapi tidak untuk enum dengan argumen. Untuk sedikit memperluas jawabannya, berikut pengaturan yang memberikan pemformatan paling masuk akal bagi saya di Eclipse Juno:
Window> Preferences> Java> Code Style>Formatter
Klik Edit
Pilih Line Wrappingtab
Pilih enumtreenode deklarasi
Set Line wrapping policyuntuk Wrap all elements, every element on a new line (...)jadi sekarang mengatakan 3 dari 3 di kurung.
Hapus centang Force split, even if line shorter than maximum line width (...)sehingga sekarang tertulis 3 dari 3 dalam tanda kurung.
Pilih ConstantsTreeNode
Memeriksa Force split, even if line shorter than maximum line width
Ini menyetel 3 subnode untuk enum treenode ke kebijakan pembungkusan yang sama, dan kebijakan pemisahan paksa yang sama kecuali untuk Constantstreenode, jadi enum Anda dengan argumen akan diformat masing-masing pada barisnya sendiri. Argumen hanya akan tergabung jika melebihi lebar garis maksimum.
Masih terlihat salah di pratinjau gerhana untuk saya, tetapi ketika saya mencobanya di sumber yang sebenarnya, itu berfungsi seperti pesona. Terima kasih.
Ben Thurley
50
Anda dapat menentukan ini di preferensi formatter Anda:
Preferensi: Java - Gaya Kode - Pemformat
Klik Edit
Pilih tab 'Line Wrapping'
Pilih deklarasi 'enum' -> Konstanta di kotak sebelah kiri
Setel kebijakan Pembungkusan baris ke 'Bungkus semua elemen, setiap elemen pada baris baru'
Saya mengalami masalah ini selama berbulan-bulan. Hal yang tidak saya coba adalah "force split". Tidak yakin mengapa ini diperlukan karena Anda mengira "membungkus semua elemen" akan benar-benar membungkus semua elemen! Terima kasih atas solusinya.
LegendLength
11
Ini juga sedikit jelek, tetapi jika kebijakan perusahaan Anda mencegah Anda mengubah formatter, Anda bisa meletakkan komentar di akhir baris yang tidak ingin Anda tutupi.
Ini bekerja ... semacam. Kompilator sekarang menganggapnya sebagai kesalahan. Menempatkan mereka dalam komentar mengatasi masalah ini seperti // @formatter: nonaktif
Bob Kuhar
4
Anda perlu menyetel kebijakan penggabungan baris di bawah deklarasi enum untuk "Konstanta."
Setel kebijakan pembungkusan ke
Bungkus semua elemen, setiap elemen pada baris baru
DAN
Centang kotak yang bertuliskan "Paksa Pisah, meskipun baris lebih pendek dari ,,,,,
Jawaban:
Jawaban oleh @wjans berfungsi dengan baik untuk enum normal, tetapi tidak untuk enum dengan argumen. Untuk sedikit memperluas jawabannya, berikut pengaturan yang memberikan pemformatan paling masuk akal bagi saya di Eclipse Juno:
Window
>Preferences
>Java
>Code Style
>Formatter
Edit
Line Wrapping
tabenum
treenode deklarasiLine wrapping policy
untukWrap all elements, every element on a new line (...)
jadi sekarang mengatakan 3 dari 3 di kurung.Force split, even if line shorter than maximum line width (...)
sehingga sekarang tertulis 3 dari 3 dalam tanda kurung.Constants
TreeNodeForce split, even if line shorter than maximum line width
Ini menyetel 3 subnode untuk enum treenode ke kebijakan pembungkusan yang sama, dan kebijakan pemisahan paksa yang sama kecuali untuk
Constants
treenode, jadi enum Anda dengan argumen akan diformat masing-masing pada barisnya sendiri. Argumen hanya akan tergabung jika melebihi lebar garis maksimum.Contoh:
@wjans
Solusi yang dijelaskan di atas:
sumber
Anda dapat menentukan ini di preferensi formatter Anda:
sumber
Ini juga sedikit jelek, tetapi jika kebijakan perusahaan Anda mencegah Anda mengubah formatter, Anda bisa meletakkan komentar di akhir baris yang tidak ingin Anda tutupi.
sumber
Ini tidak bagus tetapi Anda dapat mematikan formatter Eclipse untuk beberapa bagian kode ...
opsinya ada di Windows-> Preferensi-> Java-> Gaya Kode-> Formatter-> Edit-> Off / On Tag panel
sumber
Anda perlu menyetel kebijakan penggabungan baris di bawah deklarasi enum untuk "Konstanta."
Setel kebijakan pembungkusan ke
DAN
sumber
Hanya menambahkan Eclipse terbaru 2018.9
Window > Preferences > Java > Code Style > Formatter
-Edit
Line Wrapping
simpul pohon.Wrapping settings
'enum' declaration
Constants
danConstant arguments
.Konstanta perlu
Wrap all elements, every element on a new line
. Argumen yang konstan perluWrap where necessary
.sumber