vscode-jest-runner 项目教程
1. 项目的目录结构及介绍
vscode-jest-runner 项目的目录结构如下:
vscode-jest-runner/
├── .github/
├── .vscode/
├── assets/
├── dist/
├── node_modules/
├── src/
│ ├── commands/
│ ├── extension.ts
│ ├── test/
│ └── utils/
├── .gitignore
├── .vscodeignore
├── CHANGELOG.md
├── package.json
├── README.md
├── tsconfig.json
└── yarn.lock
目录介绍
- .github/: 包含 GitHub 相关的配置文件,如 issue 模板等。
- .vscode/: 包含 Visual Studio Code 的配置文件,如任务和调试配置。
- assets/: 包含项目所需的静态资源文件。
- dist/: 包含编译后的 JavaScript 文件。
- node_modules/: 包含项目依赖的 npm 包。
- src/: 包含项目的源代码。
- commands/: 包含扩展的命令实现。
- extension.ts: 扩展的主入口文件。
- test/: 包含测试文件。
- utils/: 包含工具函数和辅助类。
- .gitignore: 指定 Git 忽略的文件和目录。
- .vscodeignore: 指定在打包扩展时忽略的文件和目录。
- CHANGELOG.md: 记录项目的变更日志。
- package.json: 项目的 npm 配置文件,包含依赖、脚本和扩展信息。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 的配置文件。
- yarn.lock: 锁定依赖版本的文件。
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
是 npm 的配置文件,包含项目的基本信息、依赖、脚本等。
{
"name": "vscode-jest-runner",
"displayName": "Jest Runner",
"description": "Simple way to run or debug a single (or multiple) tests from context-menu",
"version": "1.0.0",
"publisher": "firsttris",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Testing"
],
"activationEvents": [
"onCommand:extension.runJest",
"onCommand:extension.debugJest",
"onCommand:extension.watchJest",
"onCommand:extension.runPrevJest"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "extension.runJest",
"title": "Jest: Run Test"
},
{
"command": "extension.debugJest",
"title": "Jest: Debug Test"
},
{
"command": "extension.watchJest",
"title": "Jest: Watch Test"
},
{
"command": "extension.runPrevJest",
"title": "Jest: Run Previous Test"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./