- TypeScript 79.7%
- CSS 10.8%
- JavaScript 9.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .vscode | ||
| media | ||
| resources | ||
| src | ||
| webview | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| .vscodeignore | ||
| CHANGELOG.md | ||
| esbuild.js | ||
| eslint.config.js | ||
| icon.png | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.webview.json | ||
Burrow DB Client (VS Code)
A 100% free database connection manager for VS Code.
Add MySQL/MariaDB connections, browse every schema and table in a connection, and run SQL with the results in a dedicated panel — all inside the editor. No artificial connection limits and no paid tier.
Why
Existing extensions either force a single database per connection (so a multi-schema server needs one connection per schema) or cap the number of free connections. A connection is a row in your own editor storage and a socket to your own server — there is nothing to meter. This extension treats a connection as the whole server, the way a PHPStorm/DBeaver data source does.
Features
- Connection manager panel. A connection list plus an add/edit form with a
Test Connection button. Credentials are stored in the OS keychain via VS
Code SecretStorage — never in
settings.json. - Whole-server browsing. Leave the default schema blank and one connection
lists every schema → table → column. Cross-schema
JOINs work. - Monaco SQL editor + results panel. The syntax-highlighted SQL editor
opens in the editor area (one per connection); run with
Ctrl/Cmd+Enter. Results render in a SQL Results tab in the bottom panel, next to Terminal / Ports — the last query wins the shared panel. The grid is sortable and resizable, and results export to CSV / JSON (preview, copy, or save). - Run a selection or a batch.
Ctrl/Cmd+Enterruns the selected text if there is a selection, otherwise the whole editor. Multiple;-separated statements run sequentially and stop on the first error (reporting which statement failed); a batch shows an execution summary rather than a grid, so it's ideal for DDL/DML scripts. - Table preview. Click a table in the tree to preview its rows.
- SSH tunnelling. Connect through a bastion / jump host: toggle Connect through an SSH tunnel and supply the SSH host/user + a private-key file (path) and optional passphrase. The MySQL host/port are then interpreted as seen from the SSH host. The key stays on disk (only its path is stored); the passphrase goes in SecretStorage.
- SSL / TLS. Choose a TLS mode per connection: Require (encrypt without verifying the certificate — matches the automatic TLS other clients use, and is the fix for servers like Amazon RDS that mandate secure transport) or Verify CA (verify against a CA bundle referenced by path).
Requirements
- VS Code 1.90.0 or newer.
- A reachable MySQL or MariaDB server (directly, or via an SSH host).
Usage
- Open the Burrow DB Client view in the Activity Bar.
- Click + (Add Connection) or the gear (Manage Connections) to open the
manager panel. Fill in host, port, user, and password; leave Default schema
blank to browse the whole server. Click Test Connection to verify, then
Save.
- To connect through a jump host, enable Connect through an SSH tunnel and provide the SSH host/user, private-key path, and passphrase (if any).
- Expand the connection in the tree to browse schemas → tables → columns, or click a table to preview its rows.
- Use Open SQL Console on a connection (or a schema) to open the editor,
write SQL, and run it with
Ctrl/Cmd+Enter. If you select text, only the selection runs; several;-separated statements run as a batch (stopping on the first error). Results appear in the SQL Results panel. You can also run the active.sqlfile / selection via the Run Active SQL File / Selection command.
Commands
| Command | Description |
|---|---|
| Burrow DB Client: Add Connection | Open the manager to create a new connection. |
| Burrow DB Client: Manage Connections | Open the connection manager panel. |
| Burrow DB Client: Edit Connection | Edit the selected connection. |
| Burrow DB Client: Delete Connection | Delete the selected connection. |
| Burrow DB Client: Refresh | Reload the connection tree. |
| Burrow DB Client: Open SQL Console | Open a SQL editor bound to a connection (or schema). |
| Burrow DB Client: Run Active SQL File / Selection | Run the active .sql editor (or selection) against a connection. |
Settings
| Setting | Default | Description |
|---|---|---|
burrowDbClient.queryRowLimit |
500 |
LIMIT applied when previewing a table from the tree (0 disables). |
burrowDbClient.connectTimeout |
10000 |
Connection / SSH handshake timeout in ms. |
Security model
All database and SSH access runs on the extension host (Node), using mysql2
and ssh2. The webviews (SQL editor and results grid) are sandboxed: they
render UI and send "run this SQL" messages, but never see credentials or a live
connection — only serialisable result rows. Connection passwords and SSH key
passphrases live in SecretStorage; SSH private keys are referenced by path and
never copied into extension storage.
Feedback & contributing
Burrow DB Client is free and actively developed, and your feedback genuinely shapes it — especially in these early releases. If something is broken, confusing, or missing, please say so:
- 🐛 Report a bug or 💡 request a feature on the issue tracker. A good bug report includes: what you did, what you expected, what happened, your VS Code version, and the MySQL/MariaDB server version (and whether you were connecting over SSH).
- ⭐ Rate & review on the Marketplace if it's useful to you — it helps other developers find it.
- 🔧 Pull requests welcome. The repo is on GitHub; open an issue first for anything substantial so we can agree the approach.
Please don't include real credentials, connection strings, or private keys in an issue — redact hosts and secrets before pasting logs or screenshots.
Roadmap
Planned: query history, row editing, and ER diagrams.
License
MIT