一,遇到的问题
前几天在学nuxt的时候,忽然感觉vue这样的标签的右箭头换行很影响美观,就想把它去了。
实现效果如下:
嗯,感觉美观了不少,解决过程也遇到了很多的问题,这里记一下。
二,处理过程
寻找过程
首先,我推测是prettier的问题,因为这种东西肯定是格式化的问题。
我走的第一条路是谷歌相关问题,因为根本不知道空格敏感这个词,我就搜索了vue中prettier换行问题,浏览了很多网页,发现和我说的都不太像。(我自己也觉得这个挺偏门的,但是就是感觉膈应,所以我推测肯定有人遇到了我这个问题,也想要解决)
然后我就想着要不换一些格式化文档(右键-格式化文档),换成volar之后发现问题没了,好了,我肯定是prettier的问题了。
但是这时我心里觉得这种边边角角的配置大概prettier没提供配置项,但是这是最后的办法——看prettier插件的扩展设置。
发现了上面这个,但是感觉不是,但是我顺手也打开了。
又往下翻了翻,ai,找到了,好像是这个。我看看参考文档先(万幸竟然是中文的,可能是中国人都看不惯这种样式吧哈哈)。
出现原因
出现这种格式的原因大概是这个意思:内联元素prettier换行处理的时候会出现错误的渲染。
可以看出第二个确实is前面多了一个空格。(程序员真的严谨,我个人感觉这种空格无关紧要😂)因为这个渲染错误所以prettier开发者开发出一开始的那种样子,我觉得闭合标签的右箭头没必要换行啊,这样也显得紧凑,可能是算法好写吧,要换行一起换行。
开始解决
然后我就打开了,信心满满地重新格式化保存,额,不好使???
我不信邪地上网上翻,这下子我知道空格敏感这个名字搜索起来轻松许多,看了一些帖子发现确实是这个问题啊。
我重新看了我的setting.json,没毛病啊。然后我重新谷歌:prettier配置失效的原因。
先试了试在项目根目录创建.prettierrc.json文件,然后配置,好了啊哈哈。(因为我打开的是个学习项目,懒得写这个文件),因为我觉得配置在vscode的setting.json中按理说项目里没有应该去setting.json中找呀,但是没生效,奇怪。
这样推断的话,既然我的setting.json没生效,那之前没配置.prettierrc.json时是谁在生效?
我忽然想起来我在全局用户目录下设置过.prettier.json文件。但是我记得没开启呀。
这里我已经注掉了,很奇怪。
所以我尝试地对这个文件进行更改,成功实现。
这里我还发现了一个地方,vscode右下角的prettier可以看到底是谁在生效,我去,怎么早没注意到。
暂时是把问题解决了,我猜测的原因是prettier使用的是我npm install prettier -g的prettier,所以它在当前文件夹下寻找就先找到了全局下的配置文件。
参考文章:
- prettier空格敏感化:https://www.wolai.com/make/nfqXcvFSXy6KtnVvD8xrNL