Skip to content

extensions: split devtoolsExtensionHost action into its own contribution#311978

Merged
roblourens merged 2 commits intomainfrom
roblou/agents/debug-extension-host-status
Apr 22, 2026
Merged

extensions: split devtoolsExtensionHost action into its own contribution#311978
roblourens merged 2 commits intomainfrom
roblou/agents/debug-extension-host-status

Conversation

@roblourens
Copy link
Copy Markdown
Member

Pulls DebugExtensionHostInDevToolsAction registration out of extensions.contribution.ts into a new devtoolsExtensionHost.contribution.ts so the Agents app (vs/sessions) can opt into just this action without importing the full electron-browser extensions contribution.

Mirrors the recent timeline split in #311882.

What changed

  • New: src/vs/workbench/contrib/extensions/electron-browser/devtoolsExtensionHost.contribution.ts — registers DebugExtensionHostInDevToolsAction.
  • extensions.contribution.ts no longer imports/registers that action.
  • workbench.desktop.main.ts now imports the new contribution (no behavior change for VS Code).
  • sessions.desktop.main.ts imports the new contribution, so the Debug Extension Host In Dev Tools command is now available in the Agents app.

Why

The command is genuinely useful when debugging the extension host inside the Agents app, but it had never been wired up there. The other debug actions (DebugExtensionHostInNewWindowAction, DebugRendererInNewWindowAction, DebugExtensionHostAndRendererAction, DebugExtensionsContribution) are intentionally not included because they require additional services not currently in Agents (IDebugService, IExtensionHostDebugService, IProgressService, etc.). The dev-tools action only needs services already registered:

  • IExtensionService — via nativeExtensionService.js
  • INativeHostService — via nativeHostService.js
  • IQuickInputService — via quickInputService.js

So this brings the action over with no new service registrations in the Agents app.

(Written by Copilot)

Pull DebugExtensionHostInDevToolsAction registration out of
extensions.contribution.ts into a new devtoolsExtensionHost.contribution.ts
so the Agents app (vs/sessions) can opt into just this action without
importing the full electron-browser extensions contribution. Mirrors the
recent timeline.contribution split (#311882).

The action only depends on services already registered in the Agents app:
IExtensionService, INativeHostService, IQuickInputService.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 22, 2026 19:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors registration of DebugExtensionHostInDevToolsAction into a dedicated contribution so the Agents app (vs/sessions) can opt into that single command without importing the full desktop extensions contribution set.

Changes:

  • Added a new devtoolsExtensionHost.contribution.ts that registers DebugExtensionHostInDevToolsAction.
  • Removed the devtools action registration from extensions.contribution.ts.
  • Wired the new contribution into both workbench.desktop.main.ts (no behavior change) and sessions.desktop.main.ts (enables the command in Agents).
Show a summary per file
File Description
src/vs/workbench/workbench.desktop.main.ts Imports the new devtools extension-host contribution for desktop workbench.
src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts Stops registering the devtools extension-host action from the broader extensions contribution.
src/vs/workbench/contrib/extensions/electron-browser/devtoolsExtensionHost.contribution.ts New standalone contribution that registers DebugExtensionHostInDevToolsAction.
src/vs/sessions/sessions.desktop.main.ts Imports the standalone contribution so the command is available in the Agents desktop app.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 1

Comment thread src/vs/sessions/sessions.desktop.main.ts Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 22, 2026

Screenshot Changes

Base: 09a72906 Current: d9fd1f66

Changed (5)

chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Light
Before After
before after
editor/inlineCompletions/other/JumpToHint/Dark
Before After
before after
agentSessionsViewer/CompletedUnread/Dark
Before After
before after
agentSessionsViewer/CompletedUnread/Light
Before After
before after

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@roblourens roblourens marked this pull request as ready for review April 22, 2026 19:47
@roblourens roblourens enabled auto-merge (squash) April 22, 2026 19:47
@roblourens roblourens merged commit 38e38b0 into main Apr 22, 2026
26 checks passed
@roblourens roblourens deleted the roblou/agents/debug-extension-host-status branch April 22, 2026 20:08
@vs-code-engineering vs-code-engineering Bot added this to the 1.118.0 milestone Apr 22, 2026
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.

3 participants