sqlite viewer插件双击即开,拖入.db或.sqlite文件自动表格渲染,绕过文本解析直读页结构,支持损坏文件部分恢复;遇“unable to open database file”多因路径含未转义中文空格,内容显示问号系插件未加载成功,需检查文件是否被其他进程独占锁住。

SQLite Viewer:双击即开,适合快速核对数据
它不改VSCode界面,也不加侧边栏,装完就能用——你只需要把 mydata.db 文件拖进VSCode,或在资源管理器里双击,它就自动以表格形式渲染,不是乱码、不是十六进制。核心逻辑是“绕过文本解析器”,直接调用 SQLite 的 C 接口读取页结构,所以哪怕文件有损坏(部分页丢失),它也能尽力恢复可读表内容。
常见错误现象:Unable to open database file 多半是因为路径含中文空格或符号未转义;右下角显示 UTF-8 但内容仍是问号,别折腾编码,那是插件根本没加载成功,检查文件是否被 Python 脚本或 Electron 应用独占锁住。
- 只支持
.db和.sqlite后缀,.sqlite3需手动重命名为.sqlite - 刷新数据必须右键表名 →
Refresh Table,不会监听文件变更 - 中文字段名正常显示,但若建表时用了
TEXT COLLATE RTRIM这类冷门规则,可能字段值截断——这不是插件 bug,是 SQLite 自身行为
SQLite(alexcvzz 版):带侧边栏+SQL执行面板,适合日常调试
它会在 VSCode 左侧新增一个数据库图标,点击后通过 Add Database 添加 app.db,之后所有表、索引、触发器都树状展开。和 SQLite Viewer 最大区别是:它自带 SQL 查询面板,Ctrl+Enter 就能跑 SELECT * FROM users WHERE created_at > '2026-01-01' 这类语句,结果直接表格化展示,还能导出 CSV/JSON。
使用场景:你正在写爬虫存数据,想边改 Python 边查刚插入的记录是否存在;或者迁移脚本跑完,要立刻确认外键约束是否生效。
- 相对路径如
./data/cache.db在多根工作区下容易失效,建议一律用绝对路径 - 执行复杂查询(含子查询或 CTE)时,如果卡住,先关掉其他打开该 DB 的进程,SQLite 不允许多写一读
- 不支持
ATTACH语句,也不能跨库 JOIN —— 它只管当前连接的那个文件
SQLTools + SQLite Driver:需要配置但最接近专业客户端
它本身是通用数据库连接框架,SQLite 支持靠额外安装 SQLTools Driver for SQLite 插件。配置项不多,但关键字段必须填对:database 字段必须是绝对路径,Windows 上 C:projectpp.db 和 C:/project/app.db 都行,但 C:projectpp.db 若写成 C:projectpp.db 会被当成转义失败而报错。
性能影响:首次连接大库(>500MB)会明显卡顿,因为要扫描全部页提取 schema;后续查询则很快,缓存了元数据。
- JSON 字段识别弱,
json_extract(content, '$.title')返回空不是语法错,是驱动层没启用 JSON1 扩展——得在连接字符串里加enable_json1=true - 中文内容乱码?不是插件问题,是系统 locale 设为
zh_CN.GBK时,底层 sqlite3 库返回字节流未做 UTF-8 转换,临时解法:在 Python 里用sqlite3.connect(..., uri=True)并加?mode=ro&cache=shared - 它支持查询历史、结果排序、列宽拖拽,但不支持编辑单元格内容——想改数据还得写 UPDATE 语句
别踩这些坑:路径、锁、JSON 和编码的硬伤点
三个插件都绕不开 SQLite 的底层限制,不是插件做得差,而是文件型数据库天然如此。比如你用 Python 打开 sqlite3.connect('app.db') 后忘了 conn.close(),所有插件都会卡在 “Connecting…” 或报 database is locked;又比如你在命令行用 sqlite3 app.db 开着 shell,VSCode 插件连初始化都失败。
真正容易被忽略的是 JSON 字段处理——SQLite 原生不存 JSON 类型,靠 JSON1 扩展函数解析字符串。多数插件只把它当 TEXT 渲染,点开就是一整行原始字符串,不会自动折叠/高亮/展开。你要验证 json_valid(content) 是否为 1,只能手写 SQL 查,没有快捷按钮。
还有就是 Windows 下的反斜杠陷阱:复制路径时粘贴出来是 C:projectpp.db,但 VSCode 配置框里实际存的是 C:projectapp.db——因为单个 被当转义符吃了。要么全用正斜杠,要么双写 \。











