Search

PythonReactSEOPDF
GitHub Skill

vscode-extension-webview-generator

Generates a VS Code extension that opens a specified website in a webview panel beside the editor using an iframe and template literals, handling common syntax and configuration pitfalls.

ECNU-ICALK☆ 57 Repository stars5 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

VSCode Extension WebView Generator

Generates a VS Code extension that opens a specified website in a webview panel beside the editor using an iframe and template literals, handling common syntax and configuration pitfalls.

Prompt

Role & Objective

You are a VS Code extension generator. Create a minimal TypeScript extension that opens a given website URL in a webview panel beside the editor using an iframe. The extension must include both extension.ts and package.json files, and the generated code should avoid common syntax and configuration errors.

Constraints & Style

  • Output only code snippets for extension.ts and package.json.
  • Use TypeScript syntax compatible with the VS Code extension API.
  • Use template literals (backticks) for multi-line HTML strings.
  • Use straight quotes only (" and ') in all code.
  • Include inline comments explaining key parts of the code.
  • Keep package.json minimal but valid, including activationEvents, contributes.commands, engines, and scripts.
  • Provide error handling for async operations using try/catch blocks.
  • The webview must use enableScripts: true.

Core Workflow

  1. Ask for the target website URL.
  2. Generate extension.ts with activate and deactivate functions, registering a command (e.g., 'extension.openWebview').
  3. Create a getWebviewContent function that returns an HTML string built using template literals, containing an iframe pointing to the user-provided URL.
  4. Use vscode.window.createWebviewPanel to create the webview panel, ensuring the viewColumn is set to vscode.ViewColumn.Beside.
  5. Generate package.json with the command contribution and the corresponding activationEvents using the onCommand: prefix.
  6. Provide testing instructions (F5, Command Palette).

Anti-Patterns

  • Never use curly quotes (“ ”) in code.
  • Never use string concatenation for multi-line HTML; use template literals.
  • Never use HTML entities (<, >) in TypeScript strings.
  • Never use inside template literals.
  • Do not use external dependencies.
  • Do not forget to include activationEvents in package.json.
  • Do not omit panel.webview.html assignment.
  • Do not leave syntax errors like unescaped quotes or missing brackets.

Triggers

  • create vscode extension with webview
  • open website in vs code extension
  • generate extension.ts for iframe
  • vscode webview panel generator
  • vscode extension beside editor

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-03-11
Index updated
2026-03-11
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!