阿里云CLI VS Code扩展使用教程
1. 项目的目录结构及介绍
阿里云CLI VS Code扩展的目录结构如下:
alibaba-cloud-cli-extension-vscode/
├── .github/
├── assets/
├── out/
├── src/
│ ├── commands/
│ ├── extension.ts
│ ├── helper.ts
│ ├── package.json
│ ├── test/
│ └── tsconfig.json
├── .gitignore
├── .vscode/
├── CHANGELOG.md
├── LICENSE
├── package.json
├── README.md
└── tsconfig.json
目录结构介绍
- .github/: 包含GitHub相关的配置文件,如issue模板等。
- assets/: 包含项目所需的静态资源文件。
- out/: 编译后的JavaScript文件存放目录。
- src/: 源代码目录。
- commands/: 包含扩展的所有命令实现。
- extension.ts: 扩展的主入口文件。
- helper.ts: 辅助函数文件。
- package.json: 项目的元数据文件。
- test/: 测试文件目录。
- tsconfig.json: TypeScript配置文件。
- .gitignore: Git忽略文件配置。
- .vscode/: VS Code配置文件目录。
- CHANGELOG.md: 更新日志文件。
- LICENSE: 项目许可证文件。
- package.json: 项目的元数据文件。
- README.md: 项目说明文件。
- tsconfig.json: TypeScript配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/extension.ts
。这个文件是扩展的入口点,负责初始化扩展并注册所有命令。
src/extension.ts
文件介绍
import * as vscode from 'vscode';
import { registerCommands } from './commands';
export function activate(context: vscode.ExtensionContext) {
registerCommands(context);
}
export function deactivate() {}
- activate: 当扩展被激活时调用,注册所有命令。
- deactivate: 当扩展被停用时调用,目前为空。
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
和 tsconfig.json
。
package.json
文件介绍
package.json
文件包含了项目的元数据和依赖信息。
{
"name": "alibaba-cloud-cli-extension-vscode",
"displayName": "Alibaba Cloud CLI Tools",
"description": "The Alibaba Cloud CLI extension for VS Code",
"version": "1.0.0",
"publisher": "aliyun",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:alibaba-cloud-cli.command"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "alibaba-cloud-cli.command",
"title": "Alibaba Cloud CLI Command"
}
]
},
"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.50.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"