Database Client for VS Code
一个功能强大的VS Code数据库客户端插件,支持MySQL和PostgreSQL数据库的管理、查看、编辑和数据导出功能。
功能特性
🔗 数据库连接管理
- 支持MySQL和PostgreSQL数据库
- 安全的连接配置存储
- 连接状态管理和监控
🌳 数据库资源管理器
- 树形结构显示数据库、表和字段
- 直观的图标和上下文菜单
- 实时刷新数据库结构
📊 表数据管理
- 查看表数据(分页显示)
- 在线编辑表数据
- 添加、删除数据行
- 数据类型验证
🛠️ 表结构编辑
- 可视化表结构编辑器
- 添加、修改、删除字段
- 设置主键、自增、默认值等属性
- 实时SQL预览
📤 数据导出
- 支持多种导出格式:CSV、JSON、SQL
- 自定义导出选项
- 批量数据导出
💻 SQL查询执行
- 语法高亮的SQL编辑器
- 执行选中或全部SQL语句
- 查询结果展示
- 查询历史记录
安装方式
- 打开VS Code
- 按
Ctrl+Shift+X 打开扩展面板
- 搜索 "Database Client"
- 点击安装
使用方法
添加数据库连接
- 点击侧边栏的数据库图标
- 点击"添加连接"按钮
- 选择数据库类型(MySQL或PostgreSQL)
- 填写连接信息:
- 连接名称
- 主机地址
- 端口号
- 用户名
- 密码
- 数据库名(可选)
浏览数据库
- 在数据库资源管理器中展开连接
- 浏览数据库、表和字段结构
- 右键菜单提供各种操作选项
查看和编辑表数据
- 右键点击表名
- 选择"查看表数据"
- 在打开的表格中:
- 直接编辑单元格内容
- 点击"保存"按钮保存更改
- 点击"删除"按钮删除行
- 点击"添加行"按钮新增数据
编辑表结构
- 右键点击表名
- 选择"编辑表结构"
- 在结构编辑器中:
- 修改表名和注释
- 添加、删除、修改字段
- 设置字段属性
- 预览生成的SQL语句
导出数据
- 右键点击表名
- 选择"导出数据"
- 选择导出格式(CSV、JSON、SQL)
- 选择保存位置
执行SQL查询
- 右键点击数据库名
- 选择"新建查询"
- 在SQL编辑器中编写查询语句
- 按
Ctrl+Enter 执行选中的SQL
- 按
Ctrl+Shift+Enter 执行全部SQL
配置选项
在VS Code设置中可以配置以下选项:
database-client.showExplorer : 是否显示数据库资源管理器
database-client.defaultPageSize : 表数据查看时的默认分页大小
支持的数据库
MySQL
- MySQL 5.7+
- MariaDB 10.2+
- 支持SSL连接
- 支持所有常用数据类型
PostgreSQL
- PostgreSQL 10+
- 支持SSL连接
- 支持数组、JSON等高级数据类型
常见问题
MySQL Prepared Statement 错误
问题: 当连接到MySQL服务器但未指定特定数据库时,查看表数据时出现 "This command is not supported in the prepared statement protocol yet" 错误。
解决方案: 此问题已在v1.0.1版本中修复。现在使用完全限定的表名(database.table)来访问数据,而不是使用 USE 命令切换数据库。
相关文档: 查看 MYSQL_PREPARED_STATEMENT_PROTOCOL_FIX.md 了解详细的修复说明。
无数据库连接无法查看表数据
问题: 创建连接时没有指定数据库,能看到数据库列表但无法查看表和字段。
解决方案: 此问题已修复。现在支持:
- 在没有指定数据库的连接中浏览所有数据库
- 正确显示每个数据库中的表和字段
- 对任意数据库中的表进行数据操作
相关文档: 查看 DATABASE_CONNECTION_FIX.md 了解详细的修复说明。
连接超时
问题: 连接数据库时出现超时错误。
解决方案:
- 检查数据库服务器是否正在运行
- 确认网络连接和防火墙设置
- 验证连接参数(主机、端口、用户名、密码)
数据类型转换错误
问题: 编辑表数据时出现类型转换错误。
解决方案: 插件支持以下数据类型的智能转换:
- 日期时间类型:自动转换ISO格式
- 数值类型:自动处理整数和浮点数
- 布尔类型:支持 true/false 转换
- 字符串类型:自动处理特殊字符
中文字符显示问题
问题: 中文字符在数据库中显示为乱码。
解决方案:
- 确保数据库字符集设置为 UTF-8
- 创建表时指定字符集:
CREATE TABLE ... CHARSET=utf8mb4
- 检查连接参数中的字符集设置
数据显示问题
问题: 日期时间字段显示不正确。
解决方案:
- 确保时区设置正确
- 日期时间字段会自动转换为本地时间显示
- 编辑时使用标准的日期时间格式
安全性
- 连接密码使用VS Code的安全存储
- 不在明文文件中保存敏感信息
- 支持SSL/TLS加密连接
开发信息
技术栈
- TypeScript
- VS Code Extension API
- MySQL2驱动
- pg(PostgreSQL驱动)
- esbuild构建工具
项目结构
src/
├── extension.ts # 插件入口点
├── types/ # 类型定义
├── managers/ # 业务逻辑管理器
│ ├── connectionManager.ts # 连接管理
│ ├── queryExecutor.ts # 查询执行
│ └── dataExporter.ts # 数据导出
└── providers/ # VS Code提供者
├── databaseExplorer.ts # 数据库树视图
└── tableViewProvider.ts # 表数据视图
开发命令
# 安装依赖
npm install
# 编译项目
npm run compile
# 监听文件变化
npm run watch
# 运行测试
npm test
贡献指南
欢迎提交Issue和Pull Request来改进这个项目!
- Fork项目
- 创建功能分支
- 提交更改
- 推送到分支
- 创建Pull Request
许可证
MIT License
更新日志
v1.0.0
- 初始版本发布
- 支持MySQL和PostgreSQL连接
- 数据库资源管理器
- 表数据查看和编辑
- 数据导出功能
- SQL查询执行
| |