vscode-browse-lite 开源项目教程
1. 项目的目录结构及介绍
vscode-browse-lite 项目的目录结构如下:
vscode-browse-lite/
├── .github/
│ └── workflows/
├── assets/
├── dist/
├── node_modules/
├── scripts/
├── src/
│ ├── commands/
│ ├── components/
│ ├── extension.ts
│ ├── index.ts
│ ├── preview.ts
│ ├── provider.ts
│ └── utils.ts
├── .gitignore
├── .vscodeignore
├── CHANGELOG.md
├── LICENSE
├── package.json
├── README.md
├── tsconfig.json
└── vsc-extension-quickstart.md
目录结构介绍
- .github/workflows/: 包含 GitHub Actions 的工作流配置文件。
- assets/: 存放项目的静态资源文件。
- dist/: 编译后的扩展文件存放目录。
- node_modules/: 项目的依赖包存放目录。
- scripts/: 包含项目的脚本文件。
- src/: 项目的源代码目录。
- commands/: 包含扩展的命令实现。
- components/: 包含扩展的 UI 组件。
- extension.ts: 扩展的主入口文件。
- index.ts: 项目的入口文件。
- preview.ts: 预览功能的实现文件。
- provider.ts: 提供者功能的实现文件。
- utils.ts: 工具函数文件。
- .gitignore: 指定 Git 忽略的文件和目录。
- .vscodeignore: 指定 VS Code 忽略的文件和目录。
- CHANGELOG.md: 项目的更新日志。
- LICENSE: 项目的许可证。
- package.json: 项目的配置文件,包含依赖、脚本等信息。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 的配置文件。
- vsc-extension-quickstart.md: VS Code 扩展的快速入门指南。
2. 项目的启动文件介绍
项目的启动文件是 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
。这个文件包含了扩展的所有配置信息,包括依赖、命令、贡献点等。
{
"name": "vscode-browse-lite",
"displayName": "Browse Lite",
"description": "A lite browser inside VS Code",
"version": "0.1.0",
"publisher": "antfu",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:browse-lite.start"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "browse-lite.start",
"title": "Start Browse Lite"
}
]
},
"scripts": {
"vscode:prepublish": "yarn run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "yarn run compile && yarn 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":