右下角显示 Plain Text 时,需点击状态栏语言标识手动切换为 HTML,或按 Ctrl+Shift+P 输入 Change Language Mode 选择 HTML;未保存文件常被识别为 Plain Text,应先保存为 .html/.htm 后缀。

右下角显示 Plain Text?先确认语言模式是否为 HTML
VS Code 不靠插件“识别 HTML”,而是根据文件后缀和首行内容自动判断。如果状态栏显示 Plain Text、PHP 或其他语言,说明它根本没把当前文件当 HTML 处理,后续所有补全(标签、属性、Emmet)都会失效。
- 点击右下角语言标识,手动选
HTML;或按Ctrl+Shift+P(Win/Linux)/Cmd+Shift+P(macOS),输入Change Language Mode,再选HTML - 未保存的文件(如 Untitled-1)常被识别为
Plain Text,务必先保存为.html或.htm后缀 - 若文件是模板类(如
.vue、.jsx、.md),原生 HTML 服务不生效,需靠对应插件或显式配置emmet.includeLanguages
输入 html.suggest.html5 和 Emmet 设置
原生 HTML 补全依赖两个开关:语言服务是否启用 HTML5 语义支持,以及 Emmet 是否被允许触发。关掉任一, VS Code 默认完全不解析 CSS 文件,所以
真正容易被忽略的是:**语言模式切换后,部分设置(如 Emmet 映射)要重启编辑器或新开文件才生效;而大文件(>5MB)会直接导致 HTML 语言服务降级,补全、悬停、诊断全部失灵——此时删减内容或临时禁用语言服务反而更高效。**
html.suggest.html5 必须设为 true(默认开启,但可能被误关)——它控制 、contenteditable 等 HTML5 特有标签和属性的补全emmet.triggerExpansionOnTab 必须为 true,否则 div.container 按 Tab 不展开emmet.showExpandedAbbreviation 别设成 "never",否则连 html:5 缩写不生效?emmet.includeLanguages 是关键
html:5 不是默认缩写,VS Code 默认只对 .html 文件启用基础 Emmet(如 div→),骨架命令需额外声明映射。
settings.json(Ctrl+Shift+P → Preferences: Open Settings (JSON))"emmet.includeLanguages": {"html": "html"} —— 注意键名必须是 "html",不是 "HTML" 或 "htm"
.html 文件中,输入 html:5 + Tab,即可生成含 和 的完整结构class="" 里不提示类名?这不是 VS Code 原生能力
class="btn-" 不会提示 btn-primary。这是设计使然,不是配置遗漏。
IntelliSense for CSS class names in HTML(GitHub 星标超 3.5k)*.css、*.scss、*.less,但不处理 JS 动态拼接的类(如 clsx())tailwind.config.js,否则插件只认你 CSS 文件里实际声明过的类
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











