フォーマット中に以下のhtmlにスペースを追加しない方法はありますか?
私はこのようにとどまるためにこのコードが必要です:
<div>
Test (<span class="color">one</span>)
</div>
代わりにこれになります:
<div>
Test (
<span class="color">one</span>
)
</div>
プラグインはPrettierを使用してコードをフォーマットします。 したがって、最終的には、コードをそのようにフォーマットする方がきれいです。 Prettierは非常に意見があり、選択肢があまりないので、これについてできることはあまりないと思います。
フォーマットを完全にオフにしたい場合は、VSCode設定でオプションsvelte.format.enable
をfalseに設定することでそれを行うことができます。
いいえ、必要です。 しかし、私たちはこのフォーマットの問題を再考する必要があると思います。 閉じないでください。 RFCthis。 お願いします。
これはユーザーの好みに帰着すると思います。たとえば、コードをそのようにフォーマットしたいと思います。 きれいな人は非常に意見が分かれているので、結果を微調整するためのオプションはほとんどありません。 それはまたあなたのコードを壊さないので、それはもっと不便です。 HTMLフォーマット(関連する機能リクエスト)をオフにできると役に立ちますか? 次に、スクリプト/スタイルはフォーマットされますが、htmlはフォーマットされません。
きれいなフォーマッターをまったく異なるフォーマッターに置き換えることは、現時点ではやりたくないことです。 私たちにできることは、2番目のオプションとしてvscode htmlフォーマッターを追加することです。そのため、2つのうちの1つを選択します。 ただし、別のフォーマッタを追加する場合でも、そのフォーマッタが必要な処理を実行するかどうかは常に疑問です。
<!-- prettier-ignore -->
はprettier-plugin- svelte 1.1.0に実装されており、 svelteのバージョンをそれにバンプするだけです。 最新のsvelteベータ版で使用できます。
prettier-plugin-svelteに関連する問題は次のとおりです-https ://github.com/sveltejs/prettier-plugin-svelte/issues/24 (バグとしてラベル付けされています)
ええ、問題は、ここに改行を追加すると、出力にスペースが挿入されることによって、レンダリングされた出力が変更されることです。 上部の最初のスニペットはブラウザでTest (one)
としてレンダリングされますが、改行を追加するとTest ( one )
標準のPrettierHTMLフォーマットには、HTMLで空白を処理する方法を決定するためのありますが、SveltePrettierプラグインはそれを尊重していないようです。 私の限られた調査から、Svelteテンプレート構文もサポートするために多くのHTMLフォーマット機能を再実装します。
<!-- prettier-ignore -->
オプションを取得するようにIMOを更新することは、今のところ良い回避策です。
編集:実際には、これはすでに機能しているように見えます。
誰かがこれを解決するのを手伝いたいなら。 このPRで残っているものを選ぶことができます
https://github.com/sveltejs/prettier-plugin-svelte/pull/41
これはprettier-plugin-svelte
問題なので、これを閉じます。 回避策として、 <!-- prettier-ignore -->
ます。
最も参考になるコメント
prettier-plugin-svelteに関連する問題は次のとおりです-https ://github.com/sveltejs/prettier-plugin-svelte/issues/24 (バグとしてラベル付けされています)