Path: blob/main/src/vs/workbench/contrib/chat/electron-browser/actions/debugAgentHostAction.ts
13406 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Codicon } from '../../../../../base/common/codicons.js';6import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js';7import { localize, localize2 } from '../../../../../nls.js';8import { Categories } from '../../../../../platform/action/common/actionCommonCategories.js';9import { Action2 } from '../../../../../platform/actions/common/actions.js';10import { IAgentHostService } from '../../../../../platform/agentHost/common/agentService.js';11import { INativeHostService } from '../../../../../platform/native/common/native.js';12import { INotificationService } from '../../../../../platform/notification/common/notification.js';13import { ChatContextKeys } from '../../common/actions/chatContextKeys.js';1415export class DebugAgentHostInDevToolsAction extends Action2 {16static readonly ID = 'workbench.action.chat.debugAgentHostInDevTools';1718constructor() {19super({20id: DebugAgentHostInDevToolsAction.ID,21title: localize2('debugAgentHostInDevTools', "Debug Local Agent Host Process In Dev Tools"),22category: Categories.Developer,23f1: true,24icon: Codicon.debugStart,25precondition: ChatContextKeys.enabled,26});27}2829override async run(accessor: ServicesAccessor): Promise<void> {30const agentHostService = accessor.get(IAgentHostService);31const nativeHostService = accessor.get(INativeHostService);32const notificationService = accessor.get(INotificationService);3334const info = await agentHostService.getInspectInfo(true);35if (!info) {36notificationService.warn(localize('debugAgentHost.noInspectPort', "Could not enable the Node.js inspector for the agent host process."));37return;38}3940nativeHostService.openDevToolsWindow(info.devtoolsUrl);41}42}434445