@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.
Files changed (78) hide show
  1. package/index.js +4 -4
  2. package/package.json +2 -2
  3. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +1 -1
  4. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.d.ts +1 -1
  5. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +1 -1
  6. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +2 -2
  7. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +1 -1
  8. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +14 -14
  9. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +4 -4
  10. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +2 -2
  11. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +46 -46
  12. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.d.ts +0 -14
  13. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +0 -145
  14. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.d.ts +0 -19
  15. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +0 -25
  16. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.d.ts +0 -76
  17. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -470
  18. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.d.ts +0 -25
  19. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +0 -83
  20. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.d.ts +0 -20
  21. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +0 -66
  22. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.d.ts +0 -83
  23. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +0 -1353
  24. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.d.ts +0 -11
  25. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +0 -49
  26. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.d.ts +0 -22
  27. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +0 -728
  28. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.d.ts +0 -63
  29. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +0 -522
  30. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.d.ts +0 -19
  31. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +0 -18
  32. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.d.ts +0 -71
  33. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +0 -263
  34. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.d.ts +0 -5
  35. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +0 -2227
  36. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.d.ts +0 -9
  37. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +0 -40
  38. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.d.ts +0 -9
  39. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +0 -77
  40. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.d.ts +0 -16
  41. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +0 -93
  42. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.d.ts +0 -27
  43. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +0 -100
  44. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.d.ts +0 -151
  45. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +0 -1031
  46. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.d.ts +0 -235
  47. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +0 -1600
  48. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +0 -314
  49. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +0 -3449
  50. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.d.ts +0 -44
  51. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +0 -368
  52. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.d.ts +0 -9
  53. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +0 -30
  54. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.d.ts +0 -9
  55. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +0 -30
  56. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +0 -910
  57. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionManagement.css +0 -12
  58. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css +0 -229
  59. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-dark.svg +0 -31
  60. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-hc.svg +0 -31
  61. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading.svg +0 -31
  62. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css +0 -86
  63. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.d.ts +0 -9
  64. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +0 -38
  65. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.d.ts +0 -9
  66. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +0 -41
  67. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.d.ts +0 -11
  68. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +0 -38
  69. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.d.ts +0 -33
  70. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +0 -179
  71. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.d.ts +0 -11
  72. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +0 -90
  73. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.d.ts +0 -24
  74. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +0 -50
  75. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.d.ts +0 -15
  76. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -47
  77. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -35
  78. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -876
@@ -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
- }