{ "name": "vscode-edge-devtools", "displayName": "Microsoft Edge Tools for VS Code", "description": "Use the Microsoft Edge Tools from within VS Code to see your site's runtime HTML structure, alter its layout, fix styling issues as well as see your site's network requests.", "version": "2.1.5", "license": "SEE LICENSE IN LICENSE", "publisher": "ms-edgedevtools", "preview": false, "icon": "icon.png", "extensionKind": [ "ui" ], "author": { "name": "Microsoft Corporation" }, "homepage": "https://github.com/Microsoft/vscode-edge-devtools/blob/main/README.md", "repository": { "type": "git", "url": "https://github.com/Microsoft/vscode-edge-devtools" }, "keywords": [ "browser", "elements", "network", "devtools", "styling", "css", "dom" ], "engines": { "vscode": "^1.93.0" }, "categories": [ "Debuggers" ], "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217", "main": "./out/extension", "sideEffects": false, "activationEvents": [ "onStartupFinished", "onLanguage:css", "onLanguage:html", "onLanguage:javascript", "onLanguage:javascriptreact", "onLanguage:json", "onLanguage:jsonc", "onLanguage:less", "onLanguage:sass", "onLanguage:scss", "onLanguage:typescript", "onLanguage:typescriptreact" ], "capabilities": { "untrustedWorkspaces": { "supported": "limited", "description": "Workspace trust is needed to configure and debug projects" }, "virtualWorkspaces": false }, "contributes": { "commands": [ { "command": "vscode-edge-devtools.attach", "title": "Attach to a target", "category": "Microsoft Edge Tools" }, { "command": "vscode-edge-devtools.launch", "title": "Launch Edge and then attach to a target", "category": "Microsoft Edge Tools" }, { "command": "vscode-edge-devtools-view.launch", "category": "Microsoft Edge Tools", "title": "Open a new tab", "enablement": "titleCommandsRegistered", "icon": { "light": "resources/light/launch.svg", "dark": "resources/dark/launch.svg" } }, { "command": "vscode-edge-devtools-view.refresh", "category": "Microsoft Edge Tools", "title": "Refresh Targets", "enablement": "titleCommandsRegistered", "icon": { "light": "resources/light/refresh.svg", "dark": "resources/dark/refresh.svg" } }, { "command": "vscode-edge-devtools-view.attach", "category": "Microsoft Edge Tools", "title": "Attach and open Microsoft Edge Tools", "enablement": "viewItem != cdpTargetClosing", "icon": { "light": "resources/light/attach.svg", "dark": "resources/dark/attach.svg" } }, { "command": "vscode-edge-devtools-view.close-instance", "category": "Microsoft Edge Tools", "title": "Close instance", "enablement": "viewItem != cdpTargetClosing", "icon": { "light": "resources/light/close_browser_page.svg", "dark": "resources/dark/close_browser_page.svg" } }, { "command": "vscode-edge-devtools-view.toggleScreencast", "category": "Microsoft Edge Tools", "title": "Toggle browser", "enablement": "viewItem != cdpTargetClosing", "icon": { "light": "resources/light/screencast.svg", "dark": "resources/dark/screencast.svg" } }, { "command": "vscode-edge-devtools-view.copyItem", "category": "Microsoft Edge Tools", "title": "Copy Value" }, { "command": "vscode-edge-devtools-view.openSettings", "category": "Microsoft Edge Tools", "title": "Open Settings" }, { "command": "vscode-edge-devtools-view.viewChangelog", "category": "Microsoft Edge Tools", "title": "View Changelog" }, { "command": "vscode-edge-devtools-view.viewDocumentation", "category": "Microsoft Edge Tools", "title": "View Documentation" }, { "command": "vscode-edge-devtools-view.configureLaunchJson", "category": "Microsoft Edge Tools", "enablement": "titleCommandsRegistered && isWorkspaceTrusted", "title": "Configure launch.json file" }, { "command": "vscode-edge-devtools-view.launchProject", "category": "Microsoft Edge Tools", "enablement": "titleCommandsRegistered && isWorkspaceTrusted", "title": "Launch project" }, { "command": "vscode-edge-devtools-view.cssMirrorContent", "category": "Microsoft Edge Tools", "enablement": "titleCommandsRegistered", "title": "Toggle CSS mirror editing on/off" }, { "command": "vscode-edge-devtools-view.launchHtml", "title": "Open Browser with DevTools", "category": "Microsoft Edge Tools" }, { "command": "vscode-edge-devtools-view.launchScreencast", "title": "Open Browser", "category": "Microsoft Edge Tools" } ], "configuration": { "title": "Microsoft Edge Tools", "type": "object", "properties": { "vscode-edge-devtools.hostname": { "type": "string", "default": "localhost", "description": "The hostname on which to search for remote debuggable instances" }, "vscode-edge-devtools.port": { "type": "number", "default": 9222, "description": "The port on which to search for remote debuggable instances" }, "vscode-edge-devtools.useHttps": { "type": "boolean", "default": false, "description": "Should we request the remote target list using https rather than http" }, "vscode-edge-devtools.defaultUrl": { "type": "string", "default": "", "description": "The default url to open when launching the browser without a target" }, "vscode-edge-devtools.defaultEntrypoint": { "type": "string", "default": "index.html", "description": "The default entrypoint into your webpage. Used to resolve debugging urls without a pathname" }, "vscode-edge-devtools.userDataDir": { "type": [ "string", "boolean" ], "default": true, "description": "By default, Microsoft Edge is launched with a separate user profile in a temp folder. Use this option to override the path. You can also set to false to launch with your default user profile instead." }, "vscode-edge-devtools.webRoot": { "type": "string", "description": "The absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk", "default": "${workspaceFolder}" }, "vscode-edge-devtools.pathMapping": { "type": "object", "default": { "/": "${workspaceFolder}" }, "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk" }, "vscode-edge-devtools.sourceMapPathOverrides": { "type": "object", "description": "A set of mappings to override the locations of source map files.", "default": { "webpack:///./*": "${webRoot}/*", "webpack:///src/*": "${webRoot}/*", "webpack:///*": "*", "webpack:///./~/*": "${webRoot}/node_modules/*", "webpack://*": "${webRoot}/*", "meteor://💻app/*": "${webRoot}/*" } }, "vscode-edge-devtools.sourceMaps": { "type": "boolean", "description": "Use JavaScript source maps (if they exist)", "default": true }, "vscode-edge-devtools.showWorkers": { "type": "boolean", "description": "Show service and shared workers in the target list.", "default": false }, "vscode-edge-devtools.headless": { "type": "boolean", "description": "Launch Microsoft Edge in headless mode. (requires relaunching Visual Studio Code)", "default": true }, "vscode-edge-devtools.browserArgs": { "type": "array", "description": "Launch Microsoft Edge with specified args. (requires relaunching Visual Studio Code)", "items": { "type": "string" }, "default": [] }, "vscode-edge-devtools.timeout": { "type": "number", "description": "The number of milliseconds that the Microsoft Edge Tools will keep trying to attach the browser before timing out", "default": 10000 }, "vscode-edge-devtools.browserFlavor": { "type": "string", "enum": [ "Default", "Stable", "Beta", "Dev", "Canary" ], "enumDescriptions": [ "Microsoft Edge Tools for VS Code will try to open the Microsoft Edge flavors in the following order: Stable, Beta, Dev and Canary", "Microsoft Edge Tools for VS Code will use Microsoft Edge Stable version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Beta version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Dev version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Canary version" ] }, "vscode-edge-devtools.webhint": { "type": "boolean", "default": true, "description": "Enable feedback from webhint on source files to improve accessibility, compatibility, security and more." }, "vscode-edge-devtools.webhintInstallNotification": { "type": "boolean", "default": false, "description": "Turn off notification for webhint installation failures." } } }, "debuggers": [ { "type": "vscode-edge-devtools.debug", "label": "Microsoft Edge Tools", "configurationSnippets": [ { "label": "Microsoft Edge Tools: Launch", "description": "Launch Microsoft Edge to a URL", "body": { "type": "vscode-edge-devtools.debug", "request": "launch", "name": "Launch Microsoft Edge and open the Edge DevTools", "url": "http://localhost:8080", "webRoot": "^\"${2:\\${workspaceFolder\\}}\"" } }, { "label": "Microsoft Edge Tools: Attach", "description": "Attach to an instance of Microsoft Edge already in debug mode", "body": { "type": "vscode-edge-devtools.debug", "request": "attach", "name": "Attach to Microsoft Edge and open the Edge DevTools", "url": "http://localhost:8080", "webRoot": "^\"${2:\\${workspaceFolder\\}}\"" } } ], "configurationAttributes": { "launch": { "properties": { "url": { "type": "string", "description": "Absolute uri to launch", "default": "http://localhost:8080" }, "file": { "type": "string", "description": "File path to launch", "default": "${workspaceFolder}/index.html" }, "hostname": { "type": "string", "default": "localhost", "description": "The hostname on which to search for remote debuggable instances" }, "port": { "type": "number", "default": 9222, "description": "The port on which to search for remote debuggable instances" }, "userDataDir": { "type": [ "string", "boolean" ], "description": "By default, Microsoft Edge is launched with a separate user profile in a temp folder. Use this option to override the path. You can also set to false to launch with your default user profile instead.", "default": true }, "useHttps": { "type": "boolean", "default": false, "description": "Should we request the remote target list using https rather than http" }, "webRoot": { "type": "string", "description": "The absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk", "default": "${workspaceFolder}" }, "pathMapping": { "type": "object", "description": "A mapping of URLs/paths to local folders, to resolve scripts in Microsoft Edge to scripts on disk", "default": { "/": "${workspaceFolder}" } }, "sourceMapPathOverrides": { "type": "object", "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk", "default": { "webpack:///./*": "${webRoot}/*", "webpack:///src/*": "${webRoot}/*", "webpack:///*": "*", "webpack:///./~/*": "${webRoot}/node_modules/*", "webpack://*": "${webRoot}/*", "meteor://💻app/*": "${webRoot}/*" } }, "sourceMaps": { "type": "boolean", "description": "Use JavaScript source maps (if they exist)", "default": true }, "vscode-edge-devtools.browserFlavor": { "type": "string", "enum": [ "Default", "Stable", "Beta", "Dev", "Canary" ], "enumDescriptions": [ "Microsoft Edge Tools for VS Code will try to open the Microsoft Edge flavors in the following order: Stable, Beta, Dev and Canary", "Microsoft Edge Tools for VS Code will use Microsoft Edge Stable version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Beta version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Dev version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Canary version" ] } } }, "attach": { "properties": { "url": { "type": "string", "description": "Absolute uri to launch.", "default": "http://localhost:8080" }, "file": { "type": "string", "description": "File path to launch.", "default": "${workspaceFolder}/index.html" }, "hostname": { "type": "string", "default": "localhost", "description": "The hostname on which to search for remote debuggable instances" }, "port": { "type": "number", "default": 9222, "description": "The port on which to search for remote debuggable instances" }, "userDataDir": { "type": [ "string", "boolean" ], "description": "By default, Microsoft Edge is launched with a separate user profile in a temp folder. Use this option to override the path. You can also set to false to launch with your default user profile instead.", "default": true }, "useHttps": { "type": "boolean", "default": false, "description": "Should we request the remote target list using https rather than http" }, "webRoot": { "type": "string", "description": "The absolute path to the webserver root. Used to resolve paths like `/app.js` to files on disk", "default": "${workspaceFolder}" }, "pathMapping": { "type": "object", "description": "A mapping of URLs/paths to local folders, to resolve scripts in Microsoft Edge to scripts on disk", "default": { "/": "${workspaceFolder}" } }, "sourceMapPathOverrides": { "type": "object", "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk", "default": { "webpack:///./*": "${webRoot}/*", "webpack:///src/*": "${webRoot}/*", "webpack:///*": "*", "webpack:///./~/*": "${webRoot}/node_modules/*", "webpack://*": "${webRoot}/*", "meteor://💻app/*": "${webRoot}/*" } }, "sourceMaps": { "type": "boolean", "description": "Use JavaScript source maps (if they exist)", "default": true }, "vscode-edge-devtools.browserFlavor": { "type": "string", "enum": [ "Default", "Stable", "Beta", "Dev", "Canary" ], "enumDescriptions": [ "Microsoft Edge Tools for VS Code will try to open the Microsoft Edge flavors in the following order: Stable, Beta, Dev and Canary", "Microsoft Edge Tools for VS Code will use Microsoft Edge Stable version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Beta version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Dev version", "Microsoft Edge Tools for VS Code will use Microsoft Edge Canary version" ] } } } } } ], "menus": { "commandPalette": [ { "command": "vscode-edge-devtools-view.attach", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTarget" }, { "command": "vscode-edge-devtools-view.launch", "when": "view == vscode-edge-devtools-view.targets" }, { "command": "vscode-edge-devtools-view.refresh", "when": "view == vscode-edge-devtools-view.targets" }, { "command": "vscode-edge-devtools-view.copyItem", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTargetProperty" }, { "command": "vscode-edge-devtools-view.openSettings", "when": "view == vscode-edge-devtools-view.targets" }, { "command": "vscode-edge-devtools-view.viewChangelog", "when": "view == vscode-edge-devtools-view.targets" } ], "view/title": [ { "command": "vscode-edge-devtools-view.launch", "when": "view == vscode-edge-devtools-view.targets", "group": "navigation" }, { "command": "vscode-edge-devtools-view.refresh", "when": "view == vscode-edge-devtools-view.targets", "group": "navigation" }, { "command": "vscode-edge-devtools-view.openSettings", "when": "view == vscode-edge-devtools-view.targets", "group": "2_vscode-edge-devtools" }, { "command": "vscode-edge-devtools-view.viewChangelog", "when": "view == vscode-edge-devtools-view.targets", "group": "2_vscode-edge-devtools" } ], "view/item/context": [ { "command": "vscode-edge-devtools-view.toggleScreencast", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTarget", "group": "inline@0" }, { "command": "vscode-edge-devtools-view.attach", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTarget || viewItem == cdpTargetClosing", "group": "inline@1" }, { "command": "vscode-edge-devtools-view.close-instance", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTarget || viewItem == cdpTargetClosing", "group": "inline@2" }, { "command": "vscode-edge-devtools-view.attach", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTarget" }, { "command": "vscode-edge-devtools-view.copyItem", "when": "view == vscode-edge-devtools-view.targets && viewItem == cdpTargetProperty", "group": "2_contextMenu" } ], "explorer/context": [ { "when": "resourceLangId == html", "submenu": "devtoolsContextMenu", "group": "navigation" } ], "devtoolsContextMenu": [ { "command": "vscode-edge-devtools-view.launchHtml", "group": "navigation" }, { "command": "vscode-edge-devtools-view.launchScreencast", "group": "navigation" } ] }, "submenus": [ { "id": "devtoolsContextMenu", "label": "Open with Edge" } ], "viewsContainers": { "activitybar": [ { "id": "vscode-edge-devtools-view", "title": "Microsoft Edge Tools", "icon": "resources/viewIcon.svg" } ] }, "views": { "vscode-edge-devtools-view": [ { "id": "vscode-edge-devtools-view.targets", "name": "Targets" }, { "id": "vscode-edge-devtools-view.help-links", "name": "Helpful links" } ] }, "viewsWelcome": [ { "view": "vscode-edge-devtools-view.targets", "contents": "Launch an instance of Microsoft Edge to begin inspecting and modifying webpages.\n[Launch Instance](command:vscode-edge-devtools-view.launch?[true])", "when": "launchJsonStatus != Supported" }, { "view": "vscode-edge-devtools-view.targets", "contents": "To customize your launch experience, open a folder and create a launch.json file. \n[Open Folder](command:vscode.openFolder)", "when": "workbenchState == empty" }, { "view": "vscode-edge-devtools-view.targets", "contents": "Customize your launch experience by adding a launch.json file to your project.\n[Generate launch.json](command:vscode-edge-devtools-view.configureLaunchJson)", "when": "workbenchState != empty && launchJsonStatus == None && isWorkspaceTrusted" }, { "view": "vscode-edge-devtools-view.targets", "contents": "Customize your launch experience by adding a debug configuration to your launch.json file.\n[Configure launch.json](command:vscode-edge-devtools-view.configureLaunchJson)", "when": "launchJsonStatus == Unsupported && isWorkspaceTrusted" }, { "view": "vscode-edge-devtools-view.targets", "contents": "Launch an instance of Microsoft Edge to begin inspecting and modifying your site.\n[Launch Project](command:vscode-edge-devtools-view.launchProject)", "when": "launchJsonStatus == Supported && isWorkspaceTrusted" }, { "view": "vscode-edge-devtools-view.help-links", "contents": "[Documentation](command:vscode-edge-devtools-view.viewDocumentation)" }, { "view": "vscode-edge-devtools-view.help-links", "contents": "[Report a Bug](https://github.com/microsoft/vscode-edge-devtools/issues/new?template=bug_report.md)" }, { "view": "vscode-edge-devtools-view.help-links", "contents": "[Request a Feature](https://github.com/microsoft/vscode-edge-devtools/issues/new?template=feature_request.md)" } ] }, "jest": { "transform": { "^.+\\.tsx?$": "ts-jest" }, "testRegex": "/test/.+\\.test\\.tsx?$", "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json", "node" ], "globals": { "DEBUG": false, "DEVTOOLS_BASE_URI": "https://test.invalid" } }, "scripts": { "package": "vsce package --out vscode-edge-devtools.vsix", "vscode:prepublish": "npm run build && npm run lint", "build": "webpack", "build-debug": "npm run build -- --mode development --env debug", "build-edge-watch": "npm run build-debug -- --env devtoolsBaseUri=http://localhost:3000/vscode_app.html", "build-watch": "npm run build -- --mode development && npm run watch", "build-and-lint": "npm run build && npm run lint", "watch": "npm run watch-wp", "watch-wp": "webpack --watch", "lint": "eslint -c .eslintrc.js */*.ts", "test": "npm run lint && jest --config package.json --runInBand --env=jsdom" }, "dependencies": { "@vscode/codicons": "0.0.36", "bufferutil": "4.0.8", "lit-html": "^3.2.0", "puppeteer-core": "18.1.0", "utf-8-validate": "6.0.4", "vscode-chrome-debug-core": "6.8.11", "vscode-extension-telemetry": "0.4.1", "vscode-webhint": "2.1.15", "ws": "8.18.0", "xmlhttprequest": "1.8.0" }, "devDependencies": { "@opentelemetry/tracing": "0.24.0", "@types/copy-webpack-plugin": "8.0.1", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.13", "@types/node": "22.5.4", "@types/vscode": "1.93.0", "@types/ws": "8.5.12", "@typescript-eslint/eslint-plugin": "8.5.0", "@typescript-eslint/parser": "8.5.0", "@vscode/vsce": "^3.1.0", "copy-webpack-plugin": "12.0.2", "eslint": "8.57.1", "eslint-plugin-import": "2.30.0", "eslint-plugin-jsdoc": "50.2.3", "eslint-plugin-prefer-arrow": "1.2.3", "fs-extra": "11.2.0", "jest": "29.7.0", "ts-jest": " 29.2.5", "ts-loader": "9.5.1", "typescript": "4.9.4", "uglify-js": "3.19.3", "unzipper": "0.12.3", "jest-environment-jsdom": "^28.1.3", "vscode-languageclient": "9.0.1", "vscode-test": "1.6.1", "webpack": "5.94.0", "webpack-cli": "5.1.4" } }