Stylelint 插件无反应需检查三件事:1. 项目根目录是否存在。stylelintrc 等配置文件;2.package.json 中是否安装 stylelint 包;3.VSCode 设置中 stylelint.enable 是否为 true。

Stylelint 插件装了但没反应?检查这三件事
VSCode 里装了 stylelint 插件却对 CSS 文件毫无提示,大概率不是插件坏了,而是配置没落到实际执行链路上。
- 确认项目根目录有
.stylelintrc(或stylelint.config.js等等效配置文件),没有配置文件时插件默认不启用规则 - 检查
package.json中是否已安装stylelint本身(不是只装了 VSCode 插件):npm install --save-dev stylelint - VSCode 设置里搜
stylelint.enable,确保值为true;再搜stylelint.autoFixOnSave,按需开启(注意:它只修可安全自动修复的问题)
为什么 .stylelintrc 写了规则,CSS 里还是没报错?
Stylelint 默认只检查 .css、.scss、.sass、.less 等后缀,但如果你用的是 .module.css 或 .pcss 这类自定义后缀,它直接跳过——根本不会读你的文件。
- 在
.stylelintrc里加"overrides"显式声明扩展名:{"overrides": [ { "files": ["**/*.module.css"], "customSyntax": "postcss-less" } ] } - 如果用的是 CSS-in-JS(比如
styled-components),必须额外装stylelint-processor-styled-components并在配置中指定"processor": "stylelint-processor-styled-components" - 检查 VSCode 当前打开的文件是否被
"files.associations"错误映射成了plaintext—— 右下角点击语言模式,手动切回CSS或SCSS
autoFixOnSave 不生效,或者修得乱七八糟?
自动修复不是万能的,尤其涉及缩进、空行、顺序类规则时,Stylelint 容易和 Prettier 冲突,或者因语法解析失败而放弃修复。
- 先关掉
stylelint.autoFixOnSave,改用保存时手动触发:Ctrl+Shift+P→ 输入stylelint.fixAll执行一次,看是否报错 - 如果提示
Cannot find module 'postcss',说明 Stylelint 缺少解析器依赖,运行npm install --save-dev postcss - 和 Prettier 共存时,建议只让 Prettier 管格式(缩进 / 换行 / 引号),Stylelint 管规范(命名 / 单位 / 兼容性),并在
.stylelintrc里禁用冲突规则:"indentation": null、"no-multiple-empty-lines": null
Vue / Svelte 单文件组件里的 style 标签不检查?
默认情况下,Stylelint 不会主动进入 <style> 块,除非你告诉它“这里面是 CSS”。
立即学习 “ 前端免费学习笔记(深入)”;
- 装
stylelint-config-standard-scss这类支持预处理器的配置还不够,得配processors:"processors": ["stylelint-processor-html"] - 更稳妥的做法是用
stylelint-processor-styled-components的兄弟项目:stylelint-processor-html(适用于 Vue/Svelte/Angular 模板内联样式) - Vue 3 +
<style scoped>场景下,某些属性选择器(如:deep())可能触发解析错误,此时需升级postcss到 8.x 以上,并在配置中加"customSyntax": "postcss-html"