VSCode怎么设置自动关闭标签_VSCode如何让HTML标签自动补全闭合标签【技巧】

梦枫吖_8406

梦枫吖_8406

2026-04-04

871人浏览

原创

vscode html标签自动闭合需开启html.autoclosingtag为true,确保语言模式为html,避免prettier/emmet冲突,并在vue/jsx中使用对应扩展设置。

vscode怎么设置自动关闭标签_vscode如何让html标签自动补全闭合标签【技巧】

VSCode 默认就支持 HTML 标签自动闭合,但需要正确启用相关设置,否则会失效——不是插件问题,而是配置没对。

HTML 标签不自动闭合的常见原因

多数人遇到“敲 <div> 不出 <code>

”的情况,其实是 VSCode 的 html.autoClosingTag 被关了,或者被其他扩展(比如 Prettier、Emmet 冲突)覆盖了行为。

  • html.autoClosingTag 是控制 HTML 标签自动闭合的核心开关,必须设为 true
  • 如果同时启用了 emeraldwalk.runonsave 或 esbenp.prettier-vscode,它们可能在保存时重写标签结构,掩盖自动闭合效果
  • 文件语言模式必须是 HTML(右下角显示 “HTML”,不是 “Plain Text” 或 “TypeScript React”)

如何手动开启 HTML 自动闭合

直接改设置比找 GUI 更稳,避免界面隐藏选项或缓存延迟:

  • 按 Ctrl+,(Windows/Linux)或 Cmd+,(Mac)打开设置
  • 搜索 html.autoClosingTag,勾选它
  • 顺手检查 editor.autoClosingBrackets 是否为 languageDefined(不是 always 或 never)
  • 重启 VSCode 或重新打开 HTML 文件生效(部分版本需重载窗口)

Emmet 和自动闭合的关系

Emmet 的 ! + Tab 生成完整 HTML 模板,但它和自动闭合是两套机制:前者是模板展开,后者是输入时实时响应。别指望 Emmet 开了就能让 <p></p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill1675" title="VSCode"><img src="https://img.php.cn/upload/skill/000/000/081/178842972858328.jpg" alt="VSCode" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill1675" title="VSCode" class="overflowclass">VSCode</a> <p class="overflowclass">避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。</p> </div> <a rel="nofollow" href="/xiazai/skill1675" title="VSCode" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> 自动补

。
  • Emmet 的 html.autoClosingTag 冲突时,优先级低于原生 HTML 支持
  • 如果想用 Emmet 快速写带闭合的标签,用 div + Tab,它会输出 <div></div>;但这是 Emmet 行为,不是编辑器自动闭合
  • 禁用 Emmet 的 emmet.triggerExpansionOnTab 可避免 Tab 键行为混乱

为什么在 .vue 或 .jsx 里不生效

因为这些文件的语言模式不是 HTML,而是 Vue 或 JavaScript React,原生 html.autoClosingTag 不起作用。

  • Vue 单文件组件中,需靠 vetur 或 volar 提供类似能力(Volar 推荐开启 volar.autoCloseTag)
  • JSX 中标签闭合由 javascript.autoClosingTags 控制,但它只对合法 JSX 标签有效(如 <div>),不处理自定义组件名 <li>不要强行把 <code>.vue 文件关联成 HTML 语言模式——语法高亮和校验全乱
  • 真正容易被忽略的是语言模式和设置作用域:全局设置开了,但工作区设置了 "html.autoClosingTag": false,就会被覆盖;.vue 文件里光调 html. 前缀的设置,根本没用。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

2026.02.13

292

17

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

2026.02.25

520

17

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

2026.03.13

371

19

TypeScript 全栈开发进阶指南
TypeScript 全栈开发进阶指南

面向有 JavaScript 基础的开发者,深入讲解 TypeScript 的类型系统与全栈开发实践。

2026.06.03

286

29

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

2026.06.16

618

8

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3239

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2818

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1488

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2579

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程