Js-beautify: Garis tidak dilepas dengan benar saat atribut dibungkus

Dibuat pada 5 Jan 2017  ·  23Komentar  ·  Sumber: beautify-web/js-beautify

Deskripsi

Indentasi rusak setiap kali pembungkusan atribut terjadi.

Menggunakan js-beautify v1.6.8 .

Memasukkan

Kode tersebut terlihat seperti ini sebelum kecantikan:

<div first second>content</div>
<div>content</div>

Output yang Diharapkan

Kode seharusnya terlihat seperti ini setelah kecantikan:

<div first 
     second>content</div>
<div>content</div>

Output Aktual

Kode sebenarnya terlihat seperti ini setelah kecantikan:

<div first
     second>content</div>
    <div>content</div>

Langkah-langkah untuk Mereproduksi

Mempercantik kodenya

Lingkungan Hidup

OS: MacOS

Pengaturan

Contoh:

{
    "wrap_attributes": "force-aligned"
}

Catatan: wrap_attributes tidak harus disetel untuk disejajarkan secara paksa. Pembungkusan apa pun (tidak termasuk "force-expand-multiline") yang dimasukkan, termasuk jika "otomatis" yang menyebabkan pembungkusan akan menunjukkan masalah ini.

html bug

Komentar yang paling membantu

Menemukan masalahnya. Memperbaiki sekarang.

Semua 23 komentar

Saya mengalami masalah yang sama (melalui atom-beautify # 735 )

<p attr1 attr2 attr3>
  text
</p>

berubah menjadi

<p attr1
    attr2
    attr3>
  text
  </p>

bungkus paksa saya aktif

Sama di sini, kodenya semakin menjorok ke dalam hingga saat-saat terakhir. Tidak mungkin untuk menggunakan beautifier ini lagi seperti ini, saya harus memformat kode secara manual: /

<nav id="header"
  class="navbar navbar-default">
  <div class="header-container container-fluid">
    <div class="logo-container navbar-header">
      <a ui-sref="stats"
        class="navbar-brand pws-icon pws-pws"></a>
    </div>
    <div class="header-contents collapse navbar-collapse">
      <ul class="tab-list nav navbar-nav">
        <li class="tab tab-prospects"
          ui-sref-active="active">
          <a ui-sref="stats">
            Stats
          </a>
          </li>
          <li class="tab tab-prospects"
            ui-sref-active="active">
            <a ui-sref="upload">
              Importer
            </a>
            </li>
            <li class="tab tab-prospects"
              ui-sref-active="active">
              <a ui-sref="territories">
                Territory Assignment
              </a>
              </li>

      </ul>
    </div>
  </div>
  </nav>

Saya dapat mengonfirmasi bug ini, mulai terjadi secara acak.
Setiap kali atribut tag membungkus, konten bagian dalam mulai membuat indentasi yang salah.

[edit]
Saya harus menonaktifkan plugin ini untuk melanjutkan pekerjaan saya sampai perbaikan dikirim = /

sama disini! = /

@bitwiseman Apakah ada yang mengerjakan ini? Ini adalah paket yang cukup populer dan ini adalah masalah yang cukup besar ... Saya ingin memperbaikinya :( sayangnya saya tidak yakin apa yang harus saya ubah untuk menyumbangkan kode sendiri. Mungkin beberapa petunjuk?

sepertinya menghapus "wrap_attributes": "force" dalam html dari file .jsbeautifyrc menyelesaikan masalah

@chenasraf - Saya akan senang melihat ini diperbaiki. Lihat Contributing.md untuk instruksi membangun secara lokal.
Permintaan tarik # 1104 menunjukkan seperti apa perubahan yang baik itu: tambahkan entri ke test/data/html/tests.js , perbarui kode produk, dan bangun (perubahan pada file generated dilakukan secara otomatis).

@matheusdavidson - senang mengetahuinya. @chenasraf - Anda ingin menambahkan pengujian ke matriks yang sudah menguji opsi wrap_attributes .

Adakah yang benar-benar mengerjakan ini? Terlalu banyak garpu untuk memeriksa semuanya. Mungkin saya bisa membantu.

@ kf-ireneuszpatalas Saya belum punya waktu untuk mengerjakannya, dan @chenasraf adalah satu-satunya orang lain yang telah menyatakan minat.

@bitwiseman Tampaknya menambahkan multi_parser.unindent() setelah js / lib / beautify-html.js: 980 memperbaiki masalah ini, meskipun saya tidak yakin apakah ini sesuai dengan logika, kondisi apa yang harus ditambahkan, dll ... Jika Anda masih ingin saya mengurusnya, ini akan memakan waktu beberapa hari hingga saya mendapatkan cukup waktu luang untuk membahas dasar-dasar apa yang terjadi dalam paket. Entah itu atau mungkin orang lain ingin mengambil kendali

@chenasraf - yang menyebabkan beberapa pengujian gagal bahkan sebelum saya melakukan hal lain. Ya, saya masih ingin Anda mengatasi masalah ini jika Anda bisa.

@chenasraf ,

Menemukan masalahnya. Memperbaiki sekarang.

PR dikirim

@HookyQR - Terima kasih banyak! Digabung dan diterbitkan.

Apakah mungkin untuk memperluas opsi pembungkusan dengan "penyelarasan otomatis" ??

"force-align" akan memaksa membungkus + menyelaraskannya ...

tetapi katakanlah saya tidak ingin membungkus SETIAP ELEMEN HTML TUNGGAL, tetapi hanya yang panjang - dan kemudian melakukannya secara manual ..

jadi, "penyelarasan otomatis" hanya akan meratakan yang sudah digabungkan.

@Montago - Silakan buka masalah baru yang menjelaskan apa yang Anda inginkan, termasuk input, output, dll.

@jamur_kejang

sudah ada yang terbuka dengan fungsionalitas yang saya cari: https://github.com/beautify-web/js-beautify/issues/1125

Saya baru saja menginstal ini dan saya mendapatkan masalah indentasi dengan grunt dan opsi berikut: wrapAttributes: 'force-expand-multiline'
Saya menjalankan v1.7.5
Terima kasih

Juga mendapatkan masalah ini dengan 'force-expand-multiline' pembaruan apa pun?

Juga mendapatkan masalah ini dengan 'force-expand-multiline'

@affanshahid @veDev
Sudahkah Anda mencoba ini dengan 1.8.0-rc2?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat