Language-tools: vscode: bizarre Leerzeichen während der Formatierung

Erstellt am 7. Mai 2020  ·  8Kommentare  ·  Quelle: sveltejs/language-tools

Gibt es eine Möglichkeit, während der Formatierung keine Leerzeichen im folgenden HTML-Code hinzuzufügen?

Ich brauche diesen Code, um so zu bleiben:

<div>
  Test (<span class="color">one</span>)
</div>

Es wird stattdessen dies:

<div>
  Test (
  <span class="color">one</span>
  )
</div>

Von https://github.com/UnwrittenFun/svelte-vscode/issues/50.

question

Hilfreichster Kommentar

Hier ist das relevante Problem für prettier-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (es ist als Fehler gekennzeichnet)

Alle 8 Kommentare

Das Plugin verwendet Prettier, um den Code zu formatieren. Am Ende ist es also schöner, den Code so zu formatieren. Da Prettier sehr eigensinnig ist und nicht viele Optionen hat, können Sie wahrscheinlich nicht viel dagegen tun.
Wenn Sie die Formatierung ganz deaktivieren möchten, können Sie dies tun, indem Sie die Option svelte.format.enable in Ihren VSCode-Einstellungen auf false setzen.

Nein, ich brauche es. Aber ich denke, wir sollten diese Formatierungsprobleme überdenken. Bitte nicht schließen. RFC dies. Bitte.

Ich denke, das hängt von den Benutzereinstellungen ab. Ich möchte zum Beispiel, dass der Code so formatiert wird. Da hübscher sehr einfühlsam ist, gibt es nur wenige Möglichkeiten, das Ergebnis zu optimieren. Da es auch Ihren Code nicht bricht, ist es eher eine Unannehmlichkeit. Würde es Ihnen helfen, wenn Sie die HTML-Formatierung deaktivieren könnten ( entsprechende Funktionsanforderung )? Dann würde Skript / Stil formatiert, aber nicht HTML.

Hübscher durch einen völlig anderen Formatierer zu ersetzen, ist etwas, was wir im Moment nicht tun wollen. Wir könnten den HTML-Formatierer vscode als zweite Option hinzufügen, sodass Sie zwischen einem der beiden Optionen wählen können. Aber selbst wenn wir einen anderen Formatierer hinzufügen würden, stellt sich immer die Frage, ob dieser Formatierer dann tut, was Sie wollen.

<!-- prettier-ignore --> ist in prettier-plugin-svelte 1.1.0 implementiert und @dummdidumm stößt einfach die Version von prettier-plugin-svelte dieses Repos darauf an. Sie könnten es in der letzten schlanken Beta verwenden.

Hier ist das relevante Problem für prettier-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (es ist als Fehler gekennzeichnet)

Ja, das Problem ist, dass das Hinzufügen von Zeilenumbrüchen hier die gerenderte Ausgabe ändert, indem Leerzeichen in die Ausgabe eingefügt werden. Das erste Snippet oben wird im Browser als Test (one) gerendert, aber nach dem Hinzufügen der Zeilenumbrüche wird es zu Test ( one )

Die Standard-Prettier-HTML-Formatierung verfügt über eine HTML-Leerzeicheneinstellung, um zu bestimmen, wie Leerzeichen in HTML behandelt werden. Das Svelte Prettier-Plugin scheint dies jedoch nicht zu berücksichtigen. Aufgrund meiner begrenzten Erkundung werden viele HTML-Formatierungsfunktionen neu implementiert, um auch die Svelte-Vorlagensyntax zu unterstützen.

Die IMO-Aktualisierung, damit wir eine <!-- prettier-ignore --> -Option erhalten, ist vorerst eine gute Problemumgehung.
EDIT: Eigentlich sieht es so aus, als ob das schon funktioniert.

wenn jemand helfen wollte, dies zu lösen. Sie können auswählen, was mit dieser PR übrig bleibt
https://github.com/sveltejs/prettier-plugin-svelte/pull/41

Da dies ein prettier-plugin-svelte Problem ist, werde ich dies schließen. Verwenden Sie als Problemumgehung <!-- prettier-ignore --> .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen