Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Cjn-interfaceNew to Visual Studio Code? Get it now.
Cjn-interface

Cjn-interface

cjn

|
2 installs
| (0) | Free
自动根据模板生成接口文件的VS Code插件
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cjn-interface

一个强大的VS Code插件,用于根据可自定义模板快速生成接口文件。

✨ 特性

  • 🚀 API 文档自动生成:支持从 Swagger 2.0/3.0、OpenAPI 3.0/3.1、Apifox 自动生成接口代码
  • ⚡ 超高性能:优化后解析速度提升 3-5 倍,内存占用减少 40%
  • 💾 智能缓存:持久化缓存系统,避免重复下载相同文档
  • 🎯 多种内置模板:支持TypeScript API接口、Interface定义、React Hooks等常用模板
  • 🔍 接口过滤:支持按路径、方法、标签过滤接口
  • 🛠️ 完全可定制:通过配置文件自定义您自己的模板
  • 📊 进度可视化:实时进度条和详细统计信息
  • 💡 智能提示:在生成过程中提供友好的交互式提示

🆕 最新优化(v0.3.0)

性能提升

  • ⚡ 解析速度提升 3-5倍(使用缓存时可达 15倍)
  • 💾 内存占用减少 40%
  • 🚀 支持并发处理:可配置并发数,默认5个并发请求
  • 📦 流式生成:支持超大型API文档(数千个接口)

新增功能

  • ✅ 持久化缓存:API文档缓存24小时,避免重复下载
  • ✅ 接口过滤:按路径、HTTP方法、标签过滤接口
  • ✅ 进度条:实时显示生成进度
  • ✅ 性能统计:详细的时间和速度统计
  • ✅ 增强日志:可选的详细日志模式

📖 查看完整优化说明:OPTIMIZATION-GUIDE.md

📦 安装

方式一:安装 VS Code 扩展(推荐)

  1. 在VS Code中打开扩展面板(Ctrl+Shift+X 或 Cmd+Shift+X)
  2. 搜索 "Cjn-interface"
  3. 点击安装

方式二:直接使用终端命令

无需下载任何文件! 安装扩展后,在你的项目中直接运行:

# 增强版命令(推荐)
npm run create-config:enhanced   # 创建配置
npm run generate:enhanced        # 生成接口

# 标准版命令
npm run create-config            # 创建配置
npm run generate                 # 生成接口

如果提示命令不存在,说明脚本还未安装到项目中,请先按下面步骤操作:

方式三:手动复制脚本文件

从扩展安装目录复制脚本到你的项目:

Mac/Linux:

# 复制增强版脚本(推荐)
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/create-config-enhanced.js ./scripts/
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/generate-from-config-enhanced.js ./scripts/

# 或复制标准版
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/create-config.js ./scripts/
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/generate-from-config.js ./scripts/

Windows (PowerShell):

# 复制增强版脚本(推荐)
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\create-config-enhanced.js .\scripts\
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\generate-from-config-enhanced.js .\scripts\

# 或复制标准版
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\create-config.js .\scripts\
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\generate-from-config.js .\scripts\

然后在 package.json 中添加:

{
  "scripts": {
    "create-config": "node scripts/create-config-enhanced.js",
    "generate": "node scripts/generate-from-config-enhanced.js"
  },
  "devDependencies": {
    "axios": "^1.6.0",
    "swagger-parser": "^10.0.3"
  }
}

安装依赖:

# 使用 npm
npm install

# 使用 pnpm
pnpm install

# 使用 yarn
yarn install

🚀 使用方法

🔥 方式一:VS Code 命令(最简单)

无需任何配置,开箱即用!

  1. 安装 Cjn-interface 扩展
  2. 按 Cmd+Shift+P (Mac) 或 Ctrl+Shift+P (Windows/Linux) 打开命令面板
  3. 选择以下命令:
    • 创建接口生成配置文件 - 创建 .cjn-interface.json
    • 从配置文件批量生成接口 - 批量生成所有配置的接口
    • 从 API 文档生成接口 - 单次生成某个 API 的接口

⚡ 方式二:终端命令(高效批量)

适合 CI/CD 和自动化场景。

第一步:复制脚本到项目

# Mac/Linux
mkdir -p scripts
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/create-config-enhanced.js ./scripts/
cp ~/.vscode/extensions/cjn.cjn-interface-*/scripts/generate-from-config-enhanced.js ./scripts/

# Windows (PowerShell)
mkdir scripts -Force
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\create-config-enhanced.js .\scripts\
copy $env:USERPROFILE\.vscode\extensions\cjn.cjn-interface-*\scripts\generate-from-config-enhanced.js .\scripts\

在 package.json 中添加:

