Skip to content

功能说明

功能 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:按重排顺序逐条写入剪贴板历史(用户选择的格式排第一)
  • 未开启 copyToClipboardclipboardFormats 为空:兜底仅复制用户选择的单个格式
  • originalValue 复制该段翻译前的原始文本(如 美好

多格式依赖剪贴板历史(Win+V)

多格式是「逐条写入剪贴板历史」,需开启系统剪贴板历史(Windows 按 Win+V)才能看到全部格式;普通 Ctrl+V 只会粘贴当前剪贴板(即你选择的格式)。文件翻译已将剪贴板写入安排在打开翻译后的文件之前,避免新编辑器打开引起焦点抖动而丢失历史中间项。

配置项

此功能可在设置中开启/关闭,也可按 Alt+Shift+D 快速切换:

json
{
  "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(用户选择的格式)

配置项

json
{
  "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
  • 百度翻译
  • 腾讯翻译君

选择未配置的服务时,插件会提示打开设置页面。详见翻译服务


命名格式说明

文件翻译格式

格式示例说明
camelCaseuserName小驼峰,首字母小写
PascalCaseUserName大驼峰,首字母大写
snake_caseuser_name下划线分隔,全小写
CONSTANT_CASEUSER_NAME下划线分隔,全大写
param-caseuser-name连字符分隔,全小写
Header-CaseUser-Name连字符分隔,首字母大写

选中文本翻译额外格式

格式示例说明
Capital CaseUser Name首字母大写,空格分隔
no caseuser name全小写,空格分隔

基于 MIT 许可发布