You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add WebExtension debugging support via extensionPath config
Adds an `extensionPath` property to Chrome/Edge launch and attach configs
that enables debugging unpacked browser extensions (MV2/MV3) without
manual target picking or workarounds.
When set:
- Launch: auto-injects --load-extension and filters CDP targets to the
extension's service worker or background page
- Attach: same target filter, works with web-ext or any externally
launched Chrome
- Source maps: chrome-extension://<id>/path resolves to extensionPath/path
using a UUID-ignoring regex (same pattern as vscode-firefox-debug)
After the main target is attached, the resolved extension ID is pinned in
the path resolver so subsequent source URLs are matched only against that
exact extension origin, preventing any other loaded extensions from being
incorrectly resolved or attached to.
Also fixes a race condition where Inspector.workerScriptLoaded arrives on
the service worker's CDP session before createSession() is called, which
previously threw an unhandled error.
Adds a "Chrome: Launch Extension" configuration snippet for discoverability
in the Add Configuration menu.
Closes#945 (WebExtension debugging support)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: package.nls.json
+3Lines changed: 3 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@
26
26
"browser.profileStartup.description": "If true, will start profiling soon as the process launches",
27
27
"browser.restart": "Whether to reconnect if the browser connection is closed",
28
28
"browser.revealPage": "Focus Tab",
29
+
"browser.extensionPath.description": "Absolute path to an unpacked browser extension directory (containing manifest.json) to load and debug. The debugger will attach to the extension's background script or service worker.",
29
30
"browser.runtimeArgs.description": "Optional arguments passed to the runtime executable.",
30
31
"browser.runtimeExecutable.description": "Either 'canary', 'stable', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or CHROME_PATH environment variable.",
31
32
"browser.runtimeExecutable.edge.description": "Either 'canary', 'stable', 'dev', 'custom' or path to the browser executable. Custom means a custom wrapper, custom build or EDGE_PATH environment variable.",
@@ -47,6 +48,8 @@
47
48
"chrome.label": "Web App (Chrome)",
48
49
"chrome.launch.description": "Launch Chrome to debug a URL",
49
50
"chrome.launch.label": "Chrome: Launch",
51
+
"chrome.launch.extension.description": "Launch Chrome to debug an unpacked browser extension",
0 commit comments