Plugins

SQL Explorer

Browse a SQL database as a read-only virtual filesystem: schemas, tables and views as folders, rows as files.

Version 1.0.2 Official plugin Released 39 downloads

Install it from Commander: Plugins → Manage, or drop the signed bundle into the plugins/ directory.

What this bundle provides

One download, 2 plugins.

SQL Explorer

dev.nuclr.plugin.core.panel.sql

Browse a SQL database as a read-only virtual filesystem: schemas, tables and views as folders, rows as files.

FilePanel Apache-2.0

SQL Row Viewer

dev.nuclr.plugin.core.panel.sql.quickview

Field-list / JSON preview for a SQL row, and a paginated grid preview for a table or view.

QuickView Apache-2.0

About

🗄️ Nuclr SQL Explorer

Browse a SQL database in Nuclr Commander as if it were a filesystem. Schemas are folders, tables and views are folders, rows are files — so the navigation, marking, quick view and copy keys you already use on files work on your data too.

Read-only by design. This plugin never issues an INSERT, UPDATE, DELETE or DDL statement. You can browse, filter, preview and export; you cannot change anything.

SQL Explorer
└── Shop (a saved connection)
    └── public (a schema)
        ├── users        (a table)
        │   ├── 1        (a row, named by its primary key)
        │   ├── 2
        │   └── 3
        └── active_users (a view, browsed the same way)

🔑 Rows are named by their primary key. A table without one falls back to the row's position in the listing (00000000, 00000001, …).

✨ Features

  • 🔌 Connect to PostgreSQL, MySQL / MariaDB, SQL Server, or anything with a JDBC driver you point at.
  • 📂 Navigate connection → schema → table/view → row with the ordinary cursor keys.
  • 👁️ Quick view (Ctrl+Q) a row as a field list or raw JSON, or a table as a grid.
  • 🔍 Filter and sort any table with a WHERE / ORDER BY fragment, shown in the location bar so a narrowed listing is never a mystery.
  • 📤 Export to CSV — a whole table streamed to a file, or just the rows you marked.
  • 📋 Copy as CSV to the clipboard, plus tab-separated copies for pasting straight into a spreadsheet.
  • 🔐 Passwords in the OS credential store — Windows Credential Manager, macOS Keychain, or the Linux Secret Service. Never in a config file.
  • 🎨 Theme-aware throughout: selections pick up the same accent the file panel marks entries with.

🚀 Getting started

1. Open the panel

Press Alt+F1 (left pane) or Alt+F2 (right pane) and choose SQL → SQL Explorer.

🐧 On Linux the window manager claims Alt+F1/Alt+F2 first, so Ctrl+Shift+1 and Ctrl+Shift+2 do the same thing.

2. Create a connection

Press F7, or right-click and choose New Connection….

FieldWhat it is
NameWhatever you want to call it in the panel
DriverPostgreSQL, MySQL / MariaDB, SQL Server, or Custom
Host / Port / DatabaseFeed the Build from fields button
JDBC URLWhat actually gets used — build it, or paste your own
UsernameLeave blank and you are never asked for a password
PasswordOnly ever used to connect; never written to the profile

Hit Test Connection to try it without saving anything, then OK.

💡 The first connection using a given driver downloads it from Maven Central and caches it under ~/.nuclr/plugins-data/dev.nuclr.plugin.core.panel.sql/drivers/. That one connect needs network; later ones do not.

3. Browse

Enter on the connection to open it, then walk down through schemas and tables to individual rows.

⌨️ Keys

Function bar

KeyWhereDoes
F7Explorer root, connectionsNew Connection…
F4On a connectionEdit Connection…
F8On a connectionDelete Connection (the profile, not the database)
F5On a table, view or rowCopy to the other panel, as CSV
Ctrl+QOn a table, view or rowQuick view

Sorting

KeySorts by
Ctrl+F3Name — or the row key inside a table
Ctrl+F6Size — in a schema listing
Ctrl+F7Unsorted — back to the order the database returned
Ctrl+F12Sort dialog

Marking rows

Marking is the commander's own, and works here exactly as it does on files:

