Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>AI Suggestion TrackerNew to Visual Studio Code? Get it now.
AI Suggestion Tracker

AI Suggestion Tracker

zhaopin-ai-maker

|
11 installs
| (0) | Free
自动标记AI生成的代码建议
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vscode-ai-code-marker

一个用于“统计与可视化 AI 生成代码”的 VS Code 扩展。以“侧车文件 + 装饰”的方式标识 AI 代码,不污染源码,适配 Cursor/VS Code 的日常开发习惯。

AI 代码的定义(口径)

  • 以“最后修改者”为口径:当某一行的最后一次修改行为判定为 AI 生成时,这一行即被定义为 AI 代码。
  • 存量代码不追溯;仅对新增或变更的代码行进行判定与标记。

工作方式概览

  • 标记数据存储在侧车文件 .ai-tracker/markers.json 中,编辑器内通过彩色标签装饰展示,不写入源码,同时,插件会在 .gitignore 中增加 .ai-tracker/ 忽略,避免统计信息被提交。
  • 自定义 Tab 按键代理记录“接受建议”的时刻;通过 Cursor hooks 捕获 Agent 时间窗口,用于判定“AI 生成”。
  • 新机制:侧车文件不再存储“行号”,而是存储“AI 代码行的内容(已 trim)”。展示时,将“最近一次提交的变更内容”与“AI 代码内容”逐行比对,计算得到当前文档中需要标记的行号后进行渲染。

注意事项(重要)

  • 新机制的匹配基于“内容等价(trim 后精确匹配)”,以下情况可能导致识别不到 AI 代码:
    • 代码格式化引起的行内容变化(缩进、空格、换行风格 CRLF/LF、Tab/Space 切换)。
    • import/排序/重排导致同样的逻辑散列到不同行。
    • 注释风格/空白字符差异(即使语义相同,内容不同也无法匹配)。
    • 大段拼接成长行或被拆分多行,导致行粒度不一致。
    • 大小写差异(匹配大小写敏感)。
  • 重复行的处理:若变更中出现多行相同内容,而 AI 代码仅包含一次,则只标记其中一行(次数消费模型)。

安装与使用

  1. 安装插件
应用市场搜索:ai-suggestion-tracker,发布人名称为:zhaopin-ai-maker
  1. AI代码统计开关
  • 在cursor下方右侧状态栏,增加‘’AI统计‘’开关,如果所示:AI统计开关
  • 点击AI统计开关,弹出选择框,如果所示:AI统计选择项
  • 选择项作用说明:
  • 关闭AI统计:关闭插件提供的ai标记统计能力
  • 隐藏AI标记:隐藏代码上显示的ai标记,但是插件还在运行统计ai代码
  • 样式:概览尺表刻度: 在右侧边栏上通过小蓝点标记AI代码
  • 样式:行尾小点:在代码行后通过小蓝点标记AI代码
  • 样式:侧边栏小图片:在左边侧边栏通过小蓝色图标 标记AI代码,这种样式会影响断点使用

实现原理

该插件代理了大部分的tab命令,并通过注册自定义命令: ""Ai-Tracker: 修改cursor tab按键绑定,使用aiTracker.tabProxy替换cursor原有的tab按键功能""
在keybindings.json文件,将已有的tab命令禁用,实例如下:
    {
      "key": "tab",
      "command": "-editor.action.acceptCursorTabSuggestion",
      "when": "cpp.shouldAcceptTab"
    }
该插件使用cursor的hook机制,通过自定义命令 ""Ai-Tracker:注册hooks"" 注册了hook文件
确认是否生效:打开cursor-settings,在筛选项输入hooks后找到对应hooks配置,观察hooks中是否有startChat.sh和endChat.sh,如果不生效,请重启cursor

如图所示:Hooks 示例 cursor hooks机制说明:https://cursor.com/cn/docs/agent/hooks

数据存储结构(markers.json v3)

  • Key:文件相对路径
  • Value:该文件中“AI 代码行内容”的字符串数组(均为 trim() 后的行,不包含空白行)

示例:

{
  "src/foo.ts": [
    "const x = computeValue(input);",
    "return result ?? defaultValue;"
  ]
}

渲染过程:读取最近一次提交的结构化 diff,将新增/更新块中的每一行内容(trim() 后)与上述数组比对,匹配成功的行通过 VS Code Decoration 标记到具体行号上。

问题排查

  1. 点击ctrol + shift + p,输入 打开键盘快捷方式(JSON) ,打开第一个选项,查看keybindings.json文件中是否存在 -editor.action.acceptCursorTabSuggestion
  2. 在cursor settings的hook中查看是否存在脚本文件:Hooks 示例
  3. 重启cursor

统计与产出

  • 在用户提交代码变更后,插件会在5s内识别到代码提交动作,然后将提交信息和ai代码统计信息进行上报

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft