Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/electron-browser/actions/chatDeveloperActions.ts
4780 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
import { Codicon } from '../../../../../base/common/codicons.js';
6
import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js';
7
import { localize2 } from '../../../../../nls.js';
8
import { Categories } from '../../../../../platform/action/common/actionCommonCategories.js';
9
import { Action2, registerAction2 } from '../../../../../platform/actions/common/actions.js';
10
import { INativeHostService } from '../../../../../platform/native/common/native.js';
11
import { ChatContextKeys } from '../../common/actions/chatContextKeys.js';
12
import { IChatService } from '../../common/chatService/chatService.js';
13
14
export function registerChatDeveloperActions() {
15
registerAction2(OpenChatStorageFolderAction);
16
}
17
18
class OpenChatStorageFolderAction extends Action2 {
19
static readonly ID = 'workbench.action.chat.openStorageFolder';
20
21
constructor() {
22
super({
23
id: OpenChatStorageFolderAction.ID,
24
title: localize2('workbench.action.chat.openStorageFolder.label', "Open Chat Storage Folder"),
25
icon: Codicon.attach,
26
category: Categories.Developer,
27
f1: true,
28
precondition: ChatContextKeys.enabled
29
});
30
}
31
32
override async run(accessor: ServicesAccessor, ...args: unknown[]): Promise<void> {
33
const chatService = accessor.get(IChatService);
34
const nativeHostService = accessor.get(INativeHostService);
35
const storagePath = chatService.getChatStorageFolder();
36
nativeHostService.showItemInFolder(storagePath.fsPath);
37
}
38
}
39
40