在 react 项目中,vs code 默认不会为 `.js` 或 `.ts` 文件启用 html 标签自动闭合(如输入 `div` + tab 生成 `
`),需将组件文件扩展名改为 `.jsx` 或 `.tsx`,以激活 jsx 语法支持和内置代码片段。React 组件中的 JSX 本质是 JavaScript/TypeScript 的语法扩展,但 VS Code 的智能感知与代码片段(snippets)功能依赖文件类型识别。当你使用 .js 文件编写 JSX 时,编辑器将其识别为纯 JavaScript,因此不加载 HTML 相关的 Emmet 补全规则;而 .jsx(或 .tsx)文件会被识别为 JSX/TSX 语言模式,自动启用:
✅ 正确做法:
将你的组件文件从 Component.js 重命名为 Component.jsx(函数组件)或 Component.tsx(TypeScript 项目)。例如:
# 错误(无自动补全) src/components/Header.js # 正确(触发 JSX 模式,支持 Tab 补全) src/components/Header.jsx
⚠️ 注意事项:
? 小技巧:在 JSX 文件中,还可使用 Emmet 高级语法提升效率:
总结:文件扩展名决定语言模式,语言模式决定补全能力。坚持使用 .jsx/.tsx,不仅能获得 HTML 标签自动闭合,还能享受语法高亮、错误提示、Props 智能提示等完整 React 开发体验。