VS-PicGo 开源项目教程
vs-picgoA VSCode plugin of PicGo项目地址:https://gitcode.com/gh_mirrors/vs/vs-picgo
1. 项目的目录结构及介绍
VS-PicGo 是一个用于 Visual Studio Code 的图片上传插件。以下是其主要目录结构及各部分的简要介绍:
vs-picgo/
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── assets/
│ └── logo.png
├── src/
│ ├── commands/
│ │ └── upload.ts
│ ├── extension.ts
│ ├── test/
│ │ └── extension.test.ts
│ └── utils/
│ └── index.ts
├── .gitignore
├── .vscodeignore
├── package.json
├── README.md
└── tsconfig.json
- .vscode/: 包含 Visual Studio Code 的配置文件。
extensions.json
: 推荐的扩展列表。settings.json
: 工作区的设置。
- assets/: 存放项目的静态资源,如 logo 图片。
- src/: 项目的源代码目录。
commands/
: 包含插件的命令实现。upload.ts
: 图片上传命令的实现。
extension.ts
: 插件的主入口文件。test/
: 包含插件的测试代码。extension.test.ts
: 插件的单元测试。
utils/
: 包含工具函数。index.ts
: 工具函数的入口文件。
- .gitignore: Git 忽略文件列表。
- .vscodeignore: Visual Studio Code 忽略文件列表。
- package.json: 项目的 npm 配置文件,包含依赖、脚本等信息。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 配置文件。
2. 项目的启动文件介绍
VS-PicGo 的启动文件是 src/extension.ts
。这个文件是插件的入口点,负责注册命令和初始化插件。以下是 extension.ts
的主要内容:
import * as vscode from 'vscode';
import { uploadImage } from './commands/upload';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.uploadImage', uploadImage);
context.subscriptions.push(disposable);
}
export function deactivate() {}
activate
: 插件激活时调用的函数,注册extension.uploadImage
命令。deactivate
: 插件停用时调用的函数。
3. 项目的配置文件介绍
VS-PicGo 的配置文件主要是 package.json
。这个文件包含了插件的所有元数据和配置信息。以下是 package.json
的部分关键内容:
{
"name": "vs-picgo",
"displayName": "VS-PicGo",
"description": "A PicGo plugin for Visual Studio Code",
"version": "1.0.0",
"publisher": "your-publisher-name",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:extension.uploadImage"
],
"main": "./src/extension.ts",
"contributes": {
"commands": [
{
"command": "extension.uploadImage",
"title": "Upload Image"
}
]
},
"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.1
vs-picgoA VSCode plugin of PicGo项目地址:https://gitcode.com/gh_mirrors/vs/vs-picgo