aw-watcher-vscode 项目教程
aw-watcher-vscode项目地址:https://gitcode.com/gh_mirrors/aw/aw-watcher-vscode
1. 项目的目录结构及介绍
aw-watcher-vscode/
├── .github/
│ └── workflows/
├── media/
├── src/
│ ├── __tests__/
│ │ └── index.test.ts
│ ├── index.ts
│ └── util.ts
├── .gitignore
├── .prettierrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
└── tsconfig.json
- .github/workflows/: 包含GitHub Actions的工作流配置文件。
- media/: 存放项目相关的媒体文件,如图片等。
- src/: 项目的源代码目录。
- tests/: 包含项目的测试文件。
- index.ts: 项目的主入口文件。
- util.ts: 包含项目使用的工具函数。
- .gitignore: Git忽略文件配置。
- .prettierrc: Prettier代码格式化配置。
- CHANGELOG.md: 项目更新日志。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- package.json: 项目依赖和脚本配置。
- tsconfig.json: TypeScript配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/index.ts
。这个文件是整个扩展的入口点,负责初始化扩展并监听VS Code的事件,以便将数据发送到ActivityWatch。
import * as vscode from 'vscode';
import { sendHeartbeat } from './util';
export function activate(context: vscode.ExtensionContext) {
console.log('ActivityWatch extension is now active!');
let disposable = vscode.workspace.onDidSaveTextDocument((document: vscode.TextDocument) => {
sendHeartbeat(document);
});
context.subscriptions.push(disposable);
}
export function deactivate() {}
- activate: 当扩展被激活时调用,注册事件监听器。
- deactivate: 当扩展被停用时调用,进行清理工作。
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
和 tsconfig.json
。
package.json
package.json
包含了项目的元数据、依赖项和脚本命令。
{
"name": "aw-watcher-vscode",
"displayName": "ActivityWatch Watcher",
"description": "ActivityWatch watcher for VS Code",
"version": "1.0.0",
"publisher": "ActivityWatch",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./out/src/index.js",
"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",
"@typescript-eslint/eslint-plugin": "^4.9.0",
"@typescript-eslint/parser": "^4.9.0",
"eslint": "^7.15.0",
"glob": "^7.1.6",
"mocha": "^8.1.3",
"typescript": "^4.1.2",
"vscode-test": "^1.4.1"
}
}
- name: 项目名称。
- displayName: 扩展在VS Code市场中的显示名称。
- description: 扩展的描述。
- version: 版本号。
aw-watcher-vscode项目地址:https://gitcode.com/gh_mirrors/aw/aw-watcher-vscode