沉浸式翻译插件 for VS Code
在 VS Code 中提供三种翻译视图与同步翻译文件能力,面向论文写作场景(LaTeX / Markdown)做了结构化保护:翻译只作用于正文文字,公式、命令与排版结构保持不变。
支持 Google、Bing、OpenAI、Gemini、DeepSeek 等接口;LLM 接口默认关闭思考模式并流式输出,速度优先。
功能详情
一、三种翻译视图
打开文件后,在命令面板(Ctrl+Shift+P)中运行:
| 命令 |
效果 |
Immersive Translate: View Translate to the Slide |
对照滑窗:原文与译文逐段交织显示,翻译过程中持续刷新 |
Immersive Translate: View Translate to the Slide (Only Target) |
仅译文滑窗:译文流式呈现;Markdown / LaTeX 完成后按原格式渲染(标题、列表、公式等) |
Immersive Translate: View Translate Immersive |
行内沉浸式:在编辑器行尾以淡色斜体直接显示译文 |
二、同步翻译文件(长文写作推荐)
在源文件上运行 Immersive Translate: Start Sync File Translation:
- 在同级目录创建
源文件名_翻译.ext(已存在则直接更新),并在旁边打开
- 首次完整翻译一遍;之后持续监听源文件修改,只重新翻译变化的句子,未变化的句子复用已有译文
- 作者为排版人为折行的长句(TeX / Markdown 硬换行)会按一整句翻译,与 PDF 渲染效果一致
- 行内命令(
\emph{}、$t$、\placeholder{} 等)随句子一起保留,不会被拆散
- 导言区、环境(equation / figure / table / verbatim 等)、公式、引用、标签等结构代码原样复制,只有正文英文被翻译
- 译文写回已打开的编辑器缓冲区,不会出现「磁盘上的文件内容较新」冲突
停止:Immersive Translate: Stop Sync File Translation。
三、右键选区翻译
在源文件里选中一句或一段文字 → 右键菜单 → 翻译:
- 只更新翻译文件里对应位置的译文,其余句子保持不动
- 翻译文件不存在时,先在同级目录创建,再写入译文
- 翻译文件已关闭、甚至从未启动过同步会话时,依然可用
四、Markdown / LaTeX 结构化保护
翻译前自动屏蔽语法结构(代码块、行内代码、公式、命令、链接、注释等),只把自然语言交给翻译接口,翻译完成后原样还原,译文不会破坏源码结构。
五、LLM 快速模式
OpenAI / Gemini / DeepSeek / GLM 默认关闭思考与推理链(DeepSeek 使用 thinking disabled;GLM 自动尝试关闭,遇到「始终思考」的模型自动降级;Gemini thinkingLevel=MINIMAL;OpenAI reasoning_effort=minimal),SSE 流式传输,进度条实时显示实际使用的「供应商 / 模型」。
翻译提供方
| 提供方 |
是否需要 API Key |
说明 |
google-free(默认) |
否 |
Google 公共接口 |
bing-free |
否 |
Bing 公共接口 |
google / bing |
是 |
官方云翻译接口 |
openai |
是 |
内置模型列表,默认 gpt-5.6-luna |
gemini |
是 |
默认 gemini-3.6-flash |
deepseek |
是 |
默认 deepseek-flash |
glm |
是 |
智谱 GLM / 智谱清言,默认 glm-5.3-flash |
选择 LLM 提供方(openai / gemini / deepseek / glm)后,运行 Immersive Translate: Select Provider Model 会联网获取最新模型列表(需已配置对应 API Key)供你选择;失败时回退到上次缓存或内置列表,列表底部也可手动输入模型 ID(写入 customModel)。
GLM 说明:智谱密钥分「通用 API」与「编码套餐」两类,插件先用标准端点,遇到余额/资源包错误时自动改用编码套餐端点重试;对「始终思考」的 5.3 系列模型会自动去掉关闭思考参数。
使用方法
- 安装扩展后重载窗口
- 打开设置,搜索
immersive-translate-plugin-for-vscode:选择 apiProvider;使用 LLM 时在对应分组里填写该提供方的专属 API Key 并选择模型
- 打开 Markdown / LaTeX / 文本文件,运行任一翻译命令,或启动同步翻译
命令列表
Immersive Translate: View Translate to the Slide — 对照滑窗
Immersive Translate: View Translate to the Slide (Only Target) — 仅译文滑窗
Immersive Translate: View Translate Immersive — 行内沉浸式翻译
Immersive Translate: Close Translate Immersive — 关闭行内译文
Immersive Translate: Select Provider Model — 选择模型:联网获取最新列表(离线或失败时回退缓存/内置,可手动输入)
Immersive Translate: Start Sync File Translation — 启动同步翻译文件
Immersive Translate: Stop Sync File Translation — 停止同步
翻译 — 右键菜单:翻译选中的句子或段落,并写入翻译文件
设置项
设置页按提供方分组。每个需要密钥的提供方都有独立的 API Key 字段,只填当前使用的那个即可:
- 常规:
apiProvider(翻译提供方)、sourceLanguage(源语言)、targetLanguage(目标语言)
- OpenAI:
openaiApiKey、openaiModel
- Gemini:
geminiApiKey、geminiModel
- DeepSeek:
deepseekApiKey、deepseekModel
- GLM(智谱清言):
glmApiKey、glmModel
- Google / Bing:
googleApiKey、bingApiKey
- 高级:
customModel(自定义模型 ID,优先级最高)、apiKey(旧版通用密钥,仅当专属 Key 为空时回退使用)
已知边界
- 同步翻译需在已保存到磁盘的文件上启动;未保存的临时文件无法生成同级翻译件
- 行内沉浸式默认只翻译当前文件前 50 行(性能考虑),长文建议使用滑窗或同步翻译
google-free / bing-free 为公共接口,受频次限制;大量文本建议使用 LLM 接口
- 切换提供方后请填写该提供方的专属 API Key;若仍在用旧版通用
apiKey 回退,它可能不属于当前提供方,失败提示中会注明回退状态
变更记录
见随扩展分发的 changelog.md。