大数据云计算查询器 - VS Code 扩展
一个用于大数据/云计算场景的 VS Code 扩展:在编辑器中右键快速执行 SQL,并在底部面板展示结果。支持手动配置查询接口、字段筛选/清除筛选、列排序、导出 CSV、自动调整列宽及手动拖拽列宽;可选开启 SQL 语法检测(默认关闭)。
功能特性
- 支持手动配置多个查询接口(可对接不同环境/不同网关)
- 右键菜单:执行 SQL(选中 SQL 则执行选中内容,否则执行全文)
- 右键菜单:配置 SQL 接口(打开
settings.json 进行接口维护)
- 底部面板展示 SQL 执行结果(类似客户端表格体验)
- 字段筛选功能(支持列筛选,支持清除过滤条件)
- 列排序功能(点击表头排序)
- 导出 CSV
- 自动调整列宽(按字段名计算初始宽度),支持手动拖拽调节列宽(会记住)
- SQL 语法检测(可选 SQLFluff,默认关闭;开启后可手动检查或执行前检查)
配置说明
手动编辑接口(settings.json)
- 按
Ctrl+, (Windows/Linux) 或 Cmd+, (Mac) 打开设置
- 点击右上角的
{} 图标打开 JSON 格式设置
- 在
settings.json 中添加以下配置:
{
"sqlExecutor.endpoints": [
{
"name": "华为云",
"url": "https://your-huawei-cloud-endpoint.com/api/sql/execute",
"method": "POST",
"headers": {
"Authorization": "Bearer your-token-here"
},
"bodyTemplate": "{\"query\": {sql}}",
"timeout": 1800000
},
{
"name": "阿里云",
"url": "https://your-aliyun-endpoint.com/api/sql/execute",
"method": "POST",
"headers": {
"X-API-Key": "your-api-key-here"
},
"bodyTemplate": "{\"sql\": {sql}}",
"timeout": 600000
}
],
// 可选:SQL 语法检测(SQLFluff),默认不开启
"sqlExecutor.sqlfluff.enabled": true,
"sqlExecutor.sqlfluff.dialect": "sparksql",
"sqlExecutor.sqlfluff.extraArgs": ["--rules", "PRS"]
}
配置项说明
name: 接口名称(必填),显示在选择列表中
url: 接口 URL(必填),SQL 执行接口地址
method: HTTP 方法,可选值:POST(默认)、GET
headers: 请求头(可选),用于添加认证信息等
bodyTemplate: 请求体模板(可选),使用 {sql} 作为 SQL 占位符
timeout: HTTP 请求超时时间(可选),单位为毫秒,默认值:1800000(30 分钟)
bodyTemplate 示例
如果接口需要特定的请求格式,可以使用 bodyTemplate:
{
"bodyTemplate": "{\"query\": {sql}, \"database\": \"mydb\", \"format\": \"json\"}"
}
如果不提供 bodyTemplate,默认使用:
{
"sql": "your sql here"
}
使用方法
1. 执行 SQL
单个 SQL 执行
- 打开或创建一个
.sql 文件
- 选择要执行的 SQL 语句(可选,不选择则执行全部)
- 右键点击,选择 "执行 SQL"
- 在弹出的列表中选择要使用的接口
- 执行结果会在底部面板显示
多个 SQL 批量执行
- 在 SQL 文件中选中包含多个 SQL 语句的文本(用分号分隔)
- 右键点击,选择 "执行 SQL"
- 选择要使用的接口
- 扩展会自动识别多个 SQL 语句,逐个执行
- 在结果面板中查看所有 SQL 的执行结果汇总:
- 显示成功/失败统计
- 每个 SQL 的执行结果单独显示
- 失败的 SQL 会显示错误信息
2. 过滤数据
- 点击表头的筛选按钮,配置筛选条件
- 可随时点击 “清除过滤” 恢复原始结果
3. 排序数据
- 点击表格列头进行排序
- 首次点击为升序(↑)
- 再次点击为降序(↓)
- 列头会显示当前排序状态
4. 导出数据
点击工具栏中的 “导出 CSV” 按钮,选择保存位置后导出结果
接口返回格式要求
接口必须返回 JSON。为保证“正确/错误”显示一致,建议遵循以下字段规范:
1) SQL 执行正确(必须包含字段)
{
"datas": [
{
"column1": "value1",
"column2": "value2"
}
],
"success": "OK"
}
2) SQL 执行错误(必须包含字段)
{
"ERROR": "错误信息",
"message": ""
}
备注:扩展也会兼容识别常见数组字段(如 data / rows / result / items 等),以及错误字段(error / ERROR)。
注意事项
- 接口必须返回 JSON 格式
- 表格数据应为对象数组,每个对象代表一行数据
- 字段名会作为表格列名
- 如果格式不标准,会以 JSON 形式完整展示
- 最多显示 5000 行数据(可在代码中调整)
- 默认超时时间为 30 分钟(可通过
timeout 配置调整)
超时配置说明
timeout 参数单位为毫秒
- 常用时间换算:
- 30 秒 = 30000 毫秒
- 5 分钟 = 300000 毫秒
- 10 分钟 = 600000 毫秒
- 30 分钟 = 1800000 毫秒(默认值)
- 如果不配置
timeout,默认使用 30 分钟
许可证
MIT License
作者
轻松健康-智能中台团队
贡献
欢迎提交 Issue 和 Pull Request 来改进这个扩展。