<p>HTML5不支持TODO语义化标记,注释仅被浏览器忽略;现代编辑器默认高亮<!-- TODO:等格式,但需严格匹配大小写与语法;构建工具原生不检测,需额外配置或工具;生产环境应移除以防暴露信息或增大体积。</p>

HTML5 本身不支持 TODO 这类语义化标记,所有以 <!-- TODO: ... --> 形式写的注释都只是普通注释,浏览器完全忽略,也不会被构建工具自动识别——除非你额外配置。
HTML 注释里写 TODO 能被编辑器高亮吗
多数现代编辑器(VS Code、WebStorm、Sublime Text)默认会扫描 <!-- TODO、<!-- FIXME 等模式并高亮显示,但前提是:
- 注释必须是完整 HTML 注释格式:
<!-- TODO: 修复导航栏响应式错位 -->,不能写成// TODO或/* TODO */ - VS Code 需启用内置的
todo-tree扩展或配置"todo.tags"(默认已包含TODO) - 注意大小写:
<!-- todo:不会被识别,推荐统一用大写TODO
TODO 注释在构建流程中能自动提醒吗
原生 HTML 构建(如 Vite、Webpack)不会检查注释内容。若想让 TODO 参与任务管理,需引入额外工具:
- 用
eslint-plugin-html+ 自定义正则规则,在<script>和<template>块内检测,但对纯 HTML 注释无效 - 用
grep命令批量扫描:grep -r "<!-- TODO" src/
- 更可靠的做法:把 HTML 中的待办事项同步到项目根目录的
TODO.md或用git notes关联提交
为什么不要在生产 HTML 里留 TODO 注释
这些注释会随 HTML 一起下发到用户浏览器,带来三个实际问题:
立即学习“前端免费学习笔记(深入)”;
- 增加页面体积(尤其当
TODO写得又多又长时) - 暴露开发意图或未完成逻辑(比如
<!-- TODO: 加权限校验 -->可能暗示某处存在安全缺口) - 部分压缩工具(如
html-minifier-terser)默认不删除含TODO的注释,需显式配置removeComments: true
真正管用的 TODO 管理,从来不是靠注释本身,而是靠它是否被纳入你的日常检视节奏——比如每次提交前 grep 一遍,或把它当作 PR 检查清单里的固定项。否则,它只会安静地躺在 HTML 里,直到某天被当成废弃代码删掉。