KeyDoes
InsertMark and move down
SpaceToggle the mark under the cursor
+Mark a group by pattern
*Invert every mark

Marked rows are what Export to CSV, Copy as CSV and F5 act on. With nothing marked, they act on whatever the cursor is standing on.

🖱️ Right-click menu

On a connection — New / Edit / Duplicate / Delete Connection, and Disconnect. The root listing's Status column tells you which connections are currently open.

On a table or view — Filter / Sort…, Count Rows, Export to CSV…, Copy as CSV.

On rows — Export to CSV… and Copy as CSV, acting on the marked rows.

👁️ Quick view (Ctrl+Q)

On a row — every column as a name: value list, with a JSON toggle for when you want to paste it somewhere.

On a table or view — the first 500 rows as a grid. Select rows with click, Ctrl-click and Shift-click, then right-click for:

ItemGives you
CopyTab-separated, exactly what Ctrl+C gives
Copy with HeadersThe same, with column names on the first line
Copy as CSVProperly quoted CSV, identical to what an export writes
Select AllEvery row in the preview

📏 Limits

Three caps keep the plugin honest about memory, and each one says when it is reached rather than quietly truncating:

CapWhereWhy
50,000 rowsTable listingA marker row appears at the end; add a filter to see past it
500 rowsQuick-view gridIt is a preview, not the browsing surface
10,000 rowsWhole-table Copy as CSVThe clipboard holds it all in memory at once — use Export to CSV for everything

Export to CSV has no cap. It streams straight to the file, so table size is bounded by your disk rather than by heap.

🔐 Credentials

Passwords go to the OS credential store through the host's NuclrCredentialStore, keyed by connection. They are never written to profiles.json, never logged, and never held longer than the connect needs.

If the OS store is unavailable — a locked keyring, no backend, denied access — the plugin degrades to asking for the password each time rather than failing. When "Remember password" cannot be honoured, it says so instead of silently dropping it.

Only a connection with a username is ever asked for a password. A URL carrying its own credentials, or a database that wants none, is left alone.

🔧 Drivers

DriverShips with the plugin?
PostgreSQL⬇️ Downloaded on first use
MySQL / MariaDB⬇️ Downloaded on first use
SQL Server⬇️ Downloaded on first use
Custom📁 You pick the jar

No JDBC driver is bundled, so the plugin stays small. Each driver is loaded in its own child classloader and connected through Driver.connect directly, so drivers cannot clash with one another or with the host.

Use SSL sends whichever property the selected driver actually understands — sslmode for PostgreSQL, sslMode/useSSL for MySQL, encrypt for SQL Server. A custom driver takes its encryption settings from the URL you wrote.

🏗️ Building

Needs Maven 3.9+ and JDK 25.

mvn clean verify     # compile, test, package and sign
mvn test             # tests only

The build produces target/filepanel-sql-<version>.zip plus a detached .zip.sig. Drop both into Commander's plugins/ directory and restart.

✍️ Signing reads a keystore path from the jarsigner.* properties in pom.xml. Use mvn clean package to build without signing.

🧪 Tests

The suite runs headless and needs no database server. It builds a real SQLite database on disk and navigates it through the ordinary custom-driver path, so listing, cancellation, CSV and lifecycle behaviour are exercised against real JDBC rather than a mock.

SQLite is a test-scoped dependency only — it is not offered as a driver and is not shipped in the bundle.

📦 What's in the bundle

EntryTypeId
SQL ExplorerFilePaneldev.nuclr.plugin.core.panel.sql
SQL Row ViewerQuickViewdev.nuclr.plugin.core.panel.sql.quickview

Built against dev.nuclr:platform-sdk:5.0.0.

📄 License

Apache License 2.0 — see LICENSE.

Releases

Version Released Size Download
1.0.2 0.1 MB Download
1.0.1 0.1 MB Download

Details

Plugin ID
dev.nuclr.plugin.core.panel.sql
Repository
nuclrdev/plugin-filepanel-sql
Platform SDK
5.0.0
SHA-256
f0805d6910034c1fd7b59b1a5101cfc853563dd68c08ee34c660c4b73020781f