You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust文件中高亮TODO注释?VS Code自定义主题问题

解决Rust文件双斜杠注释中TODO的高亮问题

问题背景

我正在创建自定义VS Code主题,希望实现Rust文件双斜杠注释里的TODO内容高亮,该功能在.ts、.js、.go文件中已正常工作。

当前配置

package.json中的语法注入配置

"grammars": [
  {
    "path": "./syntaxes/injection.json",
    "scopeName": "todo-comment.injection",
    "injectTo": [
      "source.js",
      "source.ts",
      "source.rust",
      "source.go"
    ]
  }
]

初始的syntaxes/injection.json

{
  "scopeName": "todo-comment.injection",
  "injectionSelector": "L:comment.line.double-slash",
  "patterns": [
    {
      "include": "#todo-comment"
    }
  ],
  "repository": {
    "todo-comment": {
      "match": "(?i:\\bTODO\\b)",
      "name": "comment.todo"
    }
  }
}

更新后的syntaxes/injection.json(04-07)

{
  "scopeName": "todo-comment.injection",
  "injectionSelector": "L:comment.line.double-slash",
  "patterns": [
    {
      "match": "(?i:\\bTODO\\b)",
      "name": "comment.todo"
    }
  ]
}

问题解决与优化说明

  1. Rust注释匹配调整
    VS Code中Rust的单行双斜杠注释,对应的scope是comment.line.double-slash.rust。你当前的injectionSelector为L:comment.line.double-slash,理论上能覆盖所有双斜杠单行注释,但如果未生效,可以尝试更精准的选择器:
"injectionSelector": "L:comment.line.double-slash.rust"

确保语法注入能准确命中Rust的注释区域。

  1. 代码冗余优化确认
    你更新后的injection.json确实完成了冗余代码的优化——移除了不必要的repository节点和include引用,直接将匹配规则写入patterns数组,结构更简洁,执行效率也更高,这个优化是合理且正确的。

  2. 主题高亮样式配置
    最后要确保自定义主题中已为comment.todo这个scope配置了高亮样式,比如在theme.json中添加:

"tokenColors": [
  {
    "scope": "comment.todo",
    "settings": {
      "foreground": "#FFD700",
      "fontStyle": "bold"
    }
  }
]

可根据需求调整foreground颜色和fontStyle参数。

内容的提问来源于stack exchange,提问作者Yerbol Suleimanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:42:54