From a2898d57fa3967f8347002ee782a3fbd975ad3be Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 21 Sep 2018 15:08:23 +0200 Subject: [PATCH] implement chooseTab when connecting to the renderer, #58929 --- src/vs/code/node/cli.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts index fc424f37727..435b2f703d5 100644 --- a/src/vs/code/node/cli.ts +++ b/src/vs/code/node/cli.ts @@ -274,7 +274,7 @@ export async function main(argv: string[]): Promise { processCallbacks.push(async _child => { class Profiler { - static async start(name: string, filenamePrefix: string, opts: { port: number, tries?: number }) { + static async start(name: string, filenamePrefix: string, opts: { port: number, tries?: number, chooseTab?: Function }) { const profiler = await import('v8-inspect-profiler'); let session: ProfilingSession; @@ -309,8 +309,24 @@ export async function main(argv: string[]): Promise { try { // load and start profiler const main = await Profiler.start('main', filenamePrefix, { port: portMain }); - const renderer = await Profiler.start('renderer', filenamePrefix, { port: portRenderer, tries: 200 }); const extHost = await Profiler.start('extHost', filenamePrefix, { port: portExthost, tries: 300 }); + const renderer = await Profiler.start('renderer', filenamePrefix, { + port: portRenderer, + tries: 200, + chooseTab: function (targets) { + console.log(targets); + return targets.find(target => { + if (!target.webSocketDebuggerUrl) { + return false; + } + if (target.type === 'page') { + return target.url.indexOf('workbench/workbench.html') > 0; + } else { + return true; + } + }); + } + }); // wait for the renderer to delete the // marker file