@codingame/monaco-vscode-extension-gallery-service-override 32.0.0 → 32.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +4 -4
- package/package.json +2 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +14 -14
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +4 -4
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +46 -46
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.d.ts +0 -14
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +0 -145
- package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.d.ts +0 -19
- package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +0 -25
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.d.ts +0 -76
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -470
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +0 -83
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +0 -66
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.d.ts +0 -83
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +0 -1353
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +0 -49
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +0 -728
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.d.ts +0 -63
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +0 -522
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +0 -18
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +0 -263
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +0 -2227
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +0 -40
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +0 -77
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +0 -93
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +0 -100
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.d.ts +0 -151
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +0 -1031
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.d.ts +0 -235
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +0 -1600
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +0 -314
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +0 -3449
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.d.ts +0 -44
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +0 -368
- package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +0 -30
- package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +0 -30
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +0 -910
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionManagement.css +0 -12
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css +0 -229
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-dark.svg +0 -31
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-hc.svg +0 -31
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading.svg +0 -31
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css +0 -86
- package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +0 -38
- package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +0 -41
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +0 -38
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +0 -179
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +0 -90
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +0 -50
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -47
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -35
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -876
package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js
DELETED
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
|
-
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
-
import { clearNode, $, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
|
-
import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
|
|
6
|
-
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
7
|
-
import { renderLabelWithIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
8
|
-
import { Action, Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
|
|
9
|
-
import { isNonEmptyArray } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
|
|
10
|
-
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
11
|
-
import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
|
|
12
|
-
import { dispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
13
|
-
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
14
|
-
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
15
|
-
import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/action/common/actionCommonCategories';
|
|
16
|
-
import { getContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
|
|
17
|
-
import { MenuId, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
18
|
-
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
19
|
-
import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
|
|
20
|
-
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
21
|
-
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
22
|
-
import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
|
|
23
|
-
import { ExtensionIdentifierMap } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
24
|
-
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
25
|
-
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
26
|
-
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
27
|
-
import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
|
|
28
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
|
|
29
|
-
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
30
|
-
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
31
|
-
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
32
|
-
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
33
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
34
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
|
|
35
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
36
|
-
import { editorBackground } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
|
|
37
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
|
|
38
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
|
|
39
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
|
|
40
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
41
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
|
|
42
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
43
|
-
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
44
|
-
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
45
|
-
import { EditorPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane';
|
|
46
|
-
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
47
|
-
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
48
|
-
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures';
|
|
49
|
-
import { IExtensionFeaturesManagementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures.service';
|
|
50
|
-
import { EnablementState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
|
|
51
|
-
import { LocalWebWorkerRunningLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
52
|
-
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
53
|
-
import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
|
|
54
|
-
import { RuntimeExtensionsInput } from '../common/runtimeExtensionsInput.js';
|
|
55
|
-
import { errorIcon, warningIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/browser/extensionsIcons';
|
|
56
|
-
import { ExtensionIconWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/browser/extensionsWidgets';
|
|
57
|
-
import * as runtimeExtensionsEditor from './media/runtimeExtensionsEditor.css';
|
|
58
|
-
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
59
|
-
|
|
60
|
-
var AbstractRuntimeExtensionsEditor_1;
|
|
61
|
-
registerCss(runtimeExtensionsEditor);
|
|
62
|
-
let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor extends EditorPane {
|
|
63
|
-
static {
|
|
64
|
-
AbstractRuntimeExtensionsEditor_1 = this;
|
|
65
|
-
}
|
|
66
|
-
static {
|
|
67
|
-
this.ID = "workbench.editor.runtimeExtensions";
|
|
68
|
-
}
|
|
69
|
-
constructor(
|
|
70
|
-
group,
|
|
71
|
-
telemetryService,
|
|
72
|
-
themeService,
|
|
73
|
-
contextKeyService,
|
|
74
|
-
_extensionsWorkbenchService,
|
|
75
|
-
_extensionService,
|
|
76
|
-
_notificationService,
|
|
77
|
-
_contextMenuService,
|
|
78
|
-
_instantiationService,
|
|
79
|
-
storageService,
|
|
80
|
-
_labelService,
|
|
81
|
-
_environmentService,
|
|
82
|
-
_clipboardService,
|
|
83
|
-
_extensionFeaturesManagementService,
|
|
84
|
-
_hoverService,
|
|
85
|
-
_menuService
|
|
86
|
-
) {
|
|
87
|
-
super(
|
|
88
|
-
AbstractRuntimeExtensionsEditor_1.ID,
|
|
89
|
-
group,
|
|
90
|
-
telemetryService,
|
|
91
|
-
themeService,
|
|
92
|
-
storageService
|
|
93
|
-
);
|
|
94
|
-
this.contextKeyService = contextKeyService;
|
|
95
|
-
this._extensionsWorkbenchService = _extensionsWorkbenchService;
|
|
96
|
-
this._extensionService = _extensionService;
|
|
97
|
-
this._notificationService = _notificationService;
|
|
98
|
-
this._contextMenuService = _contextMenuService;
|
|
99
|
-
this._instantiationService = _instantiationService;
|
|
100
|
-
this._labelService = _labelService;
|
|
101
|
-
this._environmentService = _environmentService;
|
|
102
|
-
this._clipboardService = _clipboardService;
|
|
103
|
-
this._extensionFeaturesManagementService = _extensionFeaturesManagementService;
|
|
104
|
-
this._hoverService = _hoverService;
|
|
105
|
-
this._menuService = _menuService;
|
|
106
|
-
this._list = null;
|
|
107
|
-
this._elements = null;
|
|
108
|
-
this._updateSoon = this._register(( new RunOnceScheduler(() => this._updateExtensions(), 200)));
|
|
109
|
-
this._register(
|
|
110
|
-
this._extensionService.onDidChangeExtensionsStatus(() => this._updateSoon.schedule())
|
|
111
|
-
);
|
|
112
|
-
this._register(
|
|
113
|
-
this._extensionFeaturesManagementService.onDidChangeAccessData(() => this._updateSoon.schedule())
|
|
114
|
-
);
|
|
115
|
-
this._updateExtensions();
|
|
116
|
-
}
|
|
117
|
-
async _updateExtensions() {
|
|
118
|
-
this._elements = await this._resolveExtensions();
|
|
119
|
-
this._list?.splice(0, this._list.length, this._elements);
|
|
120
|
-
}
|
|
121
|
-
async _resolveExtensions() {
|
|
122
|
-
await this._extensionService.whenInstalledExtensionsRegistered();
|
|
123
|
-
const extensionsDescriptions = this._extensionService.extensions.filter(extension => {
|
|
124
|
-
return Boolean(extension.main) || Boolean(extension.browser);
|
|
125
|
-
});
|
|
126
|
-
const marketplaceMap = ( new ExtensionIdentifierMap());
|
|
127
|
-
const marketPlaceExtensions = await this._extensionsWorkbenchService.queryLocal();
|
|
128
|
-
for (const extension of marketPlaceExtensions) {
|
|
129
|
-
marketplaceMap.set(extension.identifier.id, extension);
|
|
130
|
-
}
|
|
131
|
-
const statusMap = this._extensionService.getExtensionsStatus();
|
|
132
|
-
const segments = ( new ExtensionIdentifierMap());
|
|
133
|
-
const profileInfo = this._getProfileInfo();
|
|
134
|
-
if (profileInfo) {
|
|
135
|
-
let currentStartTime = profileInfo.startTime;
|
|
136
|
-
for (let i = 0, len = profileInfo.deltas.length; i < len; i++) {
|
|
137
|
-
const id = profileInfo.ids[i];
|
|
138
|
-
const delta = profileInfo.deltas[i];
|
|
139
|
-
let extensionSegments = segments.get(id);
|
|
140
|
-
if (!extensionSegments) {
|
|
141
|
-
extensionSegments = [];
|
|
142
|
-
segments.set(id, extensionSegments);
|
|
143
|
-
}
|
|
144
|
-
extensionSegments.push(currentStartTime);
|
|
145
|
-
currentStartTime = currentStartTime + delta;
|
|
146
|
-
extensionSegments.push(currentStartTime);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
let result = [];
|
|
150
|
-
for (let i = 0, len = extensionsDescriptions.length; i < len; i++) {
|
|
151
|
-
const extensionDescription = extensionsDescriptions[i];
|
|
152
|
-
let extProfileInfo = null;
|
|
153
|
-
if (profileInfo) {
|
|
154
|
-
const extensionSegments = segments.get(extensionDescription.identifier) || [];
|
|
155
|
-
let extensionTotalTime = 0;
|
|
156
|
-
for (let j = 0, lenJ = extensionSegments.length / 2; j < lenJ; j++) {
|
|
157
|
-
const startTime = extensionSegments[2 * j];
|
|
158
|
-
const endTime = extensionSegments[2 * j + 1];
|
|
159
|
-
extensionTotalTime += (endTime - startTime);
|
|
160
|
-
}
|
|
161
|
-
extProfileInfo = {
|
|
162
|
-
segments: extensionSegments,
|
|
163
|
-
totalTime: extensionTotalTime
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
result[i] = {
|
|
167
|
-
originalIndex: i,
|
|
168
|
-
description: extensionDescription,
|
|
169
|
-
marketplaceInfo: marketplaceMap.get(extensionDescription.identifier),
|
|
170
|
-
status: statusMap[extensionDescription.identifier.value],
|
|
171
|
-
profileInfo: extProfileInfo || undefined,
|
|
172
|
-
unresponsiveProfile: this._getUnresponsiveProfile(extensionDescription.identifier)
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
result = result.filter(element => element.status.activationStarted);
|
|
176
|
-
const isUnresponsive = extension => extension.unresponsiveProfile === profileInfo;
|
|
177
|
-
const profileTime = extension => extension.profileInfo?.totalTime ?? 0;
|
|
178
|
-
const activationTime = extension => (extension.status.activationTimes?.codeLoadingTime ?? 0) + (extension.status.activationTimes?.activateCallTime ?? 0);
|
|
179
|
-
result = result.sort((a, b) => {
|
|
180
|
-
if (isUnresponsive(a) || isUnresponsive(b)) {
|
|
181
|
-
return +isUnresponsive(b) - +isUnresponsive(a);
|
|
182
|
-
} else if (profileTime(a) || profileTime(b)) {
|
|
183
|
-
return profileTime(b) - profileTime(a);
|
|
184
|
-
} else if (activationTime(a) || activationTime(b)) {
|
|
185
|
-
return activationTime(b) - activationTime(a);
|
|
186
|
-
}
|
|
187
|
-
return a.originalIndex - b.originalIndex;
|
|
188
|
-
});
|
|
189
|
-
return result;
|
|
190
|
-
}
|
|
191
|
-
createEditor(parent) {
|
|
192
|
-
parent.classList.add("runtime-extensions-editor");
|
|
193
|
-
const TEMPLATE_ID = "runtimeExtensionElementTemplate";
|
|
194
|
-
const delegate = new class {
|
|
195
|
-
getHeight(element) {
|
|
196
|
-
return 70;
|
|
197
|
-
}
|
|
198
|
-
getTemplateId(element) {
|
|
199
|
-
return TEMPLATE_ID;
|
|
200
|
-
}
|
|
201
|
-
}();
|
|
202
|
-
const renderer = {
|
|
203
|
-
templateId: TEMPLATE_ID,
|
|
204
|
-
renderTemplate: root => {
|
|
205
|
-
const element = append(root, $(".extension"));
|
|
206
|
-
const iconContainer = append(element, $(".icon-container"));
|
|
207
|
-
const extensionIconWidget = this._instantiationService.createInstance(ExtensionIconWidget, iconContainer);
|
|
208
|
-
const desc = append(element, $("div.desc"));
|
|
209
|
-
const headerContainer = append(desc, $(".header-container"));
|
|
210
|
-
const header = append(headerContainer, $(".header"));
|
|
211
|
-
const name = append(header, $("div.name"));
|
|
212
|
-
const version = append(header, $("span.version"));
|
|
213
|
-
const msgContainer = append(desc, $("div.msg"));
|
|
214
|
-
const actionbar = ( new ActionBar(desc));
|
|
215
|
-
const listener = actionbar.onDidRun((
|
|
216
|
-
{
|
|
217
|
-
error
|
|
218
|
-
}
|
|
219
|
-
) => error && this._notificationService.error(error));
|
|
220
|
-
const timeContainer = append(element, $(".time"));
|
|
221
|
-
const activationTime = append(timeContainer, $("div.activation-time"));
|
|
222
|
-
const profileTime = append(timeContainer, $("div.profile-time"));
|
|
223
|
-
const disposables = [extensionIconWidget, actionbar, listener];
|
|
224
|
-
return {
|
|
225
|
-
root,
|
|
226
|
-
element,
|
|
227
|
-
name,
|
|
228
|
-
version,
|
|
229
|
-
actionbar,
|
|
230
|
-
activationTime,
|
|
231
|
-
profileTime,
|
|
232
|
-
msgContainer,
|
|
233
|
-
set extension(extension) {
|
|
234
|
-
extensionIconWidget.extension = extension || null;
|
|
235
|
-
},
|
|
236
|
-
disposables,
|
|
237
|
-
elementDisposables: []
|
|
238
|
-
};
|
|
239
|
-
},
|
|
240
|
-
renderElement: (element, index, data) => {
|
|
241
|
-
data.elementDisposables = dispose(data.elementDisposables);
|
|
242
|
-
data.extension = element.marketplaceInfo;
|
|
243
|
-
data.root.classList.toggle("odd", index % 2 === 1);
|
|
244
|
-
data.name.textContent = (element.marketplaceInfo?.displayName || element.description.identifier.value).substr(0, 50);
|
|
245
|
-
data.version.textContent = element.description.version;
|
|
246
|
-
const activationTimes = element.status.activationTimes;
|
|
247
|
-
if (activationTimes) {
|
|
248
|
-
const syncTime = activationTimes.codeLoadingTime + activationTimes.activateCallTime;
|
|
249
|
-
data.activationTime.textContent = activationTimes.activationReason.startup ? `Startup Activation: ${syncTime}ms` : `Activation: ${syncTime}ms`;
|
|
250
|
-
} else {
|
|
251
|
-
data.activationTime.textContent = `Activating...`;
|
|
252
|
-
}
|
|
253
|
-
data.actionbar.clear();
|
|
254
|
-
const slowExtensionAction = this._createSlowExtensionAction(element);
|
|
255
|
-
if (slowExtensionAction) {
|
|
256
|
-
data.actionbar.push(slowExtensionAction, {
|
|
257
|
-
icon: false,
|
|
258
|
-
label: true
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
if (isNonEmptyArray(element.status.runtimeErrors)) {
|
|
262
|
-
const reportExtensionIssueAction = this._createReportExtensionIssueAction(element);
|
|
263
|
-
if (reportExtensionIssueAction) {
|
|
264
|
-
data.actionbar.push(reportExtensionIssueAction, {
|
|
265
|
-
icon: false,
|
|
266
|
-
label: true
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
let title;
|
|
271
|
-
if (activationTimes) {
|
|
272
|
-
const activationId = activationTimes.activationReason.extensionId.value;
|
|
273
|
-
const activationEvent = activationTimes.activationReason.activationEvent;
|
|
274
|
-
if (activationEvent === "*") {
|
|
275
|
-
title = ( localize(9343, "Activated by {0} on start-up", activationId));
|
|
276
|
-
} else if (/^workspaceContains:/.test(activationEvent)) {
|
|
277
|
-
const fileNameOrGlob = activationEvent.substr("workspaceContains:".length);
|
|
278
|
-
if (fileNameOrGlob.indexOf("*") >= 0 || fileNameOrGlob.indexOf("?") >= 0) {
|
|
279
|
-
title = ( localize(
|
|
280
|
-
9344,
|
|
281
|
-
"Activated by {1} because a file matching {0} exists in your workspace",
|
|
282
|
-
fileNameOrGlob,
|
|
283
|
-
activationId
|
|
284
|
-
));
|
|
285
|
-
} else {
|
|
286
|
-
title = ( localize(
|
|
287
|
-
9345,
|
|
288
|
-
"Activated by {1} because file {0} exists in your workspace",
|
|
289
|
-
fileNameOrGlob,
|
|
290
|
-
activationId
|
|
291
|
-
));
|
|
292
|
-
}
|
|
293
|
-
} else if (/^workspaceContainsTimeout:/.test(activationEvent)) {
|
|
294
|
-
const glob = activationEvent.substr("workspaceContainsTimeout:".length);
|
|
295
|
-
title = ( localize(
|
|
296
|
-
9346,
|
|
297
|
-
"Activated by {1} because searching for {0} took too long",
|
|
298
|
-
glob,
|
|
299
|
-
activationId
|
|
300
|
-
));
|
|
301
|
-
} else if (activationEvent === "onStartupFinished") {
|
|
302
|
-
title = ( localize(9347, "Activated by {0} after start-up finished", activationId));
|
|
303
|
-
} else if (/^onLanguage:/.test(activationEvent)) {
|
|
304
|
-
const language = activationEvent.substr("onLanguage:".length);
|
|
305
|
-
title = ( localize(
|
|
306
|
-
9348,
|
|
307
|
-
"Activated by {1} because you opened a {0} file",
|
|
308
|
-
language,
|
|
309
|
-
activationId
|
|
310
|
-
));
|
|
311
|
-
} else {
|
|
312
|
-
title = ( localize(9349, "Activated by {1} on {0}", activationEvent, activationId));
|
|
313
|
-
}
|
|
314
|
-
} else {
|
|
315
|
-
title = ( localize(9350, "Extension is activating..."));
|
|
316
|
-
}
|
|
317
|
-
data.elementDisposables.push(
|
|
318
|
-
this._hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.activationTime, title)
|
|
319
|
-
);
|
|
320
|
-
clearNode(data.msgContainer);
|
|
321
|
-
if (this._getUnresponsiveProfile(element.description.identifier)) {
|
|
322
|
-
const el = $("span", undefined, ...renderLabelWithIcons(` $(alert) Unresponsive`));
|
|
323
|
-
const extensionHostFreezTitle = ( localize(9351, "Extension has caused the extension host to freeze."));
|
|
324
|
-
data.elementDisposables.push(
|
|
325
|
-
this._hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), el, extensionHostFreezTitle)
|
|
326
|
-
);
|
|
327
|
-
data.msgContainer.appendChild(el);
|
|
328
|
-
}
|
|
329
|
-
if (isNonEmptyArray(element.status.runtimeErrors)) {
|
|
330
|
-
const el = $("span", undefined, ...renderLabelWithIcons(`$(bug) ${( localize(9352, "{0} uncaught errors", element.status.runtimeErrors.length))}`));
|
|
331
|
-
data.msgContainer.appendChild(el);
|
|
332
|
-
}
|
|
333
|
-
if (element.status.messages && element.status.messages.length > 0) {
|
|
334
|
-
const el = $(
|
|
335
|
-
"span",
|
|
336
|
-
undefined,
|
|
337
|
-
...renderLabelWithIcons(`$(alert) ${element.status.messages[0].message}`)
|
|
338
|
-
);
|
|
339
|
-
data.msgContainer.appendChild(el);
|
|
340
|
-
}
|
|
341
|
-
let extraLabel = null;
|
|
342
|
-
if (element.status.runningLocation && element.status.runningLocation.equals(( new LocalWebWorkerRunningLocation(0)))) {
|
|
343
|
-
extraLabel = `$(globe) web worker`;
|
|
344
|
-
} else if (element.description.extensionLocation.scheme === Schemas.vscodeRemote) {
|
|
345
|
-
const hostLabel = this._labelService.getHostLabel(Schemas.vscodeRemote, this._environmentService.remoteAuthority);
|
|
346
|
-
if (hostLabel) {
|
|
347
|
-
extraLabel = `$(remote) ${hostLabel}`;
|
|
348
|
-
} else {
|
|
349
|
-
extraLabel = `$(remote) ${element.description.extensionLocation.authority}`;
|
|
350
|
-
}
|
|
351
|
-
} else if (element.status.runningLocation && element.status.runningLocation.affinity > 0) {
|
|
352
|
-
extraLabel = element.status.runningLocation instanceof LocalWebWorkerRunningLocation ? `$(globe) web worker ${element.status.runningLocation.affinity + 1}` : `$(server-process) local process ${element.status.runningLocation.affinity + 1}`;
|
|
353
|
-
}
|
|
354
|
-
if (extraLabel) {
|
|
355
|
-
const el = $("span", undefined, ...renderLabelWithIcons(extraLabel));
|
|
356
|
-
data.msgContainer.appendChild(el);
|
|
357
|
-
}
|
|
358
|
-
const features = ( Registry.as(Extensions.ExtensionFeaturesRegistry)).getExtensionFeatures();
|
|
359
|
-
for (const feature of features) {
|
|
360
|
-
const accessData = this._extensionFeaturesManagementService.getAccessData(element.description.identifier, feature.id);
|
|
361
|
-
if (accessData) {
|
|
362
|
-
const status = accessData?.current?.status;
|
|
363
|
-
if (status) {
|
|
364
|
-
data.msgContainer.appendChild($("span", undefined, `${feature.label}: `));
|
|
365
|
-
data.msgContainer.appendChild($("span", undefined, ...renderLabelWithIcons(
|
|
366
|
-
`$(${status.severity === Severity.Error ? errorIcon.id : warningIcon.id}) ${status.message}`
|
|
367
|
-
)));
|
|
368
|
-
}
|
|
369
|
-
if (accessData?.accessTimes.length > 0) {
|
|
370
|
-
const element = $("span", undefined, `${( localize(
|
|
371
|
-
9353,
|
|
372
|
-
"{0} Usage: {1} Requests",
|
|
373
|
-
feature.label,
|
|
374
|
-
accessData.accessTimes.length
|
|
375
|
-
))}${accessData.current ? ( localize(9354, ", {0} Requests (Session)", accessData.current.accessTimes.length)) : ""}`);
|
|
376
|
-
if (accessData.current) {
|
|
377
|
-
const title = ( localize(
|
|
378
|
-
9355,
|
|
379
|
-
"Last request was {0}.",
|
|
380
|
-
fromNow(accessData.current.lastAccessed, true, true)
|
|
381
|
-
));
|
|
382
|
-
data.elementDisposables.push(
|
|
383
|
-
this._hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), element, title)
|
|
384
|
-
);
|
|
385
|
-
}
|
|
386
|
-
data.msgContainer.appendChild(element);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
if (element.profileInfo) {
|
|
391
|
-
data.profileTime.textContent = `Profile: ${(element.profileInfo.totalTime / 1000).toFixed(2)}ms`;
|
|
392
|
-
} else {
|
|
393
|
-
data.profileTime.textContent = "";
|
|
394
|
-
}
|
|
395
|
-
},
|
|
396
|
-
disposeTemplate: data => {
|
|
397
|
-
data.disposables = dispose(data.disposables);
|
|
398
|
-
}
|
|
399
|
-
};
|
|
400
|
-
this._list = this._instantiationService.createInstance(WorkbenchList, "RuntimeExtensions", parent, delegate, [renderer], {
|
|
401
|
-
multipleSelectionSupport: false,
|
|
402
|
-
setRowLineHeight: false,
|
|
403
|
-
horizontalScrolling: false,
|
|
404
|
-
overrideStyles: {
|
|
405
|
-
listBackground: editorBackground
|
|
406
|
-
},
|
|
407
|
-
accessibilityProvider: new (class {
|
|
408
|
-
getWidgetAriaLabel() {
|
|
409
|
-
return localize(9356, "Runtime Extensions");
|
|
410
|
-
}
|
|
411
|
-
getAriaLabel(element) {
|
|
412
|
-
return element.description.name;
|
|
413
|
-
}
|
|
414
|
-
})()
|
|
415
|
-
});
|
|
416
|
-
this._list.splice(0, this._list.length, this._elements || undefined);
|
|
417
|
-
this._register(this._list.onContextMenu(e => {
|
|
418
|
-
if (!e.element) {
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
421
|
-
const actions = [];
|
|
422
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.copyId", ( localize(9357, "Copy id ({0})", e.element.description.identifier.value)), undefined, true, () => {
|
|
423
|
-
this._clipboardService.writeText(e.element.description.identifier.value);
|
|
424
|
-
})));
|
|
425
|
-
const reportExtensionIssueAction = this._createReportExtensionIssueAction(e.element);
|
|
426
|
-
if (reportExtensionIssueAction) {
|
|
427
|
-
actions.push(reportExtensionIssueAction);
|
|
428
|
-
}
|
|
429
|
-
actions.push(( new Separator()));
|
|
430
|
-
if (e.element.marketplaceInfo) {
|
|
431
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.disableWorkspace", ( localize(9358, "Disable (Workspace)")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, EnablementState.DisabledWorkspace))));
|
|
432
|
-
actions.push(( new Action("runtimeExtensionsEditor.action.disable", ( localize(9359, "Disable")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, EnablementState.DisabledGlobally))));
|
|
433
|
-
}
|
|
434
|
-
actions.push(( new Separator()));
|
|
435
|
-
const menuActions = this._menuService.getMenuActions(MenuId.ExtensionEditorContextMenu, this.contextKeyService);
|
|
436
|
-
actions.push(...getContextMenuActions(menuActions).secondary);
|
|
437
|
-
this._contextMenuService.showContextMenu({
|
|
438
|
-
getAnchor: () => e.anchor,
|
|
439
|
-
getActions: () => actions
|
|
440
|
-
});
|
|
441
|
-
}));
|
|
442
|
-
}
|
|
443
|
-
layout(dimension) {
|
|
444
|
-
this._list?.layout(dimension.height);
|
|
445
|
-
}
|
|
446
|
-
};
|
|
447
|
-
AbstractRuntimeExtensionsEditor = AbstractRuntimeExtensionsEditor_1 = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IContextKeyService)), ( __param(4, IExtensionsWorkbenchService)), ( __param(5, IExtensionService)), ( __param(6, INotificationService)), ( __param(7, IContextMenuService)), ( __param(8, IInstantiationService)), ( __param(9, IStorageService)), ( __param(10, ILabelService)), ( __param(11, IWorkbenchEnvironmentService)), ( __param(12, IClipboardService)), ( __param(13, IExtensionFeaturesManagementService)), ( __param(14, IHoverService)), ( __param(15, IMenuService))], AbstractRuntimeExtensionsEditor));
|
|
448
|
-
class ShowRuntimeExtensionsAction extends Action2 {
|
|
449
|
-
constructor() {
|
|
450
|
-
super({
|
|
451
|
-
id: "workbench.action.showRuntimeExtensions",
|
|
452
|
-
title: ( localize2(9360, "Show Running Extensions")),
|
|
453
|
-
category: Categories.Developer,
|
|
454
|
-
f1: true,
|
|
455
|
-
menu: {
|
|
456
|
-
id: MenuId.ViewContainerTitle,
|
|
457
|
-
when: ( ContextKeyExpr.equals("viewContainer", "workbench.view.extensions")),
|
|
458
|
-
group: "2_enablement",
|
|
459
|
-
order: 3
|
|
460
|
-
}
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
async run(accessor) {
|
|
464
|
-
await accessor.get(IEditorService).openEditor(RuntimeExtensionsInput.instance, {
|
|
465
|
-
pinned: true
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
export { AbstractRuntimeExtensionsEditor, ShowRuntimeExtensionsAction };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { IExtensionTipsService } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement.service";
|
|
2
|
-
import { ExtensionRecommendations, ExtensionRecommendation } from "./extensionRecommendations.js";
|
|
3
|
-
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
4
|
-
type ConfigBasedExtensionRecommendation = ExtensionRecommendation & {
|
|
5
|
-
whenNotInstalled: string[] | undefined;
|
|
6
|
-
};
|
|
7
|
-
export declare class ConfigBasedRecommendations extends ExtensionRecommendations {
|
|
8
|
-
private readonly extensionTipsService;
|
|
9
|
-
private readonly workspaceContextService;
|
|
10
|
-
private importantTips;
|
|
11
|
-
private otherTips;
|
|
12
|
-
private _onDidChangeRecommendations;
|
|
13
|
-
readonly onDidChangeRecommendations: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
14
|
-
private _otherRecommendations;
|
|
15
|
-
get otherRecommendations(): ReadonlyArray<ConfigBasedExtensionRecommendation>;
|
|
16
|
-
private _importantRecommendations;
|
|
17
|
-
get importantRecommendations(): ReadonlyArray<ConfigBasedExtensionRecommendation>;
|
|
18
|
-
get recommendations(): ReadonlyArray<ConfigBasedExtensionRecommendation>;
|
|
19
|
-
constructor(extensionTipsService: IExtensionTipsService, workspaceContextService: IWorkspaceContextService);
|
|
20
|
-
protected doActivate(): Promise<void>;
|
|
21
|
-
private fetch;
|
|
22
|
-
private onWorkspaceFoldersChanged;
|
|
23
|
-
private toExtensionRecommendation;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { IExtensionTipsService } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
|
|
4
|
-
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
5
|
-
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
6
|
-
import { ExtensionRecommendationReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionRecommendations/common/extensionRecommendations';
|
|
7
|
-
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
8
|
-
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
9
|
-
|
|
10
|
-
let ConfigBasedRecommendations = class ConfigBasedRecommendations extends ExtensionRecommendations {
|
|
11
|
-
get otherRecommendations() {
|
|
12
|
-
return this._otherRecommendations;
|
|
13
|
-
}
|
|
14
|
-
get importantRecommendations() {
|
|
15
|
-
return this._importantRecommendations;
|
|
16
|
-
}
|
|
17
|
-
get recommendations() {
|
|
18
|
-
return [...this.importantRecommendations, ...this.otherRecommendations];
|
|
19
|
-
}
|
|
20
|
-
constructor(extensionTipsService, workspaceContextService) {
|
|
21
|
-
super();
|
|
22
|
-
this.extensionTipsService = extensionTipsService;
|
|
23
|
-
this.workspaceContextService = workspaceContextService;
|
|
24
|
-
this.importantTips = [];
|
|
25
|
-
this.otherTips = [];
|
|
26
|
-
this._onDidChangeRecommendations = this._register(( new Emitter()));
|
|
27
|
-
this.onDidChangeRecommendations = this._onDidChangeRecommendations.event;
|
|
28
|
-
this._otherRecommendations = [];
|
|
29
|
-
this._importantRecommendations = [];
|
|
30
|
-
}
|
|
31
|
-
async doActivate() {
|
|
32
|
-
await this.fetch();
|
|
33
|
-
this._register(
|
|
34
|
-
this.workspaceContextService.onDidChangeWorkspaceFolders(e => this.onWorkspaceFoldersChanged(e))
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
async fetch() {
|
|
38
|
-
const workspace = this.workspaceContextService.getWorkspace();
|
|
39
|
-
const importantTips = ( new Map());
|
|
40
|
-
const otherTips = ( new Map());
|
|
41
|
-
for (const folder of workspace.folders) {
|
|
42
|
-
const configBasedTips = await this.extensionTipsService.getConfigBasedTips(folder.uri);
|
|
43
|
-
for (const tip of configBasedTips) {
|
|
44
|
-
if (tip.important) {
|
|
45
|
-
importantTips.set(tip.extensionId, tip);
|
|
46
|
-
} else {
|
|
47
|
-
otherTips.set(tip.extensionId, tip);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
this.importantTips = [...( importantTips.values())];
|
|
52
|
-
this.otherTips = [...( otherTips.values())].filter(tip => !( importantTips.has(tip.extensionId)));
|
|
53
|
-
this._otherRecommendations = ( this.otherTips.map(tip => this.toExtensionRecommendation(tip)));
|
|
54
|
-
this._importantRecommendations = ( this.importantTips.map(tip => this.toExtensionRecommendation(tip)));
|
|
55
|
-
}
|
|
56
|
-
async onWorkspaceFoldersChanged(event) {
|
|
57
|
-
if (event.added.length) {
|
|
58
|
-
const oldImportantRecommended = this.importantTips;
|
|
59
|
-
await this.fetch();
|
|
60
|
-
if (( this.importantTips.some(
|
|
61
|
-
current => oldImportantRecommended.every(old => current.extensionId !== old.extensionId)
|
|
62
|
-
))) {
|
|
63
|
-
this._onDidChangeRecommendations.fire();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
toExtensionRecommendation(tip) {
|
|
68
|
-
return {
|
|
69
|
-
extension: tip.extensionId,
|
|
70
|
-
reason: {
|
|
71
|
-
reasonId: ExtensionRecommendationReason.WorkspaceConfig,
|
|
72
|
-
reasonText: ( localize(
|
|
73
|
-
9361,
|
|
74
|
-
"This extension is recommended because of the current workspace configuration"
|
|
75
|
-
))
|
|
76
|
-
},
|
|
77
|
-
whenNotInstalled: tip.whenNotInstalled
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
ConfigBasedRecommendations = ( __decorate([( __param(0, IExtensionTipsService)), ( __param(1, IWorkspaceContextService))], ConfigBasedRecommendations));
|
|
82
|
-
|
|
83
|
-
export { ConfigBasedRecommendations };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IExtensionTipsService } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement.service";
|
|
2
|
-
import { ExtensionRecommendations, ExtensionRecommendation } from "./extensionRecommendations.js";
|
|
3
|
-
export declare class ExeBasedRecommendations extends ExtensionRecommendations {
|
|
4
|
-
private readonly extensionTipsService;
|
|
5
|
-
private _otherTips;
|
|
6
|
-
private _importantTips;
|
|
7
|
-
get otherRecommendations(): ReadonlyArray<ExtensionRecommendation>;
|
|
8
|
-
get importantRecommendations(): ReadonlyArray<ExtensionRecommendation>;
|
|
9
|
-
get recommendations(): ReadonlyArray<ExtensionRecommendation>;
|
|
10
|
-
constructor(extensionTipsService: IExtensionTipsService);
|
|
11
|
-
getRecommendations(exe: string): {
|
|
12
|
-
important: ExtensionRecommendation[];
|
|
13
|
-
others: ExtensionRecommendation[];
|
|
14
|
-
};
|
|
15
|
-
protected doActivate(): Promise<void>;
|
|
16
|
-
private _importantExeBasedRecommendations;
|
|
17
|
-
private fetchImportantExeBasedRecommendations;
|
|
18
|
-
private doFetchImportantExeBasedRecommendations;
|
|
19
|
-
private toExtensionRecommendation;
|
|
20
|
-
}
|