需检查插件启用状态、修正settings.json中include路径、扩展keywords正则规则、添加languages支持及禁用冲突插件;按步骤操作可解决TODO/FIXME等标记高亮失效问题。

如果您在VSCode中编写代码时希望自动识别并高亮显示所有TODO、FIXME等标记,但插件未生效或高亮样式不符合预期,则可能是由于插件配置未正确启用或正则匹配规则未覆盖自定义关键词。以下是解决此问题的步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、确认插件已正确安装并启用
VSCode的TODO Highlight插件必须处于启用状态,且未被工作区设置或用户设置中的禁用列表屏蔽。插件启用是后续所有高亮功能的基础前提。
1、点击左侧活动栏的扩展图标(四个方块组成的图标)。
2、在搜索框中输入TODO Highlight,确认结果中显示作者为wayou的插件。
3、检查插件右侧是否显示“已启用”按钮;若显示“启用”,请单击启用。
4、重启VSCode以确保插件加载完成。
二、检查并修正工作区级别的TODO Highlight配置
插件行为受settings.json中todo.highlight相关配置控制,工作区配置可能覆盖全局设置,导致高亮失效或范围缩小。
1、按下Cmd+,(macOS)打开设置界面。
2、点击右上角的“打开设置(JSON)”图标(文件夹与大括号叠加图标)。
3、查找是否存在"todo.highlight.defaultStyle"或"todo.highlight.include"字段。
4、若存在且值为空数组或路径不包含当前项目目录,请将"todo.highlight.include"修改为:["**/*.ts", "**/*.js", "**/*.py", "**/*.md"]。
三、自定义关键词正则表达式以覆盖FIXME和HACK
默认配置仅匹配TODO和FIXME,若需高亮HACK、OPTIMIZE、REVIEW等自定义标记,必须手动扩展正则规则,否则这些词不会被识别。
1、在settings.json中添加或修改"todo.keywords"数组。
2、插入如下对象:{"text": "HACK", "color": "#ff6b6b", "backgroundColor": "transparent", "overviewRulerColor": "#ff6b6b"}。
3、对REVIEW添加类似条目,其中"text"设为"REVIEW","color"设为"#4ecdc4"。
4、保存文件后,重新打开任意含HACK注释的代码文件验证高亮效果。
四、排除语言模式限制导致的高亮缺失
TODO Highlight默认跳过某些语言模式(如JSON、YAML),若待办标记写在.jsonc或.yaml文件中,需显式允许该语言ID参与扫描。
1、在settings.json中定位"todo.highlight.languages"配置项。
2、若该字段不存在,请新增一行:"todo.highlight.languages": ["*"]。
3、若已存在且值为数组(如["typescript", "javascript"]),请在其末尾添加"jsonc"和"yaml"。
4、关闭并重新打开目标JSONC文件,观察TODO注释是否出现高亮。
五、禁用冲突插件以恢复高亮渲染
部分语法高亮类插件(如Bracket Pair Colorizer、Indent-Rainbow)可能干扰TextMate语法层的装饰器渲染,造成TODO Highlight的装饰层被遮挡或丢弃。
1、进入扩展视图,依次禁用近期安装的高亮/装饰类插件。
2、每次禁用后,打开一个含TODO的TypeScript文件,观察高亮是否恢复。
3、确认冲突插件后,在其详情页点击“禁用工作区”而非完全卸载。
4、重新启用TODO Highlight插件并重启VSCode窗口。










