GPT-INT 项目使用教程
1. 项目的目录结构及介绍
GPT-INT/
├── .github/
│ └── workflows/
│ └── main.yml
├── assets/
│ └── logo.png
├── src/
│ ├── commands/
│ │ ├── codeCompletion.ts
│ │ ├── codeExplanation.ts
│ │ └── codeSimplification.ts
│ ├── extension.ts
│ ├── gpt.ts
│ └── utils/
│ └── helper.ts
├── .gitignore
├── package.json
├── README.md
└── tsconfig.json
- .github/workflows/main.yml: GitHub Actions 的工作流配置文件。
- assets/logo.png: 项目的图标文件。
- src/: 源代码目录。
- commands/: 包含各种命令的实现文件。
- codeCompletion.ts: 代码补全功能。
- codeExplanation.ts: 代码解释功能。
- codeSimplification.ts: 代码简化功能。
- extension.ts: 插件的主入口文件。
- gpt.ts: GPT 模型的接口文件。
- utils/helper.ts: 工具函数文件。
- commands/: 包含各种命令的实现文件。
- .gitignore: Git 忽略文件配置。
- package.json: 项目的依赖和脚本配置文件。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 的配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/extension.ts
。这个文件是插件的主入口点,负责初始化插件并注册各种命令。以下是 extension.ts
的主要内容:
import * as vscode from 'vscode';
import { registerCommands } from './commands';
export function activate(context: vscode.ExtensionContext) {
console.log('GPT-INT 插件已激活');
registerCommands(context);
}
export function deactivate() {
console.log('GPT-INT 插件已停用');
}
- activate 函数: 当插件被激活时调用,注册所有命令。
- deactivate 函数: 当插件被停用时调用。
3. 项目的配置文件介绍
项目的配置文件主要包括 package.json
和 tsconfig.json
。
package.json
package.json
文件包含了项目的依赖、脚本和其他元数据。以下是部分关键内容:
{
"name": "gpt-int",
"displayName": "GPT Int",
"version": "1.0.0",
"publisher": "BugBearer",
"engines": {
"vscode": "^1.50.0"
},
"activationEvents": [
"onCommand:gpt-int.codeCompletion",
"onCommand:gpt-int.codeExplanation",
"onCommand:gpt-int.codeSimplification"
],
"main": "./src/extension.ts",
"contributes": {
"commands": [
{
"command": "gpt-int.codeCompletion",
"title": "GPT Int: 代码补全"
},
{
"command": "gpt-int.codeExplanation",
"title": "GPT Int: 代码解释"
},
{
"command": "gpt-int.codeSimplification",
"title": "GPT Int: 代码简化"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js"
},
"dependencies": {
"vscode": "^1.1.37"
},
"devDependencies": {
"@types/vscode": "^1.50.0",
"@types/node": "^12.11.7",
"typescript": "^4.0.5",