Indentasi panggilan rantai JavaScript salah

10

Misalnya, jika saya memiliki beberapa kode JavaScript seperti ini:

var widget = library()
  .chainCall1()
  .chainCall2()
  .chainCall3();

Jika saya menggunakan =perintah untuk membuat indentasi secara otomatis, maka terlihat seperti ini:

var widget = library()
.chainCall1()
.chainCall2()
.chainCall3();

Yang bukan itu yang saya inginkan. Saya ingin indentasi panggilan berantai seperti pada awalnya. Bagaimana saya bisa memperbaikinya?

aharris88
sumber
@janos Tambang tidak hanya un-indentasi .chainCall2(), itu indentasi yang varsejalan untuk pertandingan .chainCall1() = o_0 =
Izkata

Jawaban:

3

Saya memiliki masalah yang sama - sebagian besar pemformatan JavaScript yang dilakukan oleh vim tidak buruk, tetapi dalam contoh seperti yang Anda berikan gagal gagal total.

Saya telah menggunakan plugin vim-jsbeautify untuk memperbaiki hal-hal di mana indentasi vim gagal, dan juga untuk membersihkan kode jelek yang ditulis orang lain. Ini berfungsi dengan sangat baik, Anda dapat menjalankannya pada seluruh file atau hanya suatu wilayah, dan dapat disesuaikan menggunakan file EditorConfig .

craigp
sumber