Language-tools: vscode:格式化期间的奇异空格

创建于 2020-05-07  ·  8评论  ·  资料来源: sveltejs/language-tools

有没有一种方法在格式化期间不在下面的html中添加空格?

我需要以下代码来保持这样:

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

改为:

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

来自https://github.com/UnwriteFun/svelte-vscode/issues/50。

question

最有用的评论

这是prettier-plugin-svelte的相关问题-https: //github.com/sveltejs/prettier-plugin-svelte/issues/24 (被标记为错误)

所有8条评论

插件使用Prettier格式化代码。 所以最后这是更漂亮的格式化代码的方式。 由于Prettier非常自以为是,没有太多选择,所以我想您对此无能为力。
如果要完全取消格式化,可以通过在VSCode设置中将选项svelte.format.enable设置为false来实现。

不,我需要它。 但是我认为我们应该重新考虑这种格式化问题。 请不要关闭。 RFC这个。 请。

我认为这取决于用户的偏好-例如,我希望以这种方式格式化代码。 由于更漂亮,所以很少有选择来调整结果。 由于它也不会破坏您的代码,因此带来了更多的不便。 如果您可以关闭html格式(相关功能请求),是否会对您有所帮助? 然后脚本/样式将被格式化,而不是html。

目前,我们不希望用完全不同的格式化程序代替漂亮的文件。 我们可以做的是将vscode html格式器添加为第二个选项,因此您可以在两者之一之间进行选择。 但是,即使我们要添加另一个格式化程序,也始终存在一个问题,即该格式化程序是否可以满足您的要求。

<!-- prettier-ignore -->是在prettier -plugin-svelte 1.1.0中实现的, 将此仓库的prettier -plugin-svelte版本

这是prettier-plugin-svelte的相关问题-https: //github.com/sveltejs/prettier-plugin-svelte/issues/24 (被标记为错误)

是的,问题在于,在此处添加换行符是通过在输出中插入空格来更改呈现的输出。 顶部的第一个代码段在浏览器中呈现为Test (one)但是在添加换行符后,其变为Test ( one )

标准的Prettier HTML格式确实具有HTML空格设置,可以确定如何处理HTML中的空格,但是Svelte Prettier插件似乎并不适合这种做法。 从我的有限探索中,它重新实现了许多HTML格式化功能,以便也支持Svelte模板语法。

IMO更新,因此我们现在有<!-- prettier-ignore -->选项是一个不错的解决方法。
编辑:其实看起来这已经可以了。

如果有人想帮助解决这个问题。 你可以选择剩下的PR
https://github.com/sveltejs/prettier-plugin-svelte/pull/41

由于这是prettier-plugin-svelte问题,因此我将关闭此问题。 解决方法是使用<!-- prettier-ignore -->

此页面是否有帮助?
0 / 5 - 0 等级