microsoft / microsoft/vscode-wasm

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

Open
#249 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
456
Forks
40
Avg merge
3d 2h
Merged PRs (30d)
4

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked specification overview, the spec/0.1 directory, and the wit/ definitions, then inspect the examples/hello-world example. Compare those interfaces with the existing VS Code WASM work. Done would require a documented compatibility assessment and a decision about optional support or collaboration, but the issue does not identify implementation files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode, wasm
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.