Bagaimana cara menonaktifkan pemformatan kode untuk beberapa bagian dari kode menggunakan komentar?

Jawaban:

542

Sejak versi 13 memungkinkan untuk membungkus kode

// @formatter:off
...
// @formatter:on 

IntelliJ IDEA v.14 +:

Preferensi> Editor> Gaya Kode> Kontrol Formatter

IntelliJ IDEA v.2016 +:

Preferensi> Editor> Gaya Kode

IntelliJ IDEA v.2018 +:

File> Pengaturan> Editor> Gaya Kode

Anda dapat mengubah penanda kontrol penata-format, asalkan ada di komentar.

Carlos Fonseca
sumber
1
Saat ini, @formatter:on(atau apa pun yang Anda tetapkan) tidak melakukan apa pun kecuali @formatter:offsudah ada. Kemungkinan ada cara lain untuk mematikan pemformatan ulang - atau meminta editor untuk tidak memformat ulang kode Anda secara otomatis. Cari preferensi Anda. Pengaturan ini adalah untuk mengontrol bagian yang tidak harus diformat ulang ketika melakukan "Reformat" secara manual, misalnya.
Louis St-Amour
85
Anda harus pergi ke Preferences-> Code Style-> General-> Formatter Controldan memeriksa Enable formatter markers in commentsini berfungsi.
Heath Borders
13
Dalam 14, ini ada di Preferensi> Editor> Gaya Kode> Kontrol Formatter
Emerson Farrugia
3
Dalam versi 2016.x ditemukan di Pengaturan> Editor> Gaya Kode.
Philippe
9
Mengapa opsi ini dinonaktifkan secara default? Tampaknya sangat berguna untuk meletakkan spidol dalam kode dan membatasi pemformatan untuk seluruh tim.
Timur Yarosh
173

Catatan untuk jawaban @formatter:offdan untuk Carlos @formatter:onbekerja, Anda mungkin perlu mengaktifkan preferensi terlebih dahulu:

Dalam Preferensi IntelliJ, di bawah Gaya Kode, Umum, Kontrol Formatter terdapat kotak centang "Aktifkan penanda formatter dalam komentar"

Ditemukan melalui Bagaimana cara mengkonfigurasi intellij-idea bukan memformat beberapa bagian dari kode?

IDEA-56995 Memformat kode dinonaktifkan per wilayah menggunakan komentar

Louis St-Amour
sumber
7
Saya ingin menonaktifkan ini di seluruh proyek
mmm
4
Cari preferensi untuk "Memformat Ulang" untuk melihat kotak centang untuk beberapa cara IntelliJ memformat ulang kode secara otomatis: pada tempel, pada mengetik kurung kurawal, dari templat ... Anda benar-benar dapat menggali jika Anda ingin mengubah fungsionalitas. Bukannya itu selalu masuk akal. Gunakan dukungan IntelliJ jika mengajukan pertanyaan, atau pelacak bug mereka jika mengajukan saran.
Louis St-Amour
1
Ini sama memungkinkannya dengan mengaktifkan ekspresi reguler, kemudian menggunakan .instruksi formatter off Anda mungkin berfungsi. Selama baris pertama dalam file Anda dapat diformat ulang. Namun tidak ada jaminan. :)
Louis St-Amour
26

Dalam file xml gunakan:

<!-- @formatter:off -->
<!-- @formatter:on -->
olsli
sumber
2
Tidak berfungsi di file xml. Android Studio 3.4.1 berdasarkan Intelli-J.
Vito Valov
Ini tidak berfungsi di IntelliJ IntelliJ IDEA 2020.1.2 kecuali Anda mengaktifkannya kemudian, di "File / Pengaturan / Editor / Gaya Kode", di bagian "Kontrol Formatter".
Tony Falabella
9

Jawaban usang dari 2010:

Tidak, tidak mungkin saat ini, saya telah mengirimkan masalah baru yang dapat Anda lacak.

Sebagai solusi sementara Anda dapat menggunakan plug-in formatter eksternal untuk IDEA yang dapat memanfaatkan formatter kode Eclipse (saya tidak memeriksa apakah opsi khusus ini didukung).

CrazyCoder
sumber
2
ty untuk pengajuan masalah Anda, bahkan ketika 5 tahun yang lalu - hari ini itu membantu saya :-)
Gizzmo