Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>SQLite TUINew to Visual Studio Code? Get it now.
SQLite TUI

SQLite TUI

BuiltwithAI

|
3 installs
| (0) | Free
Launch the sqlite-tui Rust application from VS Code's integrated terminal.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

sqlite-tui

A lightweight terminal UI for browsing and editing SQLite databases. Built in Rust with a focus on small binary size and fast startup.

Rust Binary Size License

Features

  • Browse tables and views with row counts
  • Navigate with vim-style keybindings (j/k/h/l)
  • Edit cells inline with Enter
  • Delete rows (single or multi-select with Space)
  • Sort by any column (ascending/descending toggle)
  • Paginated display for large tables
  • 5 search plugins with Tab cycling:
Plugin Syntax Example
Keyword free text alice engineer
FTS5 FTS5 query syntax search AND api
Regex regular expression ^[A-Z].*son$
Filter col:op:val age:>:25;name:LIKE:%john%
WHERE raw SQL WHERE clause age > 25 AND score > 90

Installation

From source

cargo install --path .

Build from repo

git clone https://github.com/megamanics/sqlite-tui.git
cd sqlite-tui
cargo build --release
# Binary at target/release/sqlite-tui (~2.6 MB)

VS Code extension

The repository also includes a minimal VS Code extension that launches the existing TUI in an integrated terminal.

Open this repository in VS Code and press F5 to launch an Extension Development Host. The extension adds:

  • SQLite TUI: Open Database
  • SQLite TUI: Open Database (Read Only)
  • SQLite TUI: Build Binary

By default the extension looks for sqlite-tui on PATH. If you are developing in this repo, it will also auto-detect target/release/sqlite-tui or target/debug/sqlite-tui when present. You can override this with the sqliteTui.binaryPath setting.

If the binary is missing, the extension can launch cargo build or cargo build --release for you based on the sqliteTui.buildProfile setting.

For Marketplace packaging and publishing, see PUBLISHING.md.

Project Scripts

Run the full repo checks in one go:

./scripts/check-all.sh

Run checks and produce the release Rust binary:

./scripts/build-all.sh

Create a publishable VSIX package:

./scripts/build.sh

Usage

# Open a database
sqlite-tui mydata.db

# Open in read-only mode
sqlite-tui --read-only mydata.db

Keybindings

Navigation

Key Action
↑/k ↓/j Move up/down rows
←/h →/l Move left/right columns
PgUp/PgDn Page up/down
g / G First / last page
J / K Next / previous table
Tab Switch focus (sidebar ↔ data)
b Toggle sidebar

Actions

Key Action
Enter Edit selected cell
Space Toggle row selection
d Delete selected row(s)
s Sort by current column
/ Open search
? Show help
q / Ctrl+C Quit

Search Mode

Key Action
Tab Cycle search plugin
Enter Execute search
Esc Clear search & close

Search Plugins

Keyword Search

Searches across all columns using LIKE. Multiple words are AND-ed together.

FTS5 Full-Text Search

Uses SQLite FTS5 for full-text search. Only available for tables with FTS5 virtual tables. Supports FTS5 query syntax: AND, OR, NOT, "exact phrase".

Regex Search

Pattern matching using Rust's regex crate. Registered as a custom SQLite function.

Column Filter

Structured filtering with column:operator:value syntax. Multiple filters separated by ; are AND-ed. Operators: =, !=, >, <, >=, <=, LIKE, IS NULL, IS NOT NULL.

WHERE Builder

Direct SQL WHERE clause input with syntax validation.

Architecture

See the baseline architecture decision record: docs/adr/0001-tui-design.md

See the VS Code launcher integration decision record: docs/adr/0002-vscode-launcher-extension.md

src/
├── main.rs          # CLI entry point
├── app.rs           # Application state machine
├── event.rs         # Terminal event handling
├── db/              # Database layer
│   ├── connection   # SQLite connection (WAL mode)
│   ├── schema       # Table/view introspection
│   ├── query        # Paginated queries with sorting
│   └── mutation     # Cell updates, row deletion
├── search/          # Plugin-based search system
│   ├── plugin       # SearchPlugin trait
│   ├── keyword      # LIKE-based keyword search
│   ├── fts5         # FTS5 full-text search
│   ├── regex_search # Regex via custom SQLite function
│   ├── column_filter# Structured column:op:value filters
│   └── where_builder# Raw WHERE clause with validation
└── ui/              # TUI widgets
    ├── layout       # 3-panel layout management
    ├── table_list   # Sidebar table/view browser
    ├── data_view    # Main data grid with inline editing
    ├── search_bar   # Search input with plugin selector
    ├── status_bar   # Mode, table info, key hints
    └── dialog       # Confirmation & help overlays

Development

# Run tests (43 tests)
cargo test

# Build release binary
cargo build --release

# Run with a test database
sqlite3 test.db < tests/fixtures/create_test_db.sql
cargo run -- test.db

License

MIT

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