为什么保存文件时我的Prettier会出现红色标记
问题描述

我在VS Code中安装了Prettier插件,并且在设置中开启了粘贴时格式化选项,现在不清楚代码中出现这些红色条的原因,麻烦大家帮忙解答,谢谢。
原因说明
你看到的红色条是VS Code内置的源代码管理模块的行内差异标记,用来标识当前行和上一次保存的文件版本相比发生了改动,和你开启的Prettier粘贴自动格式化直接相关:
- 粘贴代码后Prettier会立刻自动调整代码的缩进、换行、标点等格式,改动过的行就会被VS Code标为红色,方便你快速定位格式化的修改范围。
- 如果保存文件后红色条仍然存在,说明Prettier的格式化规则和你当前文件的默认格式规范不匹配,保存时Prettier又二次修改了代码内容,导致差异标记一直存在。
解决方法
- 临时消除标记:按下
Ctrl/Cmd + S手动保存一次文件,没有格式冲突的情况下保存后差异会被重置,红色条自动消失。 - 永久关闭标记:打开VS Code设置页,搜索
scm.diffDecorations,将选项值改为none即可彻底关闭所有行内的改动标记。 - 解决格式冲突问题:在项目根目录新建
.prettierrc配置文件,统一配置缩进大小、单双引号、末尾分号等规则,避免Prettier每次格式化都自动修改代码。
内容的提问来源于stack exchange,提问作者Atharv
相关产品推荐
相关产品推荐

