Bagaimana Anda mengubah kode format intellij auto? [Tutup]

13

IntelliJ melakukan beberapa pemformatan aneh dengan kode Javascript dan saya mencoba mencari cara untuk menghentikan pemformatan dengan cara ini. Setiap kali saya menghubungkan fungsi jQuery bersama-sama, itu akan membuat indentasi kode yang dibuat secara otomatis seperti ini:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

Saya ingin terlihat seperti ini:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

Bagaimana saya mengubahnya?

intargc
sumber
perbaikan di sini tidak bekerja untuk saya, jadi saya menghubungi jetbrains dan mereka telah membuka masalah. Harap beri
JonnyRaa
4
Saya memilih untuk menutup pertanyaan ini sebagai di luar topik karena ini tentang alat perangkat lunak, namun terlalu tua untuk bermigrasi ke Stack Overflow.

Jawaban:

11

Seperti @intarg menyebutkan, di komentar. Anda dapat mengubah File|Settings|Code Style|Generaldan pada tab Javascript diatur Continuation Indentke 0 untuk Javascript.

Itu akan membuat Anda mendapatkan sebagian besar dari apa yang Anda inginkan. masalahnya adalah bahwa kode Anda sebenarnya semua 1 pernyataan panjang.

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

Tidak yakin bahwa ada opsi yang relevan untuk mencegah jeda baris setelah focus(

Oh, dan pastikan Anda memiliki tab sampel kode Javascript aktif saat Anda mengubah opsi - jika tidak, Anda tidak akan mengubahnya untuk Javascript.

EDIT: Sekarang saya telah melihat lebih jauh. Formatter Javascript dikodekan untuk menambahkan linebreak dalam kasus tertentu, tidak ada opsi untuk itu.

sylvanaar
sumber
Ini tidak bekerja untuk saya - saya masih mendapatkan creep samping seperti diuraikan di atas
JonnyRaa
0

Semua pengaturan yang Anda butuhkan untuk mengontrol pemformatan kode di Intellij ada di File> Pengaturan Lainnya> Pengaturan Template.

Jika Javascript tidak terdaftar (mis. Anda belum menginstal plugin Javascript), Anda dapat menentukan pemformatan kode di bawah tab General dan kemudian tab Other. Akan ada opsi untuk mengendalikan indentasi dan spasi.

Planet terpencil
sumber
Saya pikir masalahnya adalah ia berpikir fungsi dari .blur () adalah kelanjutan indent. Satu-satunya cara saya dapat menghentikannya dari melakukan ini adalah dengan mengatur kelanjutan indent ke 0, tetapi itu membuat kode lain terlihat buruk juga. Apakah Anda tahu cara mengatakannya bukan indentasi lanjutan atau apakah ada beberapa hal internal yang terjadi?
intargc
Sudahkah Anda menginstal plugin Javascript ke intellij? Saya tahu ada beberapa yang tersedia. Jika Anda tidak menggunakan salah satu dari mereka, IDE hanya akan mundur pada indentasi / spasi standar. Anda idealnya menggunakan plugin untuk membuat IDE mengetahui konstruksi ini.
Desolate Planet
Sudahkah Anda mencoba jetbrains? Juga, sudahkah Anda mencoba melakukan ini dengan Eclipse. Saya belum menyentuh intellij dalam beberapa saat, tetapi saya tahu Eclipse telah mendapat dukungan plugin yang cukup bagus dan cukup mudah untuk mengontrol indentasi, tetapi Anda seharusnya tidak memiliki masalah dengan intellij.
Desolate Planet
Karena edisi komunitas adalah open source, Anda selalu bisa mendapatkan kode sumber, membangunnya, dan menyisipkan breakpoints di mana ia melakukan pemformatan untuk menyingkirkan jika ada masalah internal. Jika tidak melakukan apa yang Anda inginkan, terapkan perbaikan dan kirimkan tambalan kepada salah satu pemilik repo, jika Anda punya waktu dan kecenderungan untuk melakukannya :)
Desolate Planet
Saya sudah menginstal plugin javascript. Saya akan mencoba otak jet dan melihat apakah ada yang tahu. Terima kasih.
intargc