@codingame/monaco-vscode-extensions-service-override 25.1.2 → 26.0.1
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 +7 -0
- package/package.json +3 -3
- package/vscode/src/vs/base/common/console.js +24 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +4 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +149 -84
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +20 -12
- package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +38 -21
- package/vscode/src/vs/platform/remote/common/managedSocket.js +7 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +200 -143
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +10 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +41 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +9 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +168 -115
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +11 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +42 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +170 -99
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +2 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +4 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +13 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +16 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +127 -70
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +199 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +88 -73
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +16 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +10 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +14 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +52 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +78 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +75 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +99 -91
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +93 -55
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +3 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +85 -60
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +49 -45
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +114 -72
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +4 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +381 -238
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +7 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +90 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +81 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +6 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +162 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +32 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +38 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +48 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +22 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +35 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +31 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +47 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +15 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +17 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +6 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +83 -66
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +250 -92
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +6 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +37 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +34 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +3 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +19 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +41 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +18 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +145 -145
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +19 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +176 -80
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +52 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +26 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +106 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +83 -65
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +17 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +49 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +10 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +38 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +73 -43
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +17 -10
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +17 -11
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +107 -80
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +336 -175
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +126 -71
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +76 -54
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +343 -192
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +0 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +75 -68
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +135 -36
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +22 -18
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +14 -12
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +21 -9
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +48 -25
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.d.ts +24 -0
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +300 -0
|
@@ -35,8 +35,7 @@ class BisectState {
|
|
|
35
35
|
try {
|
|
36
36
|
const data = JSON.parse(raw);
|
|
37
37
|
return ( new BisectState(data.extensions, data.low, data.high, data.mid));
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
38
|
+
} catch {
|
|
40
39
|
return undefined;
|
|
41
40
|
}
|
|
42
41
|
}
|
|
@@ -48,8 +47,12 @@ class BisectState {
|
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
let ExtensionBisectService = class ExtensionBisectService {
|
|
51
|
-
static {
|
|
52
|
-
|
|
50
|
+
static {
|
|
51
|
+
ExtensionBisectService_1 = this;
|
|
52
|
+
}
|
|
53
|
+
static {
|
|
54
|
+
this._storageKey = "extensionBisectState";
|
|
55
|
+
}
|
|
53
56
|
constructor(logService, _storageService, _envService) {
|
|
54
57
|
this._storageService = _storageService;
|
|
55
58
|
this._envService = _envService;
|
|
@@ -57,12 +60,15 @@ let ExtensionBisectService = class ExtensionBisectService {
|
|
|
57
60
|
const raw = _storageService.get(ExtensionBisectService_1._storageKey, StorageScope.APPLICATION);
|
|
58
61
|
this._state = BisectState.fromJSON(raw);
|
|
59
62
|
if (this._state) {
|
|
60
|
-
const {
|
|
63
|
+
const {
|
|
64
|
+
mid,
|
|
65
|
+
high
|
|
66
|
+
} = this._state;
|
|
61
67
|
for (let i = 0; i < this._state.extensions.length; i++) {
|
|
62
68
|
const isDisabled = i >= mid && i < high;
|
|
63
69
|
this._disabled.set(this._state.extensions[i], isDisabled);
|
|
64
70
|
}
|
|
65
|
-
logService.warn(
|
|
71
|
+
logService.warn("extension BISECT active", [...this._disabled]);
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
get isActive() {
|
|
@@ -85,34 +91,52 @@ let ExtensionBisectService = class ExtensionBisectService {
|
|
|
85
91
|
return disabled ?? false;
|
|
86
92
|
}
|
|
87
93
|
_isEnabledInEnv(extension) {
|
|
88
|
-
return Array.isArray(this._envService.enableExtensions) && ( this._envService.enableExtensions.some(id => areSameExtensions({
|
|
94
|
+
return Array.isArray(this._envService.enableExtensions) && ( this._envService.enableExtensions.some(id => areSameExtensions({
|
|
95
|
+
id
|
|
96
|
+
}, extension.identifier)));
|
|
89
97
|
}
|
|
90
98
|
async start(extensions) {
|
|
91
99
|
if (this._state) {
|
|
92
|
-
throw ( new Error(
|
|
100
|
+
throw ( new Error("invalid state"));
|
|
93
101
|
}
|
|
94
102
|
const extensionIds = ( extensions.map(ext => ext.identifier.id));
|
|
95
103
|
const newState = ( new BisectState(extensionIds, 0, extensionIds.length, 0));
|
|
96
|
-
this._storageService.store(
|
|
104
|
+
this._storageService.store(
|
|
105
|
+
ExtensionBisectService_1._storageKey,
|
|
106
|
+
JSON.stringify(newState),
|
|
107
|
+
StorageScope.APPLICATION,
|
|
108
|
+
StorageTarget.MACHINE
|
|
109
|
+
);
|
|
97
110
|
await this._storageService.flush();
|
|
98
111
|
}
|
|
99
112
|
async next(seeingBad) {
|
|
100
113
|
if (!this._state) {
|
|
101
|
-
throw ( new Error(
|
|
114
|
+
throw ( new Error("invalid state"));
|
|
102
115
|
}
|
|
103
116
|
if (seeingBad && this._state.mid === 0 && this._state.high === this._state.extensions.length) {
|
|
104
|
-
return {
|
|
117
|
+
return {
|
|
118
|
+
bad: true,
|
|
119
|
+
id: ""
|
|
120
|
+
};
|
|
105
121
|
}
|
|
106
122
|
if (this._state.low === this._state.high - 1) {
|
|
107
123
|
await this.reset();
|
|
108
|
-
return {
|
|
124
|
+
return {
|
|
125
|
+
id: this._state.extensions[this._state.low],
|
|
126
|
+
bad: seeingBad
|
|
127
|
+
};
|
|
109
128
|
}
|
|
110
129
|
const nextState = ( new BisectState(
|
|
111
130
|
this._state.extensions,
|
|
112
131
|
seeingBad ? this._state.low : this._state.mid,
|
|
113
132
|
seeingBad ? this._state.mid : this._state.high
|
|
114
133
|
));
|
|
115
|
-
this._storageService.store(
|
|
134
|
+
this._storageService.store(
|
|
135
|
+
ExtensionBisectService_1._storageKey,
|
|
136
|
+
JSON.stringify(nextState),
|
|
137
|
+
StorageScope.APPLICATION,
|
|
138
|
+
StorageTarget.MACHINE
|
|
139
|
+
);
|
|
116
140
|
await this._storageService.flush();
|
|
117
141
|
return undefined;
|
|
118
142
|
}
|
|
@@ -121,15 +145,20 @@ let ExtensionBisectService = class ExtensionBisectService {
|
|
|
121
145
|
await this._storageService.flush();
|
|
122
146
|
}
|
|
123
147
|
};
|
|
124
|
-
ExtensionBisectService = ExtensionBisectService_1 = ( __decorate([
|
|
125
|
-
( __param(0, ILogService)),
|
|
126
|
-
( __param(1, IStorageService)),
|
|
127
|
-
( __param(2, IWorkbenchEnvironmentService))
|
|
128
|
-
], ExtensionBisectService));
|
|
148
|
+
ExtensionBisectService = ExtensionBisectService_1 = ( __decorate([( __param(0, ILogService)), ( __param(1, IStorageService)), ( __param(2, IWorkbenchEnvironmentService))], ExtensionBisectService));
|
|
129
149
|
let ExtensionBisectUi = class ExtensionBisectUi {
|
|
130
|
-
static {
|
|
131
|
-
|
|
132
|
-
|
|
150
|
+
static {
|
|
151
|
+
ExtensionBisectUi_1 = this;
|
|
152
|
+
}
|
|
153
|
+
static {
|
|
154
|
+
this.ctxIsBisectActive = ( new RawContextKey("isExtensionBisectActive", false));
|
|
155
|
+
}
|
|
156
|
+
constructor(
|
|
157
|
+
contextKeyService,
|
|
158
|
+
_extensionBisectService,
|
|
159
|
+
_notificationService,
|
|
160
|
+
_commandService
|
|
161
|
+
) {
|
|
133
162
|
this._extensionBisectService = _extensionBisectService;
|
|
134
163
|
this._notificationService = _notificationService;
|
|
135
164
|
this._commandService = _commandService;
|
|
@@ -140,49 +169,45 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
140
169
|
}
|
|
141
170
|
_showBisectPrompt() {
|
|
142
171
|
const goodPrompt = {
|
|
143
|
-
label: ( localize(
|
|
144
|
-
run: () => this._commandService.executeCommand(
|
|
172
|
+
label: ( localize(14280, "I can't reproduce")),
|
|
173
|
+
run: () => this._commandService.executeCommand("extension.bisect.next", false)
|
|
145
174
|
};
|
|
146
175
|
const badPrompt = {
|
|
147
|
-
label: ( localize(
|
|
148
|
-
run: () => this._commandService.executeCommand(
|
|
176
|
+
label: ( localize(14281, "I can reproduce")),
|
|
177
|
+
run: () => this._commandService.executeCommand("extension.bisect.next", true)
|
|
149
178
|
};
|
|
150
179
|
const stop = {
|
|
151
|
-
label:
|
|
152
|
-
run: () => this._commandService.executeCommand(
|
|
180
|
+
label: "Stop Bisect",
|
|
181
|
+
run: () => this._commandService.executeCommand("extension.bisect.stop")
|
|
153
182
|
};
|
|
154
|
-
const message = this._extensionBisectService.disabledCount === 1
|
|
155
|
-
|
|
156
|
-
13895,
|
|
183
|
+
const message = this._extensionBisectService.disabledCount === 1 ? ( localize(
|
|
184
|
+
14282,
|
|
157
185
|
"Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
158
|
-
))
|
|
159
|
-
|
|
160
|
-
13896,
|
|
186
|
+
)) : ( localize(
|
|
187
|
+
14283,
|
|
161
188
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
162
189
|
this._extensionBisectService.disabledCount
|
|
163
190
|
));
|
|
164
|
-
this._notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], {
|
|
191
|
+
this._notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], {
|
|
192
|
+
sticky: true,
|
|
193
|
+
priority: NotificationPriority.URGENT
|
|
194
|
+
});
|
|
165
195
|
}
|
|
166
196
|
};
|
|
167
|
-
ExtensionBisectUi = ExtensionBisectUi_1 = ( __decorate([
|
|
168
|
-
( __param(0, IContextKeyService)),
|
|
169
|
-
( __param(1, IExtensionBisectService)),
|
|
170
|
-
( __param(2, INotificationService)),
|
|
171
|
-
( __param(3, ICommandService))
|
|
172
|
-
], ExtensionBisectUi));
|
|
197
|
+
ExtensionBisectUi = ExtensionBisectUi_1 = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IExtensionBisectService)), ( __param(2, INotificationService)), ( __param(3, ICommandService))], ExtensionBisectUi));
|
|
173
198
|
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ExtensionBisectUi, LifecyclePhase.Restored);
|
|
174
199
|
registerAction2(class extends Action2 {
|
|
175
200
|
constructor() {
|
|
176
201
|
super({
|
|
177
|
-
id:
|
|
178
|
-
title: ( localize2(
|
|
202
|
+
id: "extension.bisect.start",
|
|
203
|
+
title: ( localize2(14284, "Start Extension Bisect")),
|
|
179
204
|
category: Categories.Help,
|
|
180
205
|
f1: true,
|
|
181
206
|
precondition: ( ExtensionBisectUi.ctxIsBisectActive.negate()),
|
|
182
207
|
menu: {
|
|
183
208
|
id: MenuId.ViewContainerTitle,
|
|
184
|
-
when: ( ContextKeyExpr.equals(
|
|
185
|
-
group:
|
|
209
|
+
when: ( ContextKeyExpr.equals("viewContainer", "workbench.view.extensions")),
|
|
210
|
+
group: "2_enablement",
|
|
186
211
|
order: 4
|
|
187
212
|
}
|
|
188
213
|
});
|
|
@@ -195,13 +220,13 @@ registerAction2(class extends Action2 {
|
|
|
195
220
|
const extensionsBisect = accessor.get(IExtensionBisectService);
|
|
196
221
|
const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
|
|
197
222
|
const res = await dialogService.confirm({
|
|
198
|
-
message: ( localize(
|
|
223
|
+
message: ( localize(14285, "Extension Bisect")),
|
|
199
224
|
detail: ( localize(
|
|
200
|
-
|
|
225
|
+
14286,
|
|
201
226
|
"Extension Bisect will use binary search to find an extension that causes a problem. During the process the window reloads repeatedly (~{0} times). Each time you must confirm if you are still seeing problems.",
|
|
202
227
|
2 + Math.log2(extensions.length) | 0
|
|
203
228
|
)),
|
|
204
|
-
primaryButton: ( localize(
|
|
229
|
+
primaryButton: ( localize(14287, "&&Start Extension Bisect"))
|
|
205
230
|
});
|
|
206
231
|
if (res.confirmed) {
|
|
207
232
|
await extensionsBisect.start(extensions);
|
|
@@ -212,8 +237,8 @@ registerAction2(class extends Action2 {
|
|
|
212
237
|
registerAction2(class extends Action2 {
|
|
213
238
|
constructor() {
|
|
214
239
|
super({
|
|
215
|
-
id:
|
|
216
|
-
title: ( localize2(
|
|
240
|
+
id: "extension.bisect.next",
|
|
241
|
+
title: ( localize2(14288, "Continue Extension Bisect")),
|
|
217
242
|
category: Categories.Help,
|
|
218
243
|
f1: true,
|
|
219
244
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -247,60 +272,62 @@ registerAction2(class extends Action2 {
|
|
|
247
272
|
return;
|
|
248
273
|
}
|
|
249
274
|
if (done.bad) {
|
|
250
|
-
await dialogService.info(( localize(
|
|
251
|
-
|
|
275
|
+
await dialogService.info(( localize(14289, "Extension Bisect")), ( localize(
|
|
276
|
+
14290,
|
|
252
277
|
"Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
|
|
253
278
|
productService.nameShort
|
|
254
279
|
)));
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
280
|
+
} else {
|
|
257
281
|
const res = await dialogService.confirm({
|
|
258
282
|
type: Severity.Info,
|
|
259
|
-
message: ( localize(
|
|
260
|
-
primaryButton: ( localize(
|
|
261
|
-
cancelButton: ( localize(
|
|
283
|
+
message: ( localize(14289, "Extension Bisect")),
|
|
284
|
+
primaryButton: ( localize(14291, "&&Report Issue & Continue")),
|
|
285
|
+
cancelButton: ( localize(14292, "Continue")),
|
|
262
286
|
detail: ( localize(
|
|
263
|
-
|
|
287
|
+
14293,
|
|
264
288
|
"Extension Bisect is done and has identified {0} as the extension causing the problem.",
|
|
265
289
|
done.id
|
|
266
290
|
)),
|
|
267
|
-
checkbox: {
|
|
291
|
+
checkbox: {
|
|
292
|
+
label: ( localize(14294, "Keep this extension disabled")),
|
|
293
|
+
checked: true
|
|
294
|
+
}
|
|
268
295
|
});
|
|
269
296
|
if (res.checkboxChecked) {
|
|
270
|
-
await extensionEnablementService.disableExtension({
|
|
297
|
+
await extensionEnablementService.disableExtension({
|
|
298
|
+
id: done.id
|
|
299
|
+
}, undefined);
|
|
271
300
|
}
|
|
272
301
|
if (res.confirmed) {
|
|
273
|
-
await commandService.executeCommand(
|
|
302
|
+
await commandService.executeCommand("workbench.action.openIssueReporter", done.id);
|
|
274
303
|
}
|
|
275
304
|
}
|
|
276
305
|
await bisectService.reset();
|
|
277
306
|
hostService.reload();
|
|
278
307
|
}
|
|
279
308
|
async _checkForBad(dialogService, bisectService) {
|
|
280
|
-
const {
|
|
309
|
+
const {
|
|
310
|
+
result
|
|
311
|
+
} = await dialogService.prompt({
|
|
281
312
|
type: Severity.Info,
|
|
282
|
-
message: ( localize(
|
|
313
|
+
message: ( localize(14295, "Extension Bisect")),
|
|
283
314
|
detail: ( localize(
|
|
284
|
-
|
|
315
|
+
14296,
|
|
285
316
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
286
317
|
bisectService.disabledCount
|
|
287
318
|
)),
|
|
288
|
-
buttons: [
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
label: ( localize(13912, "&&Stop Bisect")),
|
|
299
|
-
run: () => undefined
|
|
300
|
-
}
|
|
301
|
-
],
|
|
319
|
+
buttons: [{
|
|
320
|
+
label: ( localize(14297, "I ca&&n't reproduce")),
|
|
321
|
+
run: () => false
|
|
322
|
+
}, {
|
|
323
|
+
label: ( localize(14298, "I can &&reproduce")),
|
|
324
|
+
run: () => true
|
|
325
|
+
}, {
|
|
326
|
+
label: ( localize(14299, "&&Stop Bisect")),
|
|
327
|
+
run: () => undefined
|
|
328
|
+
}],
|
|
302
329
|
cancelButton: {
|
|
303
|
-
label: ( localize(
|
|
330
|
+
label: ( localize(14300, "&&Cancel Bisect")),
|
|
304
331
|
run: () => null
|
|
305
332
|
}
|
|
306
333
|
});
|
|
@@ -310,8 +337,8 @@ registerAction2(class extends Action2 {
|
|
|
310
337
|
registerAction2(class extends Action2 {
|
|
311
338
|
constructor() {
|
|
312
339
|
super({
|
|
313
|
-
id:
|
|
314
|
-
title: ( localize2(
|
|
340
|
+
id: "extension.bisect.stop",
|
|
341
|
+
title: ( localize2(14301, "Stop Extension Bisect")),
|
|
315
342
|
category: Categories.Help,
|
|
316
343
|
f1: true,
|
|
317
344
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|