Skip to content

Add VS Code sidebar for local ClickHouse server management#8

Open
sdairs wants to merge 3 commits intoClickHouse:mainfrom
sdairs:feat/vscode-ctl-sidebar
Open

Add VS Code sidebar for local ClickHouse server management#8
sdairs wants to merge 3 commits intoClickHouse:mainfrom
sdairs:feat/vscode-ctl-sidebar

Conversation

@sdairs
Copy link
Copy Markdown
Contributor

@sdairs sdairs commented Apr 5, 2026

Summary

  • Adds a ClickHouse activity bar panel with sidebar for managing local ClickHouse servers via clickhousectl CLI
  • Local Servers tree view: create, start, stop, delete servers scoped to the workspace, connect LSP to a running server, export connection details to .env
  • Installed Versions tree view: install, remove, and set default ClickHouse versions (system-global)
  • Workspace-aware: detects project initialization state, prompts to chctl local init when needed
  • Uses --json output from chctl for reliable parsing
  • ClickHouse logo SVG for activity bar icon and language file icon

Test plan

  • Open extension dev host (code --extensionDevelopmentPath=packages/vscode)
  • Verify sidebar appears with ClickHouse logo in activity bar
  • Test with no workspace open (should show "Open a folder" prompt)
  • Test with workspace but no .clickhouse dir (should show "Initialize" prompt)
  • Run init, create a server, verify it shows as running
  • Click plug icon to connect LSP, verify status bar updates
  • Click file-code icon to export .env, verify file contents
  • Stop and delete server via context menu
  • Install/remove ClickHouse versions, set default via star icon

🤖 Generated with Claude Code

sdairs and others added 3 commits April 5, 2026 19:51
Adds a GitHub Actions workflow (release-vscode.yml) that builds
platform-specific .vsix packages with the clickhouse-lsp binary
bundled inside, following the rust-analyzer pattern. Triggered by
version tags (v*) or manual dispatch.

Platforms: linux-x64, linux-arm64, darwin-x64, darwin-arm64,
win32-x64, win32-arm64.

Also updates the extension to prefer the bundled server binary
before falling back to $PATH lookup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add --pre-release flag to vsce package/publish so all releases
  show as experimental in the VS Code Marketplace
- Add packages/vscode/README.md for the marketplace page, with
  a prominent experimental warning banner
- Bump engines.vscode to ^1.80.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ousectl

Adds a ClickHouse activity bar panel with two tree views:

- **Local Servers**: Create, start, stop, and delete local ClickHouse servers
  scoped to the current workspace. Includes LSP connection bridge (click to
  connect LSP to a running server) and .env export for connection details.
  Workspace-aware with project initialization via `chctl local init`.

- **Installed Versions**: List, install, remove, and set default ClickHouse
  versions (system-global). Inline star button to set active version.

Features:
- Automatic clickhousectl CLI detection with install prompt
- JSON output parsing for reliable data from chctl
- ClickHouse logo SVG for activity bar and language icon
- Context-aware welcome content (no workspace, not initialized, no servers)
- File watcher for .clickhouse directory to detect external init
- Debug output channel (ClickHouse CTL) for troubleshooting
- Launch configuration for Extension Development Host

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant