Files
JoneSSLandGitHub 07c1c56b4f Add Azure / Foundry launch support to VS Code extension (#1365)
* Enhance OpenClaude VS Code extension with Microsoft Foundry / Azure OpenAI support. Added configuration options for Azure API key, endpoint, and deployment settings. Updated README and documentation for new features, including a setup wizard for Azure integration. Improved terminal launch environment handling for Azure compatibility.

* Fix packaged Windows helper runtime references

* Use installed CLI from Windows helper aliases

* Scope Windows helper env overrides to invocation

* Align Windows alias docs with shipped helper
2026-06-09 06:27:18 +08:00

3.7 KiB

OpenClaude VS Code Extension

A practical VS Code companion for OpenClaude with a project-aware Control Center, predictable terminal launch behavior, and quick access to useful OpenClaude workflows.

Features

  • Real Control Center status in the Activity Bar:
    • whether the configured openclaude command is installed
    • the launch command being used
    • whether the launch shim injects CLAUDE_CODE_USE_OPENAI=1
    • the current workspace folder
    • the launch cwd that will be used for terminal sessions
    • whether .openclaude-profile.json exists in the current workspace root
    • a conservative provider summary derived from the workspace profile or known environment flags
  • Project-aware launch behavior:
    • Launch OpenClaude launches from the active editor's workspace when possible
    • falls back to the first workspace folder when needed
    • avoids launching from an arbitrary default cwd when a project is open
  • Practical sidebar actions:
    • Launch OpenClaude
    • Launch in Workspace Root
    • Open Workspace Profile
    • Open Repository
    • Open Setup Guide
    • Open Command Palette
  • Built-in dark theme: OpenClaude Terminal Black
  • Microsoft Foundry / Azure OpenAI: optional wizard and settings store endpoint, API version, deployment name, and API key (Secret Storage); launch injects OPENAI_* and AZURE_OPENAI_API_VERSION into the OpenClaude terminal (see docs/advanced-setup.md on the repo).

Requirements

  • VS Code 1.95+
  • openclaude available in your terminal PATH (npm install -g @gitlawb/openclaude@latest)

Commands

  • OpenClaude: Open Control Center
  • OpenClaude: Launch in Terminal
  • OpenClaude: Launch in Workspace Root
  • OpenClaude: Open Repository
  • OpenClaude: Open Setup Guide
  • OpenClaude: Open Workspace Profile
  • OpenClaude: New Chat / OpenClaude: Open Chat Panel / OpenClaude: Resume Session / OpenClaude: Abort Generation
  • OpenClaude: Configure Azure / Foundry Chat (wizard)
  • OpenClaude: Set Azure / Foundry API Key (Secret Storage)
  • OpenClaude: Clear Azure / Foundry API Key
  • OpenClaude: Open Azure / Foundry Settings

Microsoft Foundry / Azure OpenAI (terminal chat)

  1. Command Palette → OpenClaude: Configure Azure / Foundry Chat (wizard) and enter endpoint, API version, deployment name, and API key; or set openclaude.azure.* in Settings and use OpenClaude: Set Azure / Foundry API Key.
  2. Enable OpenClaude: Azure: Enabled (the wizard turns this on).
  3. OpenClaude: Launch in Terminal — the extension merges env vars the OpenAI shim expects (CLAUDE_CODE_USE_OPENAI, OPENAI_BASE_URL, OPENAI_API_KEY, OPENAI_MODEL, AZURE_OPENAI_API_VERSION, and OPENAI_AZURE_STYLE when forced).

If you use .openclaude-profile.json for the same workspace, leave Azure injection off to avoid conflicting provider configuration.

Settings

  • openclaude.launchCommand (default: openclaude)
  • openclaude.terminalName (default: OpenClaude)
  • openclaude.useOpenAIShim (default: false)
  • openclaude.azure.* — Foundry / Azure OpenAI terminal injection (see Settings UI)
  • openclaude.permissionMode — chat permission mode

openclaude.useOpenAIShim only injects CLAUDE_CODE_USE_OPENAI=1 when Azure injection did not already set it. It does not configure endpoints or keys by itself.

Notes on Status Detection

  • Provider status prefers the real workspace .openclaude-profile.json file when present.
  • If no saved profile exists, the extension falls back to known environment flags available to the VS Code extension host.
  • If the source of truth is unclear, the extension shows unknown instead of guessing.

Development

From this folder:

npm run test
npm run lint

To package (optional):

npm run package