diff --git a/.vscode/launch.json b/.vscode/launch.json index 9f09028da18..b916e235f54 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -167,6 +167,13 @@ "web" ], }, + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome", + "url": "http://localhost:8080", + "preLaunchTask": "Run web" + }, { "type": "node", "request": "launch", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 4d6652d1e6e..90d576e31cd 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -85,5 +85,24 @@ "task": "hygiene", "problemMatcher": [] }, + { + "type": "shell", + "command": "yarn web -- --no-launch", + "label": "Run web", + "isBackground": true, + // This section to make error go away when launching the debug config + "problemMatcher": { + "pattern": { + "regexp": "" + }, + "background": { + "beginsPattern": ".*node.*", + "endsPattern": "Web UI available at .*" + } + }, + "presentation": { + "reveal": "never" + } + }, ] } diff --git a/scripts/code-web.js b/scripts/code-web.js index 53c4366405d..33e586d958f 100755 --- a/scripts/code-web.js +++ b/scripts/code-web.js @@ -13,11 +13,18 @@ const fs = require('fs'); const path = require('path'); const util = require('util'); const opn = require('opn'); +const minimist = require('vscode-minimist'); const APP_ROOT = path.dirname(__dirname); const WEB_MAIN = path.join(APP_ROOT, 'src', 'vs', 'code', 'browser', 'workbench', 'workbench-dev.html'); const PORT = 8080; +const args = minimist(process.argv, { + string: [ + 'no-launch' + ] +}); + const server = http.createServer((req, res) => { const parsedUrl = url.parse(req.url, true); const pathname = parsedUrl.pathname; @@ -213,4 +220,6 @@ async function serveFile(req, res, filePath, responseHeaders = Object.create(nul } } -opn(`http://localhost:${PORT}`); +if (args.launch !== false) { + opn(`http://localhost:${PORT}`); +}