Skip to content

Add webview-based wizard UI with sidebar icon and navigation controls#22

Draft
gadeynebram with Copilot wants to merge 5 commits into
mainfrom
copilot/add-wizard-ui-functionality
Draft

Add webview-based wizard UI with sidebar icon and navigation controls#22
gadeynebram with Copilot wants to merge 5 commits into
mainfrom
copilot/add-wizard-ui-functionality

Conversation

Copilot AI commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

Adds a visual multi-step wizard as an alternative to the command-palette flow. Users can now launch the wizard from a sidebar icon and navigate through steps using Previous/Next/Complete buttons.

Implementation

Webview Provider (WizardWebviewProvider.ts - 1,120 lines)

  • 8-step wizard with embedded HTML/CSS/JS
  • Message-based architecture for webview ↔ extension communication
  • Step validation and state management
  • Dynamic data loading (databases, providers, data sources, tables)
  • Integrates with existing VirtualizationWizard backend via public methods

Sidebar Integration (WizardViewProvider.ts)

  • Activity bar icon with custom SVG (database stack)
  • Tree view provider for wizard launch
  • New commands: openWizardWebview, refreshView

Architecture

// Webview handles UI, delegates to existing wizard for logic
private async _executeWizard() {
    const provider = this._wizard['provider'];
    const detectedSchema = await provider.detectSchema(remote, dataSource);
    const script = provider.generateCreateScript(item, detectedSchema, dataSource, schema);
    await provider.cleanupDiscoveryTables();
}

Changes to Existing Code

  • Made VirtualizationWizard.GetMSSQLAPI() and EnsureSchemaExists() public
  • Added view container and commands to package.json
  • Original command-palette wizard preserved for backward compatibility

UI Flow

  1. Connection (native MSSQL dialog) → 2. Database → 3. Provider (MSSQL/MariaDB/Oracle) → 4. Schema → 5. Data Source → 6. External Databases (multi-select) → 7. Tables/Views (multi-select) → 8. Generate

Progress indicator shows "Step X of 8" throughout. All form fields validate before allowing progression. Previous button enabled after step 1.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits February 26, 2026 20:10
Co-authored-by: gadeynebram <3693399+gadeynebram@users.noreply.github.com>
Co-authored-by: gadeynebram <3693399+gadeynebram@users.noreply.github.com>
Co-authored-by: gadeynebram <3693399+gadeynebram@users.noreply.github.com>
…n, improve naming

Co-authored-by: gadeynebram <3693399+gadeynebram@users.noreply.github.com>
Copilot AI changed the title [WIP] Add wizard UI for enhanced user interaction Add webview-based wizard UI with sidebar icon and navigation controls Feb 26, 2026
Copilot AI requested a review from gadeynebram February 26, 2026 20:21
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