You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode显示语言检测API查询:如何获取当前设置的显示语言?

VSCode显示语言识别API及Webview语言不一致问题解决

一、识别VSCode当前显示语言的API

有的,VSCode Extension API提供了vscode.env.language属性,它会返回当前编辑器的显示语言代码(比如你的法语设置会返回fr)。

示例代码:

import * as vscode from 'vscode';

// 获取当前VSCode显示语言
const currentLang = vscode.env.language;
console.log(currentLang); // 输出 "fr"(当设置为法语时)

二、Webview显示语言与VSCode不一致的解决方法

Webview是独立的沙盒环境,不会自动继承VSCode的显示语言配置,需要手动传递语言信息并适配:

  • 步骤1:传递语言参数到Webview
    在创建Webview时,将vscode.env.language的值注入到Webview的HTML中:

    const panel = vscode.window.createWebviewPanel(
      'yourWebviewId',
      'Webview标题',
      vscode.ViewColumn.One,
      {}
    );
    
    const currentLang = vscode.env.language;
    panel.webview.html = `
      <!DOCTYPE html>
      <html lang="${currentLang}">
      <body>
        <!-- 你的Webview内容 -->
        <script>
          // 也可以在JS中使用这个语言值
          const vscodeLang = "${currentLang}";
          // 根据vscodeLang加载对应语言的文本或资源
        </script>
      </body>
      </html>
    `;
    
  • 步骤2:适配Webview内的语言显示

    • 如果是静态文本,可根据currentLang渲染对应语言的内容;
    • 如果使用国际化库(比如i18next),将currentLang作为初始化参数传入,加载对应语言包。

内容的提问来源于stack exchange,提问作者Amit Gaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:42:03