VSCode BigQuery 扩展使用教程
1. 项目的目录结构及介绍
vscode-bigquery/
├── .github/
│ └── workflows/
├── assets/
│ └── images/
├── src/
│ ├── commands/
│ ├── connection/
│ ├── explorer/
│ ├── query/
│ ├── results/
│ ├── statusbar/
│ ├── telemetry/
│ ├── test/
│ ├── utils/
│ ├── extension.ts
│ └── package.json
├── .gitignore
├── .prettierrc
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── package.json
└── tsconfig.json
- .github/workflows: 包含GitHub Actions的工作流配置文件。
- assets/images: 存放项目所需的图片资源。
- src: 项目的源代码目录。
- commands: 包含所有命令的实现。
- connection: 处理与BigQuery的连接。
- explorer: 实现资源管理器视图。
- query: 处理查询逻辑。
- results: 处理查询结果的显示。
- statusbar: 状态栏相关的功能。
- telemetry: 遥测数据处理。
- test: 测试代码。
- utils: 工具函数。
- extension.ts: 扩展的主入口文件。
- package.json: 项目的元数据和依赖管理。
- .gitignore: Git忽略文件配置。
- .prettierrc: Prettier代码格式化配置。
- CHANGELOG.md: 版本变更日志。
- CONTRIBUTING.md: 贡献指南。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- package.json: 项目的元数据和依赖管理。
- tsconfig.json: TypeScript配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/extension.ts
。这个文件是扩展的入口点,负责初始化扩展并注册所有命令。以下是 extension.ts
的主要内容:
import * as vscode from 'vscode';
import { registerCommands } from './commands';
import { initializeConnection } from './connection';
import { initializeExplorer } from './explorer';
export function activate(context: vscode.ExtensionContext) {
// 初始化连接
initializeConnection(context);
// 初始化资源管理器
initializeExplorer(context);
// 注册命令
registerCommands(context);
}
export function deactivate() {
// 清理资源
}
- activate: 当扩展被激活时调用,初始化连接、资源管理器并注册命令。
- deactivate: 当扩展被停用时调用,进行资源清理。
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
,它包含了扩展的元数据、依赖项、命令和其他配置信息。以下是 package.json
的部分内容:
{
"name": "vscode-bigquery",
"displayName": "BigQuery",
"description": "BigQuery support for VS Code",
"version": "1.0.0",
"publisher": "google",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:vscode-bigquery.runQuery",
"onCommand:vscode-bigquery.exploreDatasets"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "vscode-bigquery.runQuery",
"title": "Run Query"
},
{
"command": "vscode-bigquery.exploreDatasets",
"title": "Explore Datasets"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run