Bagaimana cara mendapatkan kode pembungkus formatter dengan IntelliJ?

135

Saya tidak dapat memformat kode saya di IntelliJ.

Saya dapat melihat garis margin (secara default pada 120 kolom) tetapi tampaknya aktivasi dari menu:

Kode -> Kode Reformat

mengabaikan margin ini.

Jeroen Rosenberg
sumber

Jawaban:

91

Apakah maksud Anda bahwa formatter tidak melanggar garis panjang? Periksa Pengaturan / Pengaturan Proyek / Gaya Kode / Pembungkus.

Pembaruan: dalam versi IntelliJ yang lebih baru, opsi ini berada di bawah Pengaturan / Editor / Gaya Kode. Dan pilih Wrap when typing reaches right margin.

Péter Török
sumber
1
opsi ini sudah tidak ada lagi, menggunakan versi 13.0.2, dan masalahnya tetap ..
ipolevoy
34
@ipolevoy nama opsi adalah "Pastikan margin kanan tidak terlampaui"
madhead
13
Opsi "Pastikan margin kanan tidak terlampaui" dalam File / Pengaturan / Editor / Gaya Kode / Java / Pembungkus dan Kawat Gigi / Simpan ketika memformat ulang
Aaron
orang-orang ini terus mengganti nama tombol pengaturan setiap saat
ACV
Ini benar, tetapi dalam versi baru, opsi tambahan ditambahkan untuk memberikan kontrol yang lebih baik tentang apa yang dapat dibungkus. Lihat stackoverflow.com/a/52157389/1104581 untuk jawaban saat ini yang benar.
ipetrik
160

IntelliJ IDEA 14, 15, 2016 & 2017

Memformat kode yang ada

  1. Pastikan margin kanan tidak terlampaui

    File> Pengaturan> Editor> Gaya Kode> Java> Pembungkus dan Kawat Gigi> Pastikan margin kanan tidak terlampaui

    Pengaturan File Pastikan margin kanan

  2. Memformat ulang kode

    Kode> Memformat ulang kode ...

    Memformat ulang kode

    atau tekan Ctrl+ Alt+L

    peringatan Jika Anda memiliki sesuatu seperti ini:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    itu akan dikonversi menjadi

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    dari pada

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    Inilah sebabnya saya memilih potongan kode sebelum memformat ulang jika kode tersebut terlihat seperti pada contoh sebelumnya.

Bungkus saat mengetik mencapai margin kanan

  • IntelliJ IDEA 14 : File> Pengaturan> Editor> Gaya Kode> Bungkus ketika mengetik mencapai margin kanan

    Bungkus saat mengetik

  • IntelliJ IDEA 15, 2016 & 2017 : File> Pengaturan> Editor> Style Code> Wrap on typing

    Bungkus saat mengetik

ROMANIA_engineer
sumber
5
Iya! Ini jawaban yang sebenarnya, terima kasih banyak! Intinya adalah bahwa Wrap when typing reaches right marginakan mendapat masalah luar biasa setelah Anda mengubah sesuatu pada garis yang telah dibungkus. Jawaban Anda baru saja dibersihkan setelah doa. Dikombinasikan dengan makro "simpan dan format", ini adalah emas murni!
Patrick
1
Saya ingin menambahkan satu kata kunci di sini, yang mungkin dicari orang: inilah yang disebut bungkus keras (sebagai lawan bungkus lunak - lihat perbedaannya di sini ).
iled
1
Apakah ada cara untuk memiliki jumlah garis yang benar daripada hanya memastikan tidak melebihi maksimum? Contoh: Saya mengetik beberapa baris panjang, membaginya menjadi dua baris, lalu saya menghapus sesuatu di baris pertama, dan menggabungkan dua baris kembali menjadi satu baris.
user2259659
1
Juga: Tidak ada panduan untuk 2018.1
8bitjunkie
1
2017 "Wrap on typing" tidak berfungsi. teks masih melewati batas dan tidak ada yang terjadi pada
format
16

Mengaktifkan "Pastikan margin kanan tidak terlampaui" tidak berfungsi untuk saya di Intellij IDEA 2018.2. Saya telah menemukan solusinya, kita perlu mengubah setiap elemen di bawah ini dari "Jangan bungkus" menjadi "Bungkus jika panjang".

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Setelah itu, kita dapat melihat pratinjau jenis bungkus apa yang akan diubah dengan melihat ke panel kanan. Jika kami puas, Klik "OK" atau "Terapkan" untuk menerapkan perubahan. Akhirnya kita membutuhkan format manual dengan menggunakan CTRL+ ALT+ Ldi Windows dan Command+ Shift+ Ldi MacOS.

guo
sumber
Ini juga masalah bagi saya. Jika kotak centang itu ditetapkan tetapi sisanya dibiarkan default, IntelliJ mencoba membungkus baris, tetapi tidak bisa karena semuanya diatur ke "Jangan bungkus".
Perampok
12

Atau Anda dapat menggunakan pintasan:

Ctrl + Alt + L

Eslam Hamouda
sumber
4
Bisakah Anda memposting nama tindakan ini (Pengaturan -> Keymap)? Di sebagian besar Linux, kombinasi CTRL + ALT + L digunakan untuk memblokir komputer. Saya bahkan tidak bisa menggunakan "Temukan aksi dengan pintasan".
tomrozb
2
@tomrozb pintasan ini adalah untuk Code -> Reformat Code.
AtomHeartFather
1
Itu mengunci layar saya.
8bitjunkie
3

Anda dapat membuat makro untuk Ctrl + Shift + S (misalnya) yang melakukan semua hal ini:

Edit> Makro> Mulai Perekaman Makro (perekaman akan dimulai). Klik di tempat yang Anda butuhkan.

Sebagai contoh:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

Kemudian, klik tombol merah di kanan bawah IDE untuk menghentikan rekaman Makro.

Tetapkan nama makro.

Buka File> Pengaturan> Makro> NAMA MAKRO ANDA .

Klik Kanan> Tambahkan Pintasan Keyboard, dan ketik Ctrl + Shift + S.

pengguna3006181
sumber
Ini adalah fitur IDE dasar. Macro adalah OTT dan terlalu rumit untuk sesuatu yang sangat sederhana.
8bitjunkie
2

Untuk membungkus teks dalam editor kode di komunitas IntelliJ IDEA 2020.1 ikuti langkah-langkah ini:

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

masukkan deskripsi gambar di sini

Nuh PG
sumber
0

Di Intellij ver 2020 terbaru, kami memiliki opsi bernama soft-wrap file ini. Pengaturan -> Editor -> Umum -> soft-wrap file ini. Periksa opsi ini dan tambahkan jenis file yang perlu Anda bungkus.

opsi soft wrap intellij

k sarath
sumber