功能说明
功能 1:文件路径翻译
使用场景
在 VSCode 资源管理器中右键新建文件/文件夹,输入包含任意非英文字符的路径,插件自动检测语言并翻译为英文。
操作流程
右键新建文件 → 输入路径 → 回车 → 选择翻译格式 → 回车 → 自动翻译创建按 Esc 取消格式选择时,原文件/文件夹会原样保留,不做翻译。
示例
输入:用户名称/测试文件/测试.test.js
格式选择:
- camelCase: userName/testFile/test.test.js
- PascalCase: UserName/TestFile/Test.test.js
- snake_case: user_name/test_file/test.test.js
- CONSTANT_CASE: USER_NAME/TEST_FILE/TEST.test.js
- param-case: user-name/test-file/test.test.js
- Header-Case: User-Name/Test-File/Test.test.js撤回功能
按 Alt+Shift+Z → 删除翻译后的文件/目录 → 自动清理空目录 → 关闭该文件的编辑器窗口撤回规则:
- 撤回操作会直接删除翻译后的文件,而不是恢复到原始非英文路径
- 仅清理翻译时创建的目录:通过对比翻译前后的路径判断,相同前缀段(如
src/)属于用户原有目录,绝不清理 - 只关闭被删除文件的编辑器窗口,不会关闭其他已打开的文件
- 1 分钟内可撤回,1 分钟后自动清空撤回缓存
- 1 分钟内也可在资源管理器等非文本输入区直接按
Ctrl+Z撤回;编辑器内的Ctrl+Z保持原生文字撤销,不受影响
例如:在
src/下输入你好/世界/美好.test.js,翻译为src/hello/world/beautiful.test.js后撤回,会删除hello/world/和hello/,但src/无论是否为空都会保留。
文件名冲突处理
场景:目标文件已存在(如 test.test.js 已存在)
处理:自动添加数字后缀(如 test_1.test.js)并提示用户翻译失败降级
场景:翻译 API 调用失败(网络错误、配额用完等)
处理:按优先级降级到下一个服务 → 所有服务失败 → 自动降级为拼音翻译超时保护
所有翻译服务均有 10 秒超时控制,全局翻译超时也为 10 秒。超时后自动降级到下一个服务,最终降级为拼音,保证文件一定能创建成功。
复制到剪贴板
文件路径翻译完成后,会复用「翻译并复制」(Alt+Shift+C)的剪贴板逻辑,将最后一段目录名/文件名(不含扩展名)的翻译结果写入剪贴板,同样遵循 clipboardFormats 配置。
输入:你好/世界/美好.js
翻译:hello/world/beautiful.js
复制内容:beautiful(最后一段的翻译)- 开启
copyToClipboard且配置了clipboardFormats:按重排顺序逐条写入剪贴板历史(用户选择的格式排第一) - 未开启
copyToClipboard或clipboardFormats为空:兜底仅复制用户选择的单个格式 originalValue复制该段翻译前的原始文本(如美好)
多格式依赖剪贴板历史(Win+V)
多格式是「逐条写入剪贴板历史」,需开启系统剪贴板历史(Windows 按 Win+V)才能看到全部格式;普通 Ctrl+V 只会粘贴当前剪贴板(即你选择的格式)。文件翻译已将剪贴板写入安排在打开翻译后的文件之前,避免新编辑器打开引起焦点抖动而丢失历史中间项。
配置项
此功能可在设置中开启/关闭,也可按 Alt+Shift+D 快速切换:
{
"variableTranslator.enableFileTranslation": true
}功能 2:选中文本翻译
使用场景
在任意文件中编写非英文字符,选中后通过快捷键翻译并替换,适合变量、函数、类名的命名。
操作流程
选中文本 → 按下 Alt+Shift+T → 选择翻译格式 → 回车 → 替换为英文示例
选中:用户名称
按下:Alt+Shift+T
格式选择:
- camelCase: userName
- PascalCase: UserName
- snake_case: user_name
- CONSTANT_CASE: USER_NAME
- param-case: user-name
- Header-Case: User-Name
- Capital Case: User Name
- no case: user name撤回
文本翻译后可使用 VSCode 自带的 Ctrl+Z 撤销替换操作。文件路径翻译的撤回请使用 Alt+Shift+Z,或在资源管理器等非文本输入区按 Ctrl+Z(见功能 1)。
功能 3:翻译并复制到剪贴板
使用场景
选中非英文文本后翻译,将结果按多种命名格式复制到剪贴板历史,原文本不会被替换。适合先在文档/注释中拟好中文名,再到代码中粘贴英文名。
操作流程
选中文本 → 按下 Alt+Shift+C → 选择翻译格式 → 翻译结果复制到剪贴板示例
选中:用户名称
按下:Alt+Shift+C
选择格式:camelCase
配置的 clipboardFormats:["originalValue", "camelCase", "snake_case"]
复制到剪贴板历史:
- 用户名称(原始值,翻译前的原始文本)
- userName(camelCase)
- user_name(snake_case)
当前剪贴板:userName(用户选择的格式)配置项
{
"variableTranslator.copyToClipboard": true,
"variableTranslator.clipboardFormats": [
"camelCase",
"originalValue",
"PascalCase",
"no case",
"snake_case",
"CONSTANT_CASE",
"param-case",
"Header-Case",
"Capital Case"
]
}clipboardFormats 可选值
| 值 | 说明 |
|---|---|
camelCase | 小驼峰 |
PascalCase | 大驼峰 |
snake_case | 下划线 |
CONSTANT_CASE | 常量格式 |
param-case | 连字符 |
Header-Case | 头部连字符 |
Capital Case | 首字母大写空格分隔 |
no case | 空格分隔 |
originalValue | 翻译前的原始文本(即你选中的中文文本) |
功能 4:切换翻译服务
按 Alt+Shift+S 或右键菜单选择「切换翻译服务」,在以下服务间快速切换:
- 拼音(零配置,默认)
- ChatGPT / OpenAI
- 谷歌翻译
- Bing / Azure Translator
- DeepLX
- 百度翻译
- 腾讯翻译君
选择未配置的服务时,插件会提示打开设置页面。详见翻译服务。
命名格式说明
文件翻译格式
| 格式 | 示例 | 说明 |
|---|---|---|
| camelCase | userName | 小驼峰,首字母小写 |
| PascalCase | UserName | 大驼峰,首字母大写 |
| snake_case | user_name | 下划线分隔,全小写 |
| CONSTANT_CASE | USER_NAME | 下划线分隔,全大写 |
| param-case | user-name | 连字符分隔,全小写 |
| Header-Case | User-Name | 连字符分隔,首字母大写 |
选中文本翻译额外格式
| 格式 | 示例 | 说明 |
|---|---|---|
| Capital Case | User Name | 首字母大写,空格分隔 |
| no case | user name | 全小写,空格分隔 |