Bagaimana mengaktifkan kode format otomatis untuk Intellij IDEA?

129

Apakah mungkin di Intellij IDEA setelah mengetik ';' atau tekan 'Enter' terjadi pemformatan string ini?

Misalnya, untuk:

a+b=10;

setelah:

a + b = 10;

Atau hanya opsi yang memungkinkan: Kode> Kode Reformat ... ?

Terima kasih!

0x131313
sumber
1
Alt+ c+r
Gayan Weerakutti
jika Anda ingin fitur ini dimasukkan ke dalam IntelliJ itu sendiri (bukan dalam plugin apa pun), silakan pilih di sini: youtrack.jetbrains.net/issue/IDEABKL-5806
Baris

Jawaban:

181

Pintasan pemformatan di Intellij IDEA adalah:

  • Untuk Windows: Ctrl+ Alt+L
  • Untuk Ubuntu: Ctrl+ Alt+ Windows+ L
  • Untuk Mac: ⌥ (Option)+ ⌘ (Command)+L
axelrod
sumber
88
Ya, tapi saya ingin ini terjadi secara otomatis tanpa menekan tombol hotkey.
0x131313
Makro? ctrl + alt + l menjadi ctrl + alt + l + enter
Jeff
17
Pertanyaannya dengan jelas menyatakan "format otomatis" setelah setiap baris ditulis.
bokan
2
@axelrod apakah ada cara untuk melakukan ini secara otomatis saat menyimpan atau menyusun kode
Kasun Siyambalapitiya
3
Itu tidak menjawab pertanyaan. Jawaban oleh Nafiur Rahman Khadem tidak.
Dakatine
22

Saya telah menemukan dua cara untuk melakukan ini:

  1. Pergi ke Settings> Keymap.Di bagian kanan pergi ke Editor Actions> complete current statement.Klik dan pilih add pintasan keyboard. Tekan ; dan pilih ok.

  2. Gunakan makro. Pergi ke

Edit> Macros> Start Macro Recording.

Sekarang tekan titik koma dan pintasan keyboard untuk memformat ulang kode (Anda dapat menemukan pintasan keyboard dari jawaban lain atau dari pengaturan> keymap).

Setelah melakukan reformat pergi ke

Edit> Macros> Stop Macro Recording

Simpan makro dengan nama (format otomatis atau yang lainnya). Lalu pergi ke

Settings> Keymap> Macros> auto format (nama makro).

Klik di sana dan pilih tambahkan pintasan keyboard, lalu tekan titik koma dan klik ok. Sekarang setiap kali Anda menekan titik koma, ia akan menulis titik koma dan melakukan format otomatis.

Nafiur Rahman Khadem
sumber
Bagus. Saya juga menambahkan Shift+[menggunakan metode pertama untuk memformat garis ketika menulis ifpernyataan dan metode dan semacamnya. Untuk beberapa alasan, Entersepertinya tidak berhasil.
Matt
1
Ini sangat membantu, aneh bahwa Intellij tidak memiliki opsi auto-reformat sama sekali
Teedeez
12

Eclipse memiliki opsi untuk memformat secara otomatis saat menyimpan file. Tidak ada opsi untuk ini di IntelliJ walaupun Anda dapat mengonfigurasi makro untuk tombol Ctrl + S (Cmd + S pada Mac) untuk memformat kode dan menyimpannya.

Intellij memformat ulang pada penyimpanan file

Mouscellaneous
sumber
7

Yang standar adalah Ctrl+ Alt+ L Ada kotak dialog pemetaan kunci tempat Anda dapat mengonfigurasi / menimpa semua pintasan keyboard.

Navigasikan File-> Pengaturan-> KeyMap

masukkan deskripsi gambar di sini

vels4j
sumber
7

File-> Pengaturan -> Keymap-> Lengkapi Pernyataan Saat Ini

Saya menambahkan ;kunci di sana. Saat mengetik ';' pada akhir baris, ini adalah pemformatan otomatis.

MEMPERBARUI

Saya menyadari bahwa ini akan menyebabkan beberapa masalah dalam beberapa situasi. Gunakan Ctrl+ Shift+ Entersebagai gantinya. Kunci ini dapat digunakan di setiap posisi kursor dalam satu baris. Itu akan menambah; di akhir baris. Pintasan ini juga memiliki beberapa fitur bermanfaat lainnya.

Suka:

public void someMethod()

setelah pintasan:

public void someMethod() {
    // The cursor is here
}

jadi pemformatan saat memasukkan ;tidak perlu.

user12043
sumber
Cerdas, tetapi tidak untuk Kotlin
jobbert
6

Ini juga dapat dicapai dengan Ctrl + WindowsBtn + Alt + L. Ini akan penting bagi sebagian orang, karena di beberapa Mesin Virtual, Ctrl + Alt + L dapat mengeluarkan Anda.

syok
sumber
3

Tidak ada solusi di Intellij yang elegan (atau berguna) seperti di Eclipse. Yang kita butuhkan adalah permintaan fitur ke intellij sehingga kita bisa menambahkan hook (tindakan apa yang harus dilakukan) ketika IDE otomatis disimpan.

Di Eclipse kita dapat menambahkan tindakan "pasca-simpan", seperti mengatur impor dan memformat kelas. Ya, Anda harus melakukan "save" atau ctrl-s tetapi kailnya sangat nyaman.

ccstep1
sumber
1
adakah kontak dengan intellij tentang htis sejauh ini? Jika demikian, silakan kirim tautan di sini :)
Ruthi Ruth
@RuthiRuth menemukannya;) youtrack.jetbrains.net/issue/IDEABKL-5806
Baris
3

