Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Chinese Red BackgroundNew to Visual Studio Code? Get it now.
Chinese Red Background

Chinese Red Background

Tony.Ji

|
3 installs
| (0) | Free
检测含中文(支持多模式区分简体/严格差异)的代码行并统一红色背景高亮,辅助混合语言代码审查
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Chinese Red Background

在 VSCode 中检测并高亮包含中文汉字的代码行(红色背景)。支持区分“全部汉字 / 简体启发式 / 严格简体差异”三种模式,适用于:

  • 代码中混入中文需要快速发现
  • 中日文混合内容审查,仅想看出“确实是简体特征字”的行
  • 质量/规范检查(例如限制代码中出现中文)

✨ 主要特性

功能 说明
行级高亮 一旦本行出现匹配汉字,整行加半透明红背景,视觉聚焦明显
模式切换 all / simplified / strict 三种模式(默认 strict)
日文规避 可选跳过含假名的整行,减少误判
严格差异集 strict 模式使用内置精简“简体特征字”集合,尽量不亮常见日文汉字
自定义补充 可配置追加额外要识别为简体的单字
快速开关 命令面板一键启用/停用

⚙️ 配置项 (Settings)

在 VSCode Settings (搜索 chineseRedBackground) 中可调:

Key 默认 说明
chineseRedBackground.mode strict all=全部汉字; simplified=启发式; strict=严格差异集合
chineseRedBackground.skipKanaLines true 行内含日文假名(平/片假名)则整行跳过,不做高亮
chineseRedBackground.extraSimplifiedChars (空) 追加希望被当作“简体差异字”的单字字符集合

提示:若你只想“任何汉字都提示”,请选择 all;若希望“尽量排除日文常用”,保持 strict。


🧪 模式说明

  1. all:匹配所有基本 CJK 统一表意文字块 (含扩展A、兼容),适合快速发现任意汉字。
  2. simplified:使用一份差异集(与 strict 同源),但保留一定扩展灵活性,可能少量亮到日文汉字。
  3. strict:仅内置“常见简体差异字”集合 + 你的 extraSimplifiedChars,最大限度降低误亮。

本扩展不做形态学/词法级复杂判断,属于启发式扫描,极端场景可能仍有误差。


🖥️ 命令 (Command Palette)

Chinese Red Background: 开关高亮

效果:在启用/关闭之间切换;关闭后所有装饰清除,不影响文件内容。


🚀 安装

方式一:Marketplace (如果已发布)

搜索 “Chinese Red Background”。

方式二:本地 VSIX

  1. 运行 npm install 安装依赖
  2. 执行 npm run build 生成/更新 *.vsix
  3. VSCode -> Extensions -> 右上角 ... -> Install from VSIX... 选择打包出的文件

🔍 工作机制

  1. 监听活动编辑器变更、文档内容变更
  2. 按行读取文本:
    • 若启用 skipKanaLines 且行含假名 -> 跳过
    • 根据模式判断是否命中差异集合
    • 一旦命中 -> 整行加入 decoration
  3. 使用 VSCode TextEditorDecorationType 设置半透明背景

复杂度:O(N * 行平均长度) 的线性扫描,适合绝大多数源文件;如需更高效可改为“可视行”增量策略。


🧩 性能与优化建议

情况 建议
超大文件 (>5MB) 可临时切换 mode=all 避免集合判断开销(已很小)
高频编辑 装饰会实时刷新,若需延迟可改成防抖 (setTimeout)
仅关心新增内容 可在源码中改为 diff 方式(当前是全行扫描)

🛠️ 开发 / 构建

npm install
npm run compile    # 仅编译 TypeScript -> dist
npm run package    # 生成 VSIX 包
npm run build      # (compile + package)

输出文件: vscode-chinese-red-background-x.y.z.vsix


🧱 目录结构

├─ src/extension.ts   # 主逻辑
├─ dist/              # 编译输出(JS)
├─ package.json       # 扩展元数据/脚本
├─ README.md          # 说明文档
├─ LICENSE            # 许可证
└─ .vscodeignore      # 打包忽略

🔐 安全与副作用

  • 不修改文件内容,仅提供装饰效果
  • 不进行网络请求
  • 不收集/上报文本数据

❓ 常见问题 FAQ

Q: 为什么某些日文汉字仍被高亮?
A: 若在 strict 模式仍触发,请提供具体字符;可以把该字符从差异表中移除或切换 mode=all / simplified 根据需要。

Q: 我想只在可见行执行以提升性能?
A: 可修改源码 for (let lineNum=0; lineNum<doc.lineCount; lineNum++) 为遍历 editor.visibleRanges 中的行。

Q: 想要高亮颜色不同?
A: 改 createTextEditorDecorationType 的 backgroundColor,或扩展后续加入配置项。


🔄 变更日志 (简)

  • 1.0.0: 行级高亮模式 + 严格/启发式/全部模式完善文档
  • 0.0.x: 初始功能、差异模式、行级高亮

📄 License

ISC

欢迎提出 PR / Issue 改进字典和性能策略。

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