Skip to content

Feature Request: Explore alignment with cross-IDE WebAssembly Extension Standard #249

@Amiya167

Description

@Amiya167

Summary

I'd like to propose exploring potential alignment between VS Code's WASM extension work and the emerging WebAssembly IDE Extension Standard - an open, IDE-agnostic specification for building sandboxed IDE extensions using WebAssembly.

Motivation

The WebAssembly IDE Extension Standard aims to enable write-once, run-anywhere IDE extensions through:

  • Portability: Extensions work across any IDE implementing the standard
  • Security: Capability-based permissions with fine-grained access control
  • WASI Alignment: Built on WASI 0.2+ and the Component Model
  • WIT Interfaces: Standardized interface definitions for IDE capabilities

VS Code's WASM work is excellent for running WASM within VS Code, but exploring cross-IDE portability could benefit the broader developer ecosystem.

Comparison

Aspect vscode-wasm IDE Extension Standard
Scope VS Code only IDE-agnostic
Model WASM within JS extension Pure WASM extension
Permissions Extension-level Fine-grained capability-based
Interfaces VS Code APIs WIT-defined contracts

Potential Benefits

  1. Ecosystem Growth: Extensions could run on VS Code, JetBrains IDEs, Zed, etc.
  2. Security Model: Fine-grained permissions (e.g., workspace:read, network:fetch:*.example.com)
  3. Standardization: Common WIT interfaces for editor, workspace, UI, and language features
  4. Interoperability: Shared tooling and extension formats

Proposed Actions

  • Review the specification
  • Evaluate WIT interface definitions in the wit/ directory
  • Consider if VS Code could optionally support extensions built to this standard
  • Discuss potential collaboration on interface standardization

References

I'd love to hear the team's thoughts on this direction. Happy to discuss further or contribute if there's interest in exploring this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions