能,但需满足装对插件、开对设置、配对路径三条件;常见失效因editor.suggest.showClasses、editor.quickSuggestions.strings未设true,或css.styleSheets未显式配置路径。

能,但必须满足三个硬性条件:装对插件、开对设置、配对路径,缺一不可。
为什么装了 IntelliSense for CSS class names in HTML 还没提示?
常见失效不是插件问题,而是配置漏项:
-
editor.suggest.showClasses没设为true→ 类名不会出现在补全候选列表里 -
editor.quickSuggestions.strings没设为true→ 在class=""双引号内不会自动弹建议(注意:这是editor.quickSuggestions对象下的子字段,不能直接给editor.quickSuggestions赋布尔值) -
css.styleSheets没在settings.json里显式声明 → 插件根本不知道去哪扫描类名,例如:"css.styleSheets": ["src/**/*.scss", "styles/**/*.css"]
为什么输入 card 不会提示 card__header?
插件不支持前缀模糊匹配,只做完整类名索引:
- 输
card→ 不触发任何 BEM 类提示 - 输
card__→ 才列出所有以card__开头的元素类(如card__header、card__body) - 输
card--→ 列出所有以card--开头的修饰符类(如card--featured) - SCSS 中的
&__header语法不会被解析,插件只认编译后实际存在的 CSS 字符串
Emmet 的 BEM 模式和 class 补全是两回事
别指望 Emmet 启用后就能在 class="" 里自动补全 BEM 类名:
- Emmet 的
"emerald.emmet.bem": true配置只影响缩写展开,比如.card>div.__title→ - 它不参与 HTML 属性中已有的
class值的智能补全 - Emmet 的 BEM 解析依赖光标上下文:在
.card元素内部敲.__item才能推导出card__item;在顶层敲则无效 - 旧版正则片段(如
&触发)已被废弃,匹配不稳定,不要用
BEM 补全真正卡点永远在路径配置和上下文识别上——尤其 monorepo 项目里 css.styleSheets 必须写绝对路径或加符号链接,否则插件扫不到跨包的样式文件。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











