VS Code Extensions
SQLite Atlas

SQLite Atlas

by bryce-harmon

Browse and edit SQLite databases in VS Code: paginated tables, sorting, filtering, cell editing with undo/redo, row export, and large-file support.

Downloads

65

Rating

— (0)

Version

0.1.0

Last updated

Jun 11, 2026

Browse and edit SQLite databases without leaving VS Code. Click any .sqlite, .sqlite3, .db, .db3, .s3db, or .sdb file and it opens in a fast table viewer — no setup, no native dependencies.

Browse

  • Sidebar lists every table and view with live row counts
  • Paginated grid (100 rows per page) that keeps huge tables responsive
  • Click a column header to sort; click again to reverse
  • Filter box searches across every column of the current table
  • Schema view shows the full CREATE statements for the database

Edit

  • Double-click a cell to change it (type NULL for NULL); changes integrate with VS Code's native undo/redo, dirty indicator, save, and revert
  • Insert rows through a column form; delete the selected row with one click
  • Unsaved edits survive closing the window — they restore when you reopen
  • Views are automatically read-only

Export

Copy the visible page or the selected row to your clipboard as CSV, TSV, JSON, SQL INSERT statements, Markdown, or HTML — ready to paste into a spreadsheet, script, or doc.

Large files

On desktop VS Code, databases open through a disk-backed SQLite driver: the file is never loaded into memory, so multi-gigabyte databases open instantly. Environments without that driver fall back to an in-memory WebAssembly engine automatically.

How saving works

Edits are applied inside a SQLite transaction. Saving commits the transaction; reverting rolls it back. Until you save, the file on disk is untouched.


Development

npm install
npm run compile     # type-check and build to out/
npm test            # run the test suite (both database drivers)
npm run sample      # generate sample/chinook-lite.db for manual testing

Press F5 in VS Code to launch an Extension Development Host.

Architecture

  • src/extension.ts — activation; registers the custom editor
  • src/sqliteEditor.ts — CustomEditorProvider + webview HTML, message routing, undo/redo/save/revert wiring
  • src/driver.ts — SqliteDriver interface shared by both backends
  • src/drivers/sqljs.ts — in-memory driver (sql.js / WebAssembly)
  • src/drivers/nodeSqlite.ts — disk-backed driver (node:sqlite)
  • src/edits.ts — EditSession: structured edit ops carrying their own inverses, applied write-through inside a transaction (save = COMMIT, revert = ROLLBACK, undo = apply inverse); the pending-op log doubles as the hot-exit backup
  • src/export.ts — pure row formatters for the copy-as feature
  • media/ — webview UI (vanilla JS/CSS, themed with VS Code CSS variables)

License

MIT

Related extensions