VS Code 1.62.2报css-rparentexpected错误:SCSS减法语法提示缺右括号
问题原因
VS Code 1.62+版本升级了内置的SCSS语言校验规则,对运算符语法的校验标准收紧,你代码中$tablet - 1px这种减法运算前后带空格的写法,被新版内置校验误判为语法错误,实际上该写法完全符合SCSS语法规范,也不影响项目正常编译运行。
解决方案(无需修改项目代码)
方案1:完全关闭内置SCSS校验(操作最简单)
- 打开VS Code设置面板:快捷键
Ctrl+,(Windows系统)/Cmd+,(Mac系统) - 搜索配置项
scss.validate,取消对应选项的勾选 - 重启VS Code后所有SCSS内置报错都会消失,不会影响项目的正常编译打包
方案2:仅忽略特定类型的报错(保留其他SCSS校验能力)
如果不想完全关闭SCSS校验,只屏蔽本次的) expected报错,可以按以下步骤操作:
- 打开VS Code设置面板,点击右上角的「打开设置(JSON)」图标
- 在配置文件中添加如下规则:
"css.lint.rparentexpected": "ignore", "scss.lint.unknownFunctions": "ignore"
- 保存配置后重启VS Code即可,其中第二条规则是用来忽略代码中自定义
vw()函数的未知函数报错,如果没有这类自定义函数可以不用加。
补充优化方案
如果后续需要更灵活精准的SCSS语法校验,可以关闭内置SCSS校验功能,安装Stylelint插件,配合项目根目录的.stylelintrc自定义校验规则,完全适配项目的SCSS写法规范,不会出现类似的误报问题。
内容的提问来源于stack exchange,提问作者Cheizer
相关产品推荐
相关产品推荐