jika Anda mau, Anda bisa menggunakan plugin saveActions . Anda dapat memformat ulang file, mengoptimalkan impor, dan banyak hal lainnya, ini benar-benar dapat disesuaikan dan mudah diatur.

Danniel Alejandro
sumber
2

Di Mac itu adalah Alt+ Command+ L(dengan asumsi Anda belum mengubah tombol pengubah atau pintasan keyboard Intellij apa pun dari keadaan defaultnya)

mithunpaul
sumber
1

Ya itu tidak mungkin, tetapi di intellij 13, bagaimana dengan menambahkan gerakan mouse, sesuatu seperti klik kiri mouse untuk memformat ulang kode? Atau jika Anda tidak banyak menggunakan mouse maka tambahkan hotkey keyboard yang sangat sederhana yang Anda gunakan sepanjang waktu (mungkin "enter"? Tidak yakin apakah intellij akan senang dengan itu jujur ​​saja)

sakis kaliakoudas
sumber
2
Mengapa downvote? Saya mengatakan bahwa apa yang Anda inginkan tidak mungkin, dan mencoba untuk menyediakan hal terdekat yang mungkin ..
sakis kaliakoudas
Downvote mudah dijelaskan: Klik mouse. Satu keuntungan besar dari IntelliJ adalah pintasan dan Anda tidak perlu sering menggunakan mouse. Jika Anda banyak memberi kode, Anda tidak ingin terlalu banyak menggunakan mouse, karena Anda lebih cepat menggunakan keyboard. Sudah ada jalan pintas untuk memformat.
Phil
1

Cara saya menerapkan pembaruan otomatis seperti di Microsoft Visual Studio (Tidak berfungsi sempurna):

1. Edit > Macros > Start Macro Recording
2. Press continuously: Enter + Ctrl+Alt+I
3. Edit > Macros > Stop Macro Recording (Name it for example ReformatingByEnter)

Sekarang kita perlu melakukan tindakan yang sama tetapi untuk Ctrl + Alt + L +;

4. Edit > Macros > Start Macro Recording
5. Press continuously: ; + Ctrl+Alt+I
6. Edit > Macros > Stop Macro Recording (Name it for example ReformatingBy;)

Sekarang kita perlu menetapkan HotKeys ke makro ini:

7. File > Settings > Keymap > press on a gear button > Duplicate...
8. Unfold a macro button (beneath) and by right clicking on two 
ours macros assign HotKeys for them: "Enter" and ";" correspondingly.
Rostislav Teryaev
sumber
Mungkin menjadi batasan keyboard saya, tetapi saya hanya bisa merekam 3 tombol sekaligus.
Matt
1

Saya tahu pertanyaan ini cukup lama tetapi sebenarnya ada plugin Simpan Tindakan untuk IntelliJ yang dapat dikonfigurasi untuk memformat kode secara otomatis.

algiogia
sumber
1

Anda dapat melakukannya dengan plugin Save Actions. Baca artikel ini tentang cara mengkonfigurasi plugin.

Plugin Save Actions Mendukung yang dapat dikonfigurasi, seperti Eclipse, menyimpan tindakan, termasuk "mengoptimalkan impor", "memformat ulang kode", "mengatur ulang kode", "mengkompilasi file" dan beberapa perbaikan cepat untuk Java seperti "tambah / hapus 'kualifikasi ini", dll Plugin mengeksekusi tindakan yang dikonfigurasi ketika file disinkronkan (atau disimpan) pada disk.

  1. Instal pengaya
  2. Buka Pengaturan > Pengaturan lain > Simpan tindakan
  3. Centang Aktifkan simpan tindakan di simpan
  4. Centang file Reformat
  5. Berlaku> OK

masukkan deskripsi gambar di sini

Saya lebih suka tombol pintas, Untuk Mac,

Untuk memformat kode: Ctrl+ Alt(Option)+L

Dan selain itu saya lakukan ,: Ctrl+ Alt(Option)+ O , Ini akan menghapus impor yang tidak digunakan dan format daftar impor juga.

utama
sumber