VSCode All Autocomplete 项目教程
1. 项目的目录结构及介绍
vscode-allautocomplete/
├── .github/
│ └── workflows/
│ └── main.yml
├── .vscode/
│ └── settings.json
├── src/
│ ├── extension.ts
│ └── test/
│ └── extension.test.ts
├── package.json
├── README.md
└── tsconfig.json
- .github/workflows/main.yml: GitHub Actions 的工作流配置文件。
- .vscode/settings.json: VSCode 的设置文件,用于配置开发环境。
- src/extension.ts: 项目的入口文件,包含了扩展的主要逻辑。
- src/test/extension.test.ts: 扩展的测试文件。
- package.json: 项目的配置文件,包含了依赖、脚本等信息。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 的配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/extension.ts
。这个文件包含了扩展的主要逻辑,包括激活和停用扩展时的处理。
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
// 扩展激活时的逻辑
}
export function deactivate() {
// 扩展停用时的逻辑
}
3. 项目的配置文件介绍
package.json
package.json
是项目的配置文件,包含了依赖、脚本等信息。以下是一些关键配置项的介绍:
{
"name": "vscode-allautocomplete",
"displayName": "All Autocomplete",
"description": "Autocomplete across all open files",
"version": "0.3.1",
"publisher": "atishay",
"engines": {
"vscode": "^1.52.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./src/extension.ts",
"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"
},
"devDependencies": {
"@types/vscode": "^1.52.0",
"@types/glob": "^7.1.3",
"@types/mocha": "^8.0.4",
"@types/node": "^12.11.7",
"eslint": "^7.10.0",
"glob": "^7.1.6",
"mocha": "^8.1.3",
"typescript": "^4.0.3",
"vscode-test": "^1.4.0"
}
}
- name: 扩展的名称。
- displayName: 扩展的显示名称。
- description: 扩展的描述。
- version: 扩展的版本号。
- publisher: 扩展的发布者。
- engines: 扩展支持的 VSCode 版本。
- activationEvents: 扩展的激活事件。
- main: 扩展的入口文件。
- scripts: 扩展的脚本命令。
- devDependencies: 开发依赖。
tsconfig.json
tsconfig.json
是 TypeScript 的配置文件,用于配置 TypeScript 编译器的行为。
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"outDir": "out",
"sourceMap": true,
"strict": true,
"esModuleInterop": true
},
"include": [
"src"
]
}
- compilerOptions: 编译器选项。
- include: 包含的文件或目录。