A free VS Code extension to browse and edit MySQL and SQLite databases from an Activity Bar sidebar tree and editor tabs.
- Connection tree in sidebar (connections -> schemas -> tables/views)
- Add/edit/remove MySQL and SQLite connections
- Passwords stored with VS Code
SecretStorage - Table/view tabs open in the main editor area when clicked from the sidebar
- Table data grid with pagination, sorting, filtering
- Row actions: insert, duplicate, inline edit with apply/cancel, delete with confirmation
- DDL viewer with copy and open-in-editor
- Read-only fallback if no stable row identifier is available
- Sidebar Webview (
dbExplorer.sidebar) handles connection management and navigation. - Table/view content opens in dedicated webview editor tabs in the main workbench area.
- Data flow:
- Webview requests tree data.
- Extension loads saved connections from
globalState, resolves passwords fromSecretStorage, and introspects schemas/tables/views through DB adapters. - On table click, the extension opens or reveals a dedicated editor tab for that object.
- The table tab requests paged rows with sort/filter options.
- Extension builds safe SQL (quoted identifiers + parameterized values), executes, and returns rows + optional row count.
- Mutations (insert/update/delete/duplicate) are sent from the tab webview to the extension and executed transactionally where possible, then the grid refreshes.
- Storage:
- Non-secret connection metadata is persisted in
globalStateso connections remain available across workspaces. - MySQL passwords are stored in
SecretStorageonly.
- Non-secret connection metadata is persisted in
npm install
npm run compileThen press F5 in VS Code to launch the Extension Development Host.
This extension uses sqlite3, which includes native binaries. In CI/release packaging, build for target platforms or ensure prebuilt binaries are available.
npm testIncluded tests cover SQL identifier quoting, filter SQL generation, and row-identifier strategy selection.