vscode中文界面不等于中文提示词,因hover、补全、类型推断等由语言服务器(如pylance、tsserver)生成,其返回的函数签名、参数名、错误信息等原始语义数据默认为英文,不经过vscode界面本地化流程。

VSCode 的智能感知(IntelliSense)提示词默认跟随系统语言或编辑器界面语言,但**不是所有提示内容都会被翻译**——尤其是函数签名、参数名、类型名、错误信息这些来自语言服务器的原始语义数据,基本都保持英文。中文界面 ≠ 中文提示词。
为什么 editor.hover 和补全项里还是英文?
因为 hover 提示、函数参数签名、类型推断结果等,由语言服务器(如 Pylance、tsserver、gopls)生成并返回,它们不走 VSCode 界面翻译流程,而是直接输出源码/类型定义里的原始字符串。比如 Array.prototype.map 的文档来自 TypeScript 官方库,就是英文;requests.get 的签名来自 Python 类型 stub,也是英文。
- 界面语言(
"locale": "zh-cn")只影响菜单、设置项、命令面板等 UI 文本 - 语言服务器返回的内容(
textDocument/hover、textDocument/completion)不经过本地化处理 - 部分扩展(如某些中文版 Python 插件)尝试做简单翻译,但不可靠,且易与类型系统冲突
jsconfig.json 或 tsconfig.json 会影响提示语言吗?
不会。这类配置只控制模块解析、路径别名、类型检查目标等语义行为,和语言无关。但它们直接影响“有没有提示”——比如没配 "baseUrl" 和 "paths",@/utils 导入后按 . 就根本不会出成员列表,更别说中英文了。
- 缺少
jsconfig.json→ 模块路径无法解析 →import { foo } from '@/api'后无补全 - 配了但
"include"漏掉src/**/*→ 类型定义未加载 →foo()参数提示为空或只有any - 类型定义本身是英文(如
@types/react)→ 提示词天然就是英文
Python 项目里怎么让 help() 式提示更“中文友好”?
不能强制翻译,但可以提升可读性:确保 Pylance 正确加载 docstring,并用中文写好自己的函数注释。Pylance 会原样展示 docstring,所以你写的中文注释会直接出现在 hover 里。
- 在
.vscode/settings.json中确认:"python.languageServer": "Pylance" - 确保
python.defaultInterpreterPath指向真实虚拟环境,否则 Pylance 读不到你项目里的.py文件 - 自己写的函数加三引号中文 docstring:
def upload_file(path: str) -> bool: """上传文件到服务器 Args: path: 本地文件路径 Returns: 是否成功 """→ hover 时就能看到中文说明 - 第三方库的英文提示无法替换,但可通过
@types/xxx或自定义.d.ts补充中文注释(仅限 TS/JS)
真正容易被忽略的是:很多人花时间改 locale,却没检查右下角语言模式是否为 Python 而非 Plain Text,也没确认 Pylance 是否已加载——结果界面变中文了,hover 还是空白,误以为“翻译失败”,其实是根本没触发语言服务。











