html.suggest.html5 必须设为 true,否则 input 的 type、autocomplete 等 HTML5 专属属性值无补全提示;需在 settings.json 中配置 "html.suggest.html5": true,并配合 "html.suggest.customValues" 添加自定义值。

html.suggest.html5 必须设为 true
VS Code 默认不启用 HTML5 专属属性值补全,input 的 type、autocomplete 等属性在引号内无提示,根本原因就是这个开关关着。它不控制标签名补全,只决定“语义化属性值”是否参与建议——比如敲 type="t 时是否弹出 text、tel、time。
打开 settings.json(Ctrl+Shift+P → “Preferences: Open Settings (JSON)”),确认含以下行:
"html.suggest.html5": true
如果已存在但值为 false 或被注释掉,直接修正;若整个配置项缺失,手动添加。重启文件或重载窗口后,在 中输入任意字母即可触发建议。
emmet.triggerExpansionOnTab 要开,但别指望它管 type 属性
很多人误以为开启 Emmet 就能补全 type 值,其实不是:emmet.triggerExpansionOnTab 只影响缩写展开(如 div → ),对属性值补全完全无效。
不过它和 HTML 补全共存时可能干扰响应节奏,尤其在 Vue 单文件组件中。建议明确设置:
-
"emmet.triggerExpansionOnTab": true(保留 Emmet 缩写能力) -
"emmet.includeLanguages": {"vue-html": "html", "vue": "html"}(确保内也生效) - 避免同时装多个 Emmet 类插件(如 Auto Close Tag + Emmet Wrapper),它们会竞争光标控制权
input type 引号内没反应?检查语言模式和冲突插件
常见现象:改了配置,但在 .vue 或 .html 文件里仍无 type 提示。优先排查这两点:
实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。
- 右下角状态栏语言标识必须是
HTML,不是Plain Text、PHP或Vue(纯Vue模式不触发 HTML 语言服务) - 禁用可能劫持属性补全的插件:
Auto Rename Tag在旧版本中会拦截引号内输入;IntelliSense for CSS class names不影响 type,但若配置了editor.quickSuggestions.strings: false,会全局压制双引号内提示 - 临时关闭所有非必要插件,仅留官方 HTML 支持,验证是否恢复
自定义 type 值(如 type="searchbar")需要额外配置
W3C 标准只定义 18 种合法 type,VS Code 默认只提示这些。如果你在用自定义 Web Component 或设计系统,想让 type="custom-search" 也被补全,就得手动注入值域:
在 settings.json 中添加:
"html.suggest.customValues": ["custom-search", "date-range", "rating"]
注意:customValues 是数组,每个字符串必须是纯值(不含引号、等号),且仅对当前工作区生效;跨项目复用需配 settings.json 到项目根目录而非用户级配置。
这个字段不会覆盖标准值,而是追加进建议列表,排序靠后。真正容易被忽略的是:它只在 html.suggest.html5 为 true 时才生效——两者必须同时开启。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










