在 WebStorm 中对 .svelte 执行 Reformat Code 时出现 ✂prettier:content✂ 问题
我都不知道这个问题让我折腾了好几天。 先不说别的,正如我在上一篇文章中也说明过的,IntelliJ 对 prettier、eslint、.svelte 等的兼容性并没有想象中那么好。 我之前在博客文章中说过,取消这个选项就能解决问题, 但实际上,在某些特定的 .svelte 文件中,仍然会出现问题,实在令人无语。 于是
我都不知道这个问题让我折腾了好几天。 先不说别的,正如我在上一篇文章中也说明过的,IntelliJ 对 prettier、eslint、.svelte 等的兼容性并没有想象中那么好。 我之前在博客文章中说过,取消这个选项就能解决问题, 但实际上,在某些特定的 .svelte 文件中,仍然会出现问题,实在令人无语。 于是
我都不知道这个问题让我折腾了好几天。 先不说别的,正如我在上一篇文章中也说明过的,IntelliJ 对 prettier、eslint、.svelte 等的兼容性并没有想象中那么好。

我之前在博客文章中说过,取消这个选项就能解决问题, 但实际上,在某些特定的 .svelte 文件中,仍然会出现问题,实在令人无语。
于是我检查了一下这个问题,发现是 IDE 编辑器和 prettier 的问题,
具体来说,
打开 .prettierrc 文件时,
上方会出现这样的提示,在这条提示中选择 YES 的话,

相应的代码风格就会像这样变成 Project……
而当 prettier 的内容被应用到 Project Code Style 后,就会引发额外的错误。
所以,这个值应该设置为

也就是设置为我原本使用的 PSR-12 规则。
最让人摸不着头脑的是,
执行 reformat code 时,会自动同时应用 prettier 的设置。 但如果把这些设置放进 Code Style,就会出错。
因此,我把自己使用的 PSR-12 设置导出到 .editorconfig,
又把应用了 prettier 的 Project 设置导出到 .editorconfig,
然后对比了这两个值,但还是找不到会导致 ✂prettier:content✂ 错误的因素。
所以,如果想使用 prettier,并且顺利地执行 reformat code,
就直接使用我设置的 Code Style,
不要在 .prettierrc 文件中启用 Use code style based on Prettier for tihs project?。
使用 WebStorm、PhpStorm 时,因为只用 PHP,所以没有太大问题(顺便说一下,.vue 也没问题)。
但是,想要使用 .svelte,或者想要使用 prettier、eslint 时,感觉会遇到很多麻烦。
另外……我还把 Fix ESLint Problems

的 Keymap 设置成了 Ctrl+Alt+Shift+O。
因为默认情况下,Prettier 的 Reformat wtih Prettier 快捷键是 Ctrl+Alt+Shift+P,所以我把它设置成了 O 键。
总之,我已经在 IntelliJ IDE 编辑器中进行了设置,尽可能让自己能够同时使用 prettier、eslint 和 svelte。
如果没有太大问题,我就打算直接在 IntelliJ 中编写代码了。