i18n-ally 无法识别 locales 目录是因为默认仅扫描 locales/lang/translations 目录且要求路径扁平、语言 id 合法(如 en-us.json),非标准路径需配置 .i18n-allyrc.json。

为什么 i18n-ally 无法识别 locales 目录
i18n-ally 默认只扫描 locales、lang、translations 这几个目录名,且要求子目录或文件名符合语言标识规范(如 en-US.json、zh-CN.yaml)。常见错误是把文件放在 src/i18n/ 或 public/locales/ 下,导致插件完全不激活。
- 确保语言文件路径为
./locales/en-US.json这类扁平结构,不要嵌套过深 - 语言 ID 必须合法:用
en-US,不用en_us或EN-US(大小写敏感) - 若必须用非标准路径,需在项目根目录加
.i18n-allyrc.json显式声明:{"rootDir": "./src/i18n", "defaultLocale": "en-US"} - 插件启动后,左下角状态栏应显示语言计数;若无反应,打开命令面板运行
i18n Ally: Reload Locales
如何让 VSCode 在 JS/TS 中正确提示 i18n 键名
默认情况下,VSCode 不知道你的 t('home.title') 对应哪个 JSON 文件里的字段,所以无法跳转或补全。关键不是装插件,而是让语言服务器“理解”你的键结构。
- 在
tsconfig.json或jsconfig.json中启用类型感知:{ "compilerOptions": { "resolveJsonModule": true, "esModuleInterop": true } } - 为
locales目录创建类型声明文件locales/index.d.ts,内容为:declare module "*.json" { const value: any; export default value; } - 如果用
vue-i18n或i18next,安装对应的语言服务器扩展(如i18n-ally已内置部分支持,但vscode-i18n-linter可增强键一致性校验) - 避免在字符串中拼接 key,如
t('page.' + type)—— 这种写法会让所有静态分析失效
launch.json 调试时误触发 Python/Go 配置怎么办
VSCode 启动调试不看当前打开的文件类型,只认 launch.json 里第一个匹配的 "type"。你在 index.js 里按 F5,却弹出 “No Python interpreter”,说明配置顺序错了。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 每个调试配置必须显式写
"type": "node",不能省略,也不能写成"nodejs"或"javascript"(后者无效) - 给 Node.js 配置加明确
"name": "Start API (Node.js)",Python 的写"name": "Run Worker (Python)",避免名称重复 - 设置
"cwd": "${workspaceFolder}",否则require('./locales/en-US.json')可能因工作目录不对而报MODULE_NOT_FOUND - 多服务项目建议用
"compound"启动:先起 Node.js 服务,再起 Python worker,避免手动切换
tabSize 和 Prettier 冲突导致 Python 缩进报错
全局设 "editor.tabSize": 2 会让 Python 文件保存时被强制转成 2 空格,直接触发 IndentationError。这不是格式化器的问题,是编辑器层面的缩进行为优先级更高。
- 必须在工作区
.vscode/settings.json中用语言特异性配置,而非全局设置:
{
"[javascript]": { "editor.tabSize": 2 },
"[typescript]": { "editor.tabSize": 2 },
"[python]": { "editor.tabSize": 4 },
"[json]": { "editor.tabSize": 2 }
}
- 禁用
files.associations把.js强制映射成typescript—— 这会绕过 ESLint 规则,导致no-unused-vars不生效 - Prettier 的
tabWidth配置只在保存时生效,但编辑器 tabSize 控制的是光标移动和缩进插入行为,二者必须一致才不出错
最常被忽略的点是:i18n 文件本身也是代码的一部分,它的路径、命名、加载方式,会直接影响 Node.js 运行时能否读取,也会影响 VSCode 插件是否识别。别只盯着翻译内容,先让路径和配置稳住。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










