Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>TableAtomNew to Visual Studio Code? Get it now.
TableAtom

TableAtom

thorclient

|
3 installs
| (0) | Free
A fast database workspace for VS Code with schema browsing, SQL execution, query history, and rich result grids.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TableAtom

TableAtom is a database workspace built for Visual Studio Code. It brings the core TablePro workflow into the editor: saved connections, schema navigation, SQL editing, safe query execution, history, and a fast tabular result viewer.

This repository is an independent VS Code implementation. It does not bundle TablePro source code, native libraries, plugins, services, or artwork.

Features

  • PostgreSQL, MySQL, MariaDB, and SQLite connections
  • Passwords stored only in VS Code SecretStorage
  • Activity Bar schema explorer for schemas, tables, views, and columns
  • SQL execution from the current statement, selection, or full editor
  • Query cancellation and configurable connection/network-query timeouts
  • Confirmation for destructive statements and unqualified updates/deletes
  • SQL formatting and schema-aware completion
  • Sortable, filterable, paginated result grid with a full-value inspector
  • Copy cell, row, or filtered results as TSV
  • Export results as CSV or JSON
  • Local query history with duration, result count, and error state; credential-bearing entries are stored as non-runnable redacted previews
  • Active connection and running-query status bar controls

Quick start

  1. Run npm install and press F5 to launch the Extension Development Host.
  2. Open the TableAtom icon in the Activity Bar.
  3. Choose Add Connection or Import Connection URL.
  4. Expand the connected database to browse its schema.
  5. Open a SQL file or choose New Query.
  6. Press Ctrl+Enter (Cmd+Enter on macOS) to run the selection or current statement.

Clicking a table opens its first configured row-limit results. The active connection can be changed from the TableAtom status bar item.

Supported connections

Database Driver Notes
PostgreSQL pg Also works with many PostgreSQL wire-compatible services
MySQL mysql2 TLS and self-signed-certificate modes are available
MariaDB mysql2 Uses the MySQL-compatible protocol
SQLite sql.js Pure WebAssembly; supports existing, new, read-only, and in-memory databases; see the SQLite limitations below

Connection URLs may use postgres://, postgresql://, mysql://, mariadb://, sqlite://, or file://. An absolute filesystem path is treated as SQLite. URL passwords are separated immediately and saved through SecretStorage; they are never written into the connection profile.

Commands and shortcuts

Action Command Windows/Linux macOS
Run selection/current statement TableAtom: Run Query Ctrl+Enter Cmd+Enter
Run the full SQL editor TableAtom: Run All Queries Ctrl+Shift+Enter Cmd+Shift+Enter
Cancel active query TableAtom: Cancel Query Ctrl+Alt+Backspace Cmd+Alt+Backspace
Explain current query TableAtom: Explain Query — —
Format SQL TableAtom: Format SQL — —

Connection, explorer, and history commands are also available from context menus and the Command Palette.

Settings

  • tableatom.query.rowLimit: maximum retained result rows (default 500)
  • tableatom.query.pageSize: rows per result-grid page (default 100)
  • tableatom.query.timeoutSeconds: connection and network-query timeout (default 30)
  • tableatom.query.confirmDestructive: destructive-query confirmation
  • tableatom.history.maxEntries: locally stored history size (default 500)
  • tableatom.results.nullLabel: label used for SQL null values

Security and data handling

  • Passwords use VS Code SecretStorage and never enter webview state.
  • Connection metadata and query history use extension global state.
  • SQL text is redacted before history persistence when TableAtom recognizes a password, token, secret, API key, or credential-bearing URL. Such previews cannot be rerun from history.
  • Result webviews use a restrictive Content Security Policy and render database values with DOM text nodes rather than HTML.
  • Identifiers generated by explorer actions are quoted by the active driver.
  • TableAtom sends no telemetry and contacts no TablePro service.
  • Workspace Trust is required because the extension opens files and connects to database servers.

When used through Remote SSH, WSL, or a dev container, TableAtom runs on the workspace extension host. Network reachability and SQLite paths therefore refer to that host rather than the local UI machine.

Development

npm install
npm run check
npm run test:integration
npm run package

Useful scripts:

  • npm run watch bundles the extension on source changes.
  • npm test runs unit and SQLite integration tests.
  • npm run test:integration launches VS Code and verifies activation, commands, formatting, and the bundled SQL.js runtime.
  • npm run typecheck checks strict TypeScript types.
  • npm run lint checks the extension and tests.
  • npm run package creates an installable .vsix.

The extension is bundled into dist/extension.js; the SQL.js WebAssembly file is copied into dist/ during the build.

Known limitations

  • File-backed SQLite uses whole-file SQL.js snapshots, not native SQLite file locking. Give TableAtom exclusive access to the file and keep backups. It opens a main-file snapshot read-only when WAL or journal sidecars already exist, and refuses to overwrite a file changed by another process or one that gains sidecars while connected. Sidecar changes are not included in the snapshot.
  • SQL.js executes synchronously, so a long-running SQLite statement cannot be interrupted mid-execution. Cancellation and timeout can stop network-driver work and connection attempts; cancelling PostgreSQL or MySQL work closes that connection and TableAtom reconnects on the next query.
  • MySQL/MariaDB client-side DELIMITER directives and multi-statement stored routine bodies are not parsed as one statement. Select and run compatible server statements individually.
  • Results are materialized in memory. TableAtom applies its configured row cap to supported result-producing statements, but it is not a streaming client.
  • Destructive-query detection is a guardrail, not a SQL security boundary. Stored procedures, dynamic SQL, and complex predicates can evade heuristics; review SQL and use least-privilege database accounts.

Scope

TableAtom 0.1 focuses on the everyday database workflow. Native TablePro features such as SSH tunnels, inline row editing, additional NoSQL drivers, CloudKit sync, Swift .tableplugin bundles, AI/MCP, ER diagrams, and server administration are not claimed as compatible and are not included in this milestone.

Acknowledgement

The product workflow is inspired by TablePro, an AGPL-3.0 native database client. See NOTICE.md for the clean implementation boundary.

TableAtom itself is licensed under the MIT License in LICENSE. Bundled dependency licenses are reproduced in THIRD_PARTY_NOTICES.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft