Skip to content

Implement Project Launcher VS Code extension - #1

Draft
daivi16108 with Copilot wants to merge 2 commits into
mainfrom
copilot/add-control-panel-sidebar
Draft

Implement Project Launcher VS Code extension#1
daivi16108 with Copilot wants to merge 2 commits into
mainfrom
copilot/add-control-panel-sidebar

Conversation

Copilot AI commented May 3, 2026

Copy link
Copy Markdown

Bootstrap a lightweight VS Code extension that surfaces workspace tasks as a one-click control panel — sidebar, status bar, output channel, and activity log — with no external process model or paid tooling required.

Extension (tools/vscode-project-launcher/)

extension.js

  • ControlPanelProvider tree view: Start / Stop / Restart / Health action buttons + clickable task-binding items that deep-link into workspace settings
  • ActivityProvider tree view: timestamped event log for all task lifecycle events
  • Status bar items: Start, Stop, Restart, Health (visibility gated by showStatusBar / showHealthButton)
  • Task execution via vscode.tasks.fetchTasks() + executeTask(); termination via taskExecutions API
  • Duplicate-start guard, configurable restart delay, configurable activity item limit
  • 10 commands: Start, Stop, Restart, Healthcheck, Launcher Setup (3-step guided picker), Quick Setup (keyword-based auto-detection), Refresh, Show Output, Clear Activity, Configure Task Labels

package.json — manifest with viewsContainers/views, menus, and 8 configuration settings:

{
  "projectLauncher.startTaskLabel": "Dev: start local app",
  "projectLauncher.stopTaskLabel": "Dev: stop local app",
  "projectLauncher.healthTaskLabel": "Dev: healthcheck"
}

CI/CD (.github/workflows/)

  • ci.yml — syntax check + VSIX package on every push/PR (permissions: contents: read)
  • release.yml — VSIX package + attach to GitHub Release on v*.*.* tags via softprops/action-gh-release

Docs

  • PUBLISHING.md — Marketplace publisher setup, Azure DevOps PAT, VSCE_PAT secret, and first-release checklist
  • README.md — full feature list, command table, settings reference, dev workflow
Original prompt

Project Launcher
Project Launcher is a lightweight VS Code extension for teams and solo developers who want one-click task control without paid task dashboards.

Project Launcher icon

It adds a dedicated sidebar control panel, an activity log, an output channel, and status bar buttons by reusing normal workspace tasks from .vscode/tasks.json.

Features
Dedicated Activity Bar container with a Control Panel view
Separate Activity view with recent task events
Output channel for start, stop, restart, and healthcheck logs
Start, Stop, and Restart controls in both sidebar and status bar
Optional Health control
Guided setup menu instead of a raw three-step task picker flow
Quick Setup that auto-detects likely start, stop, and health tasks
Clickable configured task bindings in the sidebar for direct editing
Reuses existing workspace tasks instead of introducing a custom process model
Stops running tasks through the VS Code Task API when possible
Workspace-level configuration so the same extension can be reused across many similar repositories
Quick command to bind task labels without editing JSON manually
Commands
Project Launcher: Start
Project Launcher: Stop
Project Launcher: Restart
Project Launcher: Run Healthcheck
Project Launcher: Launcher Setup
Project Launcher: Quick Setup
Project Launcher: Refresh
Project Launcher: Show Output
Project Launcher: Clear Activity
Install From VSIX
The packaged VSIX can be installed via:

Extensions: Install from VSIX...

Recommended Workspace Configuration
{
"projectLauncher.startTaskLabel": "Dev: start local app",
"projectLauncher.stopTaskLabel": "Dev: stop local app",
"projectLauncher.healthTaskLabel": "Dev: healthcheck"
}

You can also run Project Launcher: Configure Task Labels and select the task labels interactively.

Settings
projectLauncher.startTaskLabel: task label executed by Start
projectLauncher.stopTaskLabel: task label executed by Stop when there is no running execution to terminate directly
projectLauncher.healthTaskLabel: optional task label for the Health command/button
projectLauncher.showStatusBar: show or hide all launcher buttons
projectLauncher.showHealthButton: show the Health button when a health task is configured
projectLauncher.preventDuplicateStart: avoid launching the same start task twice
projectLauncher.restartDelayMs: delay between stop and start during restart
projectLauncher.activityItemLimit: maximum number of recent entries in the Activity sidebar view
Development
To run the extension in an Extension Development Host:

Open tools/vscode-project-launcher in VS Code.
Press F5.
To package a new VSIX:

cd tools/vscode-project-launcher
npx @vscode/vsce package

Separate Repository Release Flow
This folder now includes a release-ready GitHub Actions setup for extracting the extension into its own repository:

.github/workflows/ci.yml validates extension.js and packages a VSIX on pushes and pull requests
.github/workflows/release.yml packages the VSIX on version tags and uploads it to the GitHub Release
PUBLISHING.md lists the minimal repository and secret setup required before first publication

Copilot AI changed the title [WIP] Add dedicated control panel and activity log for Project Launcher Implement Project Launcher VS Code extension May 3, 2026
Copilot AI requested a review from daivi16108 May 3, 2026 07:01
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.

2 participants