@codingame/vscode-languagedetection

中文文档
1.0.23发布于 2024/04/16MITTypeScriptESM + CJS零依赖近 30 天下载 1.4万

Npm 软件包,使用 guillang 的 ML 模型检测源代码语言

中文使用文档
文档目录5 节
  1. 使用量
  2. 高级选项
  3. 地方发展
  4. 捐款
  5. 商标

vscode- 语言检测

一个npm软件包,使用机器学习来检测源代码语言. 电源 @ yoeo (英语)是因为 猜测朗 样板!

使用量

首先在您的工程中安装 :

npm install --save @vscode/vscode-languagedetection
# or using yarn
yarn add @vscode/vscode-languagedetection

然后即时化一个模块操作,运行一个字符串代码上的模型:

import { ModelOperations } from "@vscode/vscode-languagedetection";

const modulOperations = new ModelOperations();

const result = await modulOperations.runModel(`
function makeThing(): Thing {
    let size = 0;
    return {
        get size(): number {
        return size;
        },
        set size(value: string | number | boolean) {
        let num = Number(value);
        // Don't allow NaN and stuff.
        if (!Number.isFinite(num)) {
            size = 0;
            return;
        }
        size = num;
        },
    };
}
`);

以便你们依次获得以下信任:

[
  { languageId: 'ts', confidence: 0.48307517170906067 },
  { languageId: 'rs', confidence: 0.10045434534549713 },
  { languageId: 'js', confidence: 0.07833506911993027 },
  { languageId: 'c', confidence: 0.045049071311950684 },
  { languageId: 'lua', confidence: 0.044198162853717804 },
  { languageId: 'cpp', confidence: 0.03847603127360344 },
  { languageId: 'cs', confidence: 0.03298814222216606 },
  { languageId: 'mm', confidence: 0.02999635599553585 },
  { languageId: 'html', confidence: 0.01874217577278614 },
  { languageId: 'sql', confidence: 0.01811739057302475 },
  { languageId: 'swift', confidence: 0.01418407540768385 },
  { languageId: 'pl', confidence: 0.014126052148640156 },
  { languageId: 'md', confidence: 0.01112559624016285 },
  { languageId: 'java', confidence: 0.009976979345083237 },
  { languageId: 'ps1', confidence: 0.009242385625839233 },
  { languageId: 'php', confidence: 0.008150739595293999 },
  { languageId: 'go', confidence: 0.0069260732270777225 },
  { languageId: 'tex', confidence: 0.006594990845769644 },
  { languageId: 'scala', confidence: 0.00619362760335207 },
  { languageId: 'py', confidence: 0.004240741487592459 },
  { languageId: 'r', confidence: 0.0033439004328101873 },
  { languageId: 'matlab', confidence: 0.0030552551615983248 },
  { languageId: 'css', confidence: 0.0026798006147146225 },
  { languageId: 'sh', confidence: 0.0023688252549618483 },
  { languageId: 'ipynb', confidence: 0.002114647999405861 },
  { languageId: 'bat', confidence: 0.0018151027616113424 },
  { languageId: 'hs', confidence: 0.001677449094131589 },
  { languageId: 'erl', confidence: 0.0014191442169249058 },
  { languageId: 'coffee', confidence: 0.000696933304425329 },
  { languageId: 'rb', confidence: 0.0006357143283821642 }
]

高级选项

默认情况下,此库将在Node.js工作. 它使用 fs 财务报告和审定财务报表 path 由 Node.js 提供的模块 model.json 文件和权重文件, group1-shard1of1.bin,这些包含在本 repo.

您可以使用以下两个可选参数来覆盖此行为: ModelOperations数字 :

modelJSONFunc?: () => Promise<any> // This must return a JSON.parse() object
weightsFunc?: () => Promise<ArrayBuffer>

这使得您可以覆盖这个软件包的模型加载行为,如果你碰巧处于非传统环境中的话. 举个例子,看看如何 VS代码正在做。 。 。 .

第三个参数是选项包:

  • minContentSize?: number - 用于语言检测的文件的最小字符数。 默认为 20。 。 。 .
  • maxContentSize?: number - 字符的最大数量 将使用 用于语言检测的文件。 默认为 100000。 。 。 .

地方发展

从源头建设,遵循这些步骤:

  1. 清除仓库
  2. 运行 npm install
  3. 运行 npm run watch

要进行测试,只需运行 npm test。 。 。 .

为了建立一个生产包:

  1. 运行 npm run build
  2. 运行 npm pack

要发布此软件包, 请运行 npm publish。 。 。 .

捐款

该项目欢迎各方的贡献和建议。 大多数捐款要求您同意 撰稿人许可协议(CLA)宣布,你有权并且实际上确实给了我们 有权使用您的贡献。 详情请访问 https://cla.opensource.microsoft.com 互联网档案馆的存檔,存档日期2014-10-02。 。 。 .

当您提交拉拉请求时, CLA bot 会自动确定您是否需要提供 a CLA并适当装饰PR(如状态检查、评论)。 只要听从指示 由机器人提供。 你只需要用我们的CLA 一次就能完成.

该项目通过了 Microsoft 开源行为守则。 。 。 . 更多信息见 《行为守则》 或者说 联系人 打开码@ microsoft.com 并附上任何其他问题或评论.

商标

本项目可能包含项目,产品或服务的商标或标志. 授权使用微软 商标或标志必须遵循 微软的商标和品牌准则。 。 。 . 在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助. 任何使用第三方商标或标志的行为都必须遵守这些第三方的政策.

版本与发布记录

@codingame/vscode-languagedetection 共发布 2 个版本,首次发布于 2024/04/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.23latest2024/04/162 年前
1.0.222024/04/162 年前

关于 @codingame/vscode-languagedetection 的常见问题

@codingame/vscode-languagedetection 是什么?

Npm 软件包,使用 guillang 的 ML 模型检测源代码语言

如何安装 @codingame/vscode-languagedetection?

在项目目录运行 npm install @codingame/vscode-languagedetection,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 vscode-languagedetection,可以用 npx vscode-languagedetection 直接运行。

@codingame/vscode-languagedetection 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@codingame/vscode-languagedetection 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@codingame/vscode-languagedetection 可以商用吗?

@codingame/vscode-languagedetection 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@codingame/vscode-languagedetection 的下载量有多少?

根据 npm 官方下载统计,@codingame/vscode-languagedetection 在 2026/10/10 – 2026/11/08 这 30 天内被下载 14,329 次,日均约 478 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@codingame/vscode-languagedetection 还在维护吗?

最新版本 1.0.23 发布于 2024/04/16(2 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/04/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。