Js-beautify: Opsi untuk mempertahankan var dan perataan objek yang ada (seperti melestarikan_array_indentation)

Dibuat pada 31 Jan 2014  ·  18Komentar  ·  Sumber: beautify-web/js-beautify

Apakah mungkin/dapat diterima untuk menambahkan opsi yang mengonversi

var short_var = "value";
var very_long_var = "value";

var obj = {
    "short_prop": "value",
    "very_long_property": "value" 
}

ke

var short_var     = "value";
var very_long_var = "value";

var obj = {
    "short_prop"        : "value",
    "very_long_property": "value" 
}
javascript enhancement

Komentar yang paling membantu

+1. Solusi yang menangani spasi atau setidaknya mengabaikan spasi di dalam objek. Saya bahkan tidak keberatan melakukan penspasian sendiri (editor saya dapat melakukannya) selama JSB tidak mengembalikan perubahan saya ketika saya menyimpan.

Semua 18 komentar

Secara teoritis - ya, itu tidak akan bertentangan dengan semangat kecantikan,
tetapi implementasi praktisnya akan sangat mengerikan dan meretas, parser tidak benar-benar cocok untuk mengamati kode dengan cara yang diperlukan untuk ini.

Lihat #200.

Terima kasih.
Sebagai gantinya, bisakah kita menambahkan opsi untuk mencegah kecantikan menghapus spasi putih tambahan itu?
Kami sudah menggunakan "aturan penyelarasan" dalam proyek kami dan saya ingin menggunakan beautifier dan menjaga keselarasan.
Apakah terlalu spesifik untuk diterapkan?

Menarik.

Ya, sepertinya itu mungkin - kami memiliki opsi untuk mempertahankan lekukan array yang melayani tujuan yang sama. Jalur kode untuk fitur ini akan serupa dengan itu. (Saya telah mengedit judul untuk ini.)

Namun, ini adalah prioritas yang lebih rendah bagi kami daripada beberapa fitur dan perbaikan lain yang sangat diminta. Anda dipersilakan untuk mengkodekannya dan mengirimkan PR, tetapi saya akan memperingatkan Anda bahwa kami meminta orang untuk mengirimkan tes juga dan kami mencoba meminimalkan perubahan api, terutama pada baris perintah. Jadi mungkin perlu ada diskusi tambahan.

Kasus terburuk jika kami tidak menerima PR Anda adalah Anda masih memiliki tambalan yang dapat Anda gunakan secara lokal. :senyum:

+1

Saya tidak tahu apa yang dimiliki fitur PHP_Beautify pada proyek ini. :senyum:

@bitwiseman Ini menunjukkan preseden untuk fitur

Maaf, aku kebanyakan menggodamu. :senyum:
Saya sudah setuju ini adalah fitur yang valid dan berpotensi berguna, hanya prioritas yang lebih rendah dan tingkat kesulitan yang tinggi daripada masalah lain yang sedang terbuka.

Saya akan mencoba mencari waktu luang untuk membuat PR nanti :)

Sedikit saran yang tidak diminta: Saya akan mencoba menerapkan ini hanya untuk kasus literal objek terlebih dahulu. Ini awal dan akhir yang relatif dikenali dengan bersih, di mana Anda dapat dengan mudah melacak garis di mana bidang dideklarasikan dan panjang bidang. Lakukan PR untuk itu, kita bisa mendiskusikan dan menyelesaikan setiap sisi kasar, dan kembali dan lakukan kasus var berikutnya. Jika Anda buntu, berikan saya garis atau cabang perantara untuk dilihat.

Maafkan ketidaktahuan saya, tetapi apakah ada cara saat ini untuk mempertahankan pemformatan objek seperti:

var obj = { a: 123, b: "xyz" };

ups sepertinya saya harus melihat #315 dan #370

eslint dapat melakukan ini untuk Anda dengan
~Perbaiki semua masalah yang dapat diperbaiki secara otomatis~
dan konfigurasinya:
~"penspasian tombol": [2, {"afterColon": benar,"sejajarkan": "nilai","beforeColon": salah}]~

Ini harus terhubung ke #365 dan #603

@clawconduce - Setuju, terima kasih.

+1. Solusi yang menangani spasi atau setidaknya mengabaikan spasi di dalam objek. Saya bahkan tidak keberatan melakukan penspasian sendiri (editor saya dapat melakukannya) selama JSB tidak mengembalikan perubahan saya ketika saya menyimpan.

Lihat #1209 , itu tidak cantik, tapi setidaknya awal, dan bisa digabungkan dengan cinta.

Saya mencobanya dengan cepat di #1209, tetapi saya rasa saya tidak akan punya waktu untuk menyelesaikannya dengan benar.

Di antara hal-hal yang lebih sulit untuk diketahui adalah kapan harus mengabaikan logika ini - saya memelihara beberapa file di mana kuncinya adalah nama fungsi dan nilainya adalah fungsi itu sendiri - jadi objeknya adalah ratusan baris dan saya tidak ingin itu menjorok. Mungkin jika suatu fungsi muncul di objek, pemformatan ini tidak terjadi? Mungkinkah itu tidak terjadi jika objek menutupi sejumlah garis?

Bagaimanapun, harap seseorang dapat mengambil ini!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat