vscode-commitizen 项目使用教程
1、项目的目录结构及介绍
vscode-commitizen/
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── src/
│ ├── commands/
│ │ └── commit.ts
│ ├── extension.ts
│ ├── test/
│ │ └── extension.test.ts
│ └── types/
│ └── index.d.ts
├── .gitignore
├── .vscodeignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
├── tsconfig.json
└── webpack.config.js
- .vscode/: 包含VSCode的配置文件,如扩展推荐和设置。
- src/: 项目的源代码目录。
- commands/: 包含具体的命令实现,如
commit.ts
。 - extension.ts: 项目的入口文件。
- test/: 包含测试文件。
- types/: 包含类型定义文件。
- commands/: 包含具体的命令实现,如
- .gitignore: 指定Git忽略的文件和目录。
- .vscodeignore: 指定VSCode打包时忽略的文件和目录。
- CHANGELOG.md: 项目的更新日志。
- LICENSE: 项目的许可证。
- README.md: 项目的说明文档。
- package.json: 项目的依赖和脚本配置。
- tsconfig.json: TypeScript的配置文件。
- webpack.config.js: Webpack的配置文件。
2、项目的启动文件介绍
项目的启动文件是src/extension.ts
。这个文件是VSCode扩展的入口点,负责注册命令和初始化扩展。
import * as vscode from 'vscode';
import { commitCommand } from './commands/commit';
export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(vscode.commands.registerCommand('extension.commitizen', commitCommand));
}
export function deactivate() {}
- activate: 当扩展被激活时调用,注册
extension.commitizen
命令。 - deactivate: 当扩展被停用时调用,目前为空。
3、项目的配置文件介绍
package.json
package.json
文件包含了项目的基本信息、依赖和脚本配置。
{
"name": "vscode-commitizen",
"displayName": "vscode-commitizen",
"description": "Git commit with conventions",
"version": "0.10.0",
"publisher": "KnisterPeter",
"engines": {
"vscode": "^1.28.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:extension.commitizen"
],
"main": "./out/extension",
"contributes": {
"commands": [
{
"command": "extension.commitizen",
"title": "Conventional Commit"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"postinstall": "node ./node_modules/vscode/bin/install",
"test": "npm run compile && node ./node_modules/vscode/bin/test"
},
"devDependencies": {
"typescript": "^2.6.1",
"vscode": "^1.1.21",
"tslint": "^5.8.0",
"@types/node": "^8.10.25",
"@types/mocha": "^2.2.42"
},
"dependencies": {
"commitizen": "^2.10.1",
"cz-conventional-changelog": "^2.1.0"
}
}
- name: 扩展的名称。
- displayName: 扩展的显示名称。
- description: 扩展的描述。
- version: 扩展的版本号。
- publisher: 扩展的发布者。
- engines: 扩展支持的VSCode