Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/logs/browser/logs.contribution.ts
3296 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
6
import { Registry } from '../../../../platform/registry/common/platform.js';
7
import { Categories } from '../../../../platform/action/common/actionCommonCategories.js';
8
import { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';
9
import { OpenWindowSessionLogFileAction } from '../common/logsActions.js';
10
import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from '../../../common/contributions.js';
11
import { Disposable } from '../../../../base/common/lifecycle.js';
12
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
13
import { IInstantiationService, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
14
import { LogsDataCleaner } from '../common/logsDataCleaner.js';
15
16
class WebLogOutputChannels extends Disposable implements IWorkbenchContribution {
17
18
constructor(
19
@IInstantiationService private readonly instantiationService: IInstantiationService,
20
) {
21
super();
22
this.registerWebContributions();
23
}
24
25
private registerWebContributions(): void {
26
this.instantiationService.createInstance(LogsDataCleaner);
27
28
this._register(registerAction2(class extends Action2 {
29
constructor() {
30
super({
31
id: OpenWindowSessionLogFileAction.ID,
32
title: OpenWindowSessionLogFileAction.TITLE,
33
category: Categories.Developer,
34
f1: true
35
});
36
}
37
run(servicesAccessor: ServicesAccessor): Promise<void> {
38
return servicesAccessor.get(IInstantiationService).createInstance(OpenWindowSessionLogFileAction, OpenWindowSessionLogFileAction.ID, OpenWindowSessionLogFileAction.TITLE.value).run();
39
}
40
}));
41
42
}
43
44
}
45
46
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(WebLogOutputChannels, LifecyclePhase.Restored);
47
48