Language-tools: vscode: espaces bizarres lors du formatage

Créé le 7 mai 2020  ·  8Commentaires  ·  Source: sveltejs/language-tools

Existe-t-il un moyen de ne pas ajouter d'espaces dans le code HTML ci-dessous lors du formatage?

J'ai besoin de ce code pour rester comme ça:

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

Cela devient plutôt ceci:

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

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

question

Commentaire le plus utile

Voici le problème pertinent pour joli-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (il est étiqueté comme un bogue)

Tous les 8 commentaires

Le plugin utilise Prettier pour formater le code. Donc, à la fin, c'est plus joli formater le code de cette façon. Comme Prettier est très opiniâtre et n'a pas beaucoup d'options, je suppose que vous ne pouvez pas faire grand-chose à ce sujet.
Si vous souhaitez désactiver complètement le formatage, vous pouvez le faire en définissant l'option svelte.format.enable sur false dans vos paramètres VSCode.

Non, j'en ai besoin. Mais je pense que nous devrions repenser ces problèmes de formatage. S'il vous plaît, ne fermez pas. RFC ceci. S'il te plaît.

Je pense que cela dépend des préférences de l'utilisateur - je voudrais par exemple que le code soit formaté de cette façon. Étant donné que la plus jolie est très opiniâtre, il existe peu d'options pour modifier le résultat. Puisqu'il ne casse pas non plus votre code, c'est plus un inconvénient. Cela vous aiderait-il si vous pouviez désactiver le formatage html ( demande de fonctionnalité associée )? Ensuite, le script / style serait formaté mais pas html.

Remplacer plus joli par un formateur entièrement différent est quelque chose que nous ne voulons pas faire pour le moment. Ce que nous pourrions faire, c'est ajouter le formateur html vscode comme deuxième option, de sorte que vous choisiriez entre l'un des deux. Mais même si nous ajoutions un autre formateur, alors il y a toujours la question de savoir si ce formateur fait alors ce que vous voulez.

<!-- prettier-ignore --> est implémenté dans prettier-plugin-svelte 1.1.0 et @dummdidumm vient de lui

Voici le problème pertinent pour joli-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (il est étiqueté comme un bogue)

Oui, le problème est que l'ajout de nouvelles lignes ici modifie la sortie rendue en insérant des espaces dans la sortie. Le premier extrait de code en haut s'affiche dans le navigateur sous la forme Test (one) mais après l'ajout des nouvelles lignes, il devient Test ( one )

Le formatage HTML standard de Prettier a un paramètre d'espacement HTML pour déterminer comment il traite les espaces en HTML, mais le plugin Svelte Prettier ne semble pas l'honorer. D'après mon exploration limitée, il réimplémente de nombreuses fonctionnalités de formatage HTML afin de prendre également en charge la syntaxe du modèle Svelte.

La mise à jour de l'OMI afin que nous obtenions une option <!-- prettier-ignore --> est une bonne solution de contournement pour le moment.
EDIT: En fait, il semble que cela fonctionne déjà.

si quelqu'un voulait aider à résoudre ce problème. vous pouvez choisir ce qui reste avec ce PR
https://github.com/sveltejs/prettier-plugin-svelte/pull/41

Puisqu'il s'agit d'un problème prettier-plugin-svelte , je vais le fermer. Pour contourner ce problème, utilisez <!-- prettier-ignore --> .

Cette page vous a été utile?
0 / 5 - 0 notes