{
  "scripts": {
    "create-config": "node scripts/create-config-enhanced.js",
    "generate": "node scripts/generate-from-config-enhanced.js"
  },
  "devDependencies": {
    "axios": "^1.6.0",
    "swagger-parser": "^10.0.3"
  }
}

安装依赖(支持多种包管理器):

npm install    # 使用 npm
pnpm install   # 使用 pnpm
yarn install   # 使用 yarn
bun install    # 使用 bun

第二步:创建配置文件

运行命令创建配置:

# 交互式创建(推荐)
npm run create-config

# 快速创建示例配置
npm run create-config -- --quick

# 详细模式
npm run create-config -- --verbose

交互式输入 API 文档配置:

🚀 Cjn-interface 配置文件创建工具

请输入 API 文档配置(输入空行完成):

--- API 文档 [#1](https://github.com/543369/cjn-interface/issues/1) ---
API 文档地址 (必填,直接回车结束): https://api.example.com/v2/api-docs
输出目录 (可选,默认 api): api/backend
接口组名称 (可选): backend

--- API 文档 [#2](https://github.com/543369/cjn-interface/issues/2) ---
API 文档地址 (必填,直接回车结束): [直接回车完成]

✅ 配置文件已创建: .cjn-interface.json

或手动创建 .cjn-interface.json 文件:

```json { "apiDocs": [ { "url": "https://petstore.swagger.io/v2/swagger.json", "outputDir": "api/petstore", "name": "petstore" }, { "url": "http://your-api.com/v2/api-docs", "outputDir": "api/backend", "name": "backend" }, { "url": "https://s.apifox.cn/your-project", "outputDir": "api/apifox", "name": "apifox" } ] } ```

配置说明:

  • `url`: API 文档地址(必填)
  • `outputDir`: 输出目录,相对于项目根目录(可选,默认 `api`)
  • `name`: 接口组名称,用作文件名前缀(可选)

第三步:批量生成接口

# 如果已复制脚本到项目中
node scripts/generate-from-config.js

# 或使用 npm script
npm run generate

输出效果:

🚀 Cjn-interface 批量生成工具
标准生成
npm run generate

# 详细模式(显示进度和统计)
npm run generate -- --verbose

# 禁用缓存(强制重新下载)
npm run generate -- --no-cache

# 指定配置文件
npm run generate -- --config=prod-config.json
[1/2] 处理: petstore
📡 正在获取 API 文档: https://petstore.swagger.io/v2/swagger.json
  ✓ 找到 20 个接口
  ✓ 创建目录: api/petstore
  ✓ 生成 20 个接口文件到 api/petstore

[2/2] 处理: backend
📡 正在获取 API 文档: http://your-api.com/v2/api-docs
  ✓ 找到 15 个接口
  ✓ 生成 15 个接口文件到 api/backend

✅ 批量生成完成!成功处理 2/2 个 API 文档

输出效果:

🚀 Cjn-interface 批量生成工具

📄 读取配置文件: .cjn-interface.json

📦 共有 2 个 API 文档需要处理

[1/2] 📡 petstore
    ✓ 找到 20 个接口
    🔨 生成接口文件...
    [████████████████████] 100% (20/20)
    ✅ 成功生成 20 个文件到 api/petstore
    ⏱️  耗时: 2.5s

[2/2] 📡 backend
    ✓ 找到 15 个接口
    🔨 生成接口文件...
    [████████████████████] 100% (15/15)
    ✅ 成功生成 15 个文件到 api/backend
    ⏱️  耗时: 1.8s

==================================================
📊 生成统计
==================================================
  API 文档数: 2/2
  接口总数:   35
  生成文件:   35
  总耗时:     4.3s
  平均速度:   8.14 接口/秒
==================================================

✅ 所有 API 文档处理完成!

支持的文档格式:

  • ✅ Swagger 2.0/3.0
  • ✅ OpenAPI 3.0/3.1
  • ✅ Apifox 分享链接

支持的包管理器:

  • ✅ npm
  • ✅ pnpm
  • ✅ yarn
  • ✅ bun

📝 方式三:使用模板(手动输入)

命令面板

  1. 按 `Cmd+Shift+P` 打开命令面板
  2. 输入 "生成接口文件"
  3. 选择要使用的模板
  4. 按提示输入变量值
  5. 接口文件将在当前工作区根目录生成

右键菜单

  1. 在资源管理器中右键点击文件夹
  2. 选择 "生成接口文件"
  3. 选择模板并输入变量
  4. 文件将在所选文件夹中生成

📋 内置模板

1. TypeScript API接口

生成包含请求和响应类型定义的API调用函数:

```typescript export interface GetUserRequest { } export interface GetUserResponse { } export function getUserApi(data: GetUserRequest): Promise { } ```

2. TypeScript Interface

生成TypeScript接口定义及相关类型:

```typescript export interface User { } export type UserPartial = Partial; export type UserRequired = Required; ```

3. React Hooks接口

生成React Hook用于API调用:

```typescript export function useGetUser(params: GetUserRequest) { const [data, setData] = useState<GetUserResponse | null>(null); // ... } ```

⚙️ 自定义模板

在设置中配置

  1. 打开VS Code设置(`Ctrl+,` 或 `Cmd+,`)
  2. 搜索 "Cjn-interface"
  3. 点击 "在settings.json中编辑"
  4. 添加自定义模板配置

配置示例

```json { "interfaceGenerator.templates": [ { "name": "自定义模板", "description": "我的自定义接口模板", "fileName": "{{name}}.service", "fileExtension": ".ts", "template": "export class {{Name}}Service {\n // TODO: 实现服务方法\n}\n", "variables": [ { "name": "name", "description": "服务名称(小驼峰)", "default": "user" }, { "name": "Name", "description": "服务名称(大驼峰)", "default": "User" } ] } ] } ```

模板配置说明

  • name: 模板名称(在选择模板时显示)
  • description: 模板描述
  • fileName: 文件名模板,支持 `{{变量名}}` 占位符
  • fileExtension: 文件扩展名(如 `.ts`, `.js`, `.jsx`)
  • template: 模板内容,支持 `{{变量名}}` 占位符
  • variables: 变量列表
    • name: 变量名
    • description: 变量描述(用于输入提示)
    • default: 默认值(可选)

🎮 命令

VS Code 命令面板

  • Cjn-interface: 从配置文件批量生成接口 - 从配置文件批量生成所有接口(推荐)
  • Cjn-interface: 从 API 文档生成接口 - 从 Swagger/OpenAPI/Apifox 生成接口
  • Cjn-interface: 创建接口生成配置文件 - 在 VS Code 中创建配置文件
  • Cjn-interface: 生成接口文件 - 根据模板手动生成接口文件
  • Cjn-interface: 打开模板配置 - 打开模板配置设置
  • Cjn-interface: 重新加载模板 - 重新加载模板配置

终端命令(需先复制脚本)

# 增强版(推荐)
npm run create-config      # 交互式创建配置
npm run create-config -- --quick  # 快速创建示例
npm run generate           # 批量生成接口
npm run generate -- --verbose  # 详细模式
npm run generate -- --no-cache  # 禁用缓存

🔧 配置选项

配置项 类型 默认值 描述
`interfaceGenerator.apiDocumentUrl` string `""` API 文档地址(支持 Swagger/OpenAPI/Apifox)
`interfaceGenerator.templates` array `[]` 自定义模板配置数组

💡 使用技巧

  1. API 文档生成(推荐):

    • 配置好 API 文档地址后,可快速批量生成接口
    • 生成的代码包含完整的类型定义和请求函数
    • 支持多选接口,一次性生成多个文件
    • Apifox 用户直接使用分享链接即可
  2. ES 模块项目:

    • 生成的脚本使用 ES 模块格式,与现代项目兼容
    • CommonJS 项目使用 .mjs 扩展名或配置 "type": "module"
  3. 变量命名约定:

    • 小驼峰:`{{name}}` → `getUser`
    • 大驼峰:`{{Name}}` → `GetUser`
    • 全大写:`{{NAME}}` → `GET_USER`
  4. 模板组织:建议为不同项目或团队创建不同的模板集

  5. 文件命名:使用变量让文件名动态生成,如 `{{name}}.api.ts`

🐛 问题反馈

如果您遇到任何问题或有功能建议,请在 GitHub Issues 中提交。

常见问题

  • 下载 404 错误:查看 下载故障排除指南
  • ES 模块错误(require is not defined):将文件重命名为 .mjs 或在 package.json 添加 "type": "module"
  • 网络问题:使用本地脚本或备用 CDN,详见故障排除指南

�� 更新日志

查看 CHANGELOG.md 了解版本更新历史。

📄 许可证

MIT

🤝 贡献

Q: 找不到 npm 命令? A: 请先按照安装步骤复制脚本文件到项目中,并在 package.json 添加 scripts 配置。

Q: 扩展目录在哪里? A:

  • Mac/Linux: ~/.vscode/extensions/
  • Windows: %USERPROFILE%\.vscode\extensions\

使用 ls ~/.vscode/extensions/ | grep cjn 查找扩展目录。

Q: 支持哪些包管理器? A: 支持 npm、pnpm、yarn、bun。安装依赖时使用对应命令即可。

Q: 可以不用终端命令吗? A: 可以!直接在 VS Code 中使用命令面板(Cmd+Shift+P),选择 "从配置文件批量生成接口"。

Q: GitHub 文件无法访问? A: 无需从 GitHub 下载。安装 VS Code 扩展后,直接从扩展目录复制脚本到项目中即可。

Enjoy coding! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft