真正能稳定用在代码注释上的划词翻译插件只有 vscode-translator 和 codelldb 两款:前者专为注释优化,结合上下文智能译词,推荐设 google 为默认服务并绑定 alt+t;后者仅限调试时本地毫秒翻译错误类型,不支持日常注释翻译。

真正能稳定用在代码注释上的划词翻译插件,只有 vscode-translator 和 CodeLLDB 两款——其它多数要么卡死编辑器,要么把 useState 翻成“使用状态”,纯属添乱。
为什么 vscode-translator 是注释翻译首选
它专为代码上下文优化:选中 // fetch user profile,会把 fetch 译作“获取”而非“-fetch”,profile 译作“资料”而非“轮廓”。这不是靠词典硬查,而是结合了注释位置、前后空格、常见前缀(如 get/set/is)做的轻量级语义推断。
实操建议:
-
translator.defaultService必须设为google(不是baidu),百度对memoizationthrottling这类术语识别率极低,常加引号输出“记忆化”“节流” - 禁用
translator.autoDetectLang,否则遇到if (err != nil)这类混合内容,会误判为“伪代码”并返回乱码 - 快捷键推荐绑定
Alt+T,避开 VS Code 默认的Ctrl+T(切换标签页)冲突
CodeLLDB 只在调试时才该打开翻译
它不走网络 API,所有翻译都在本地完成,所以悬停在 std::io::ErrorKind::PermissionDenied 上,tooltip 里立刻显示“权限被拒绝”,毫秒级响应。但它的翻译能力只绑定在调试会话中——平时写代码时选中注释,它是没反应的。
适用场景很窄:
- Rust/Go/C++ 项目调试阶段查错误类型、枚举值、标准库文档字符串
- 不需要配置翻译源,也不依赖网络,适合内网或离线环境
- 别指望它翻译
TODO: refactor this logic这类纯文本注释——它根本不监听编辑器选区
划词翻译插件最容易踩的三个坑
几乎所有翻车都集中在这三点,装之前务必确认:
- 把
constasyncref这类关键字也塞进翻译队列的,一律卸载。它们不是自然语言,强行翻译只会破坏语感 - 依赖网页抓取(比如伪装浏览器调 DeepL 网页版)的插件,2024 年起全量触发
HTTP 429 Too Many Requests,且会把缩进空格、换行符一并发过去,导致译文混入中文全角标点 - 启用“自动检测语言”的插件(如
vscode-bing-translate),必须手动关掉bingTranslate.autoDetect,并固定bingTranslate.targetLang为zh-Hans(用zh会出繁体)
复杂点在于:没有一款插件能同时兼顾“写代码时顺手译注释”和“调试时秒懂错误值”。你得接受这个事实——vscode-translator 负责日常,CodeLLDB 负责调试,两者共存不冲突,但绝不重叠。











