Skip to content

Commit 1d6c882

Browse files
committed
Fix #115699
1 parent f84decb commit 1d6c882

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
263263
const isMachineScoped = await this.hasToFlagExtensionsMachineScoped([gallery]);
264264
installOptions = { isMachineScoped, isBuiltin: false };
265265
}
266-
if (!installOptions.isMachineScoped) {
266+
if (!installOptions.isMachineScoped && this.isExtensionsSyncEnabled()) {
267267
if (this.extensionManagementServerService.localExtensionManagementServer && !servers.includes(this.extensionManagementServerService.localExtensionManagementServer)) {
268268
servers.push(this.extensionManagementServerService.localExtensionManagementServer);
269269
}
@@ -306,32 +306,36 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
306306
return this.extensionManagementServerService.localExtensionManagementServer;
307307
}
308308

309+
private isExtensionsSyncEnabled(): boolean {
310+
return this.userDataAutoSyncEnablementService.isEnabled() && this.userDataSyncResourceEnablementService.isResourceEnabled(SyncResource.Extensions);
311+
}
312+
309313
private async hasToFlagExtensionsMachineScoped(extensions: IGalleryExtension[]): Promise<boolean> {
310-
if (!this.userDataAutoSyncEnablementService.isEnabled() || !this.userDataSyncResourceEnablementService.isResourceEnabled(SyncResource.Extensions)) {
311-
return false;
312-
}
313-
const result = await this.dialogService.show(
314-
Severity.Info,
315-
extensions.length === 1 ? localize('install extension', "Install Extension") : localize('install extensions', "Install Extensions"),
316-
[
317-
localize('install', "Install"),
318-
localize('install and do no sync', "Install (Do not sync)"),
319-
localize('cancel', "Cancel"),
320-
],
321-
{
322-
cancelId: 2,
323-
detail: extensions.length === 1
324-
? localize('install single extension', "Would you like to install and synchronize '{0}' extension across your devices?", extensions[0].displayName)
325-
: localize('install multiple extensions', "Would you like to install and synchronize extensions across your devices?")
314+
if (this.isExtensionsSyncEnabled()) {
315+
const result = await this.dialogService.show(
316+
Severity.Info,
317+
extensions.length === 1 ? localize('install extension', "Install Extension") : localize('install extensions', "Install Extensions"),
318+
[
319+
localize('install', "Install"),
320+
localize('install and do no sync', "Install (Do not sync)"),
321+
localize('cancel', "Cancel"),
322+
],
323+
{
324+
cancelId: 2,
325+
detail: extensions.length === 1
326+
? localize('install single extension', "Would you like to install and synchronize '{0}' extension across your devices?", extensions[0].displayName)
327+
: localize('install multiple extensions', "Would you like to install and synchronize extensions across your devices?")
328+
}
329+
);
330+
switch (result.choice) {
331+
case 0:
332+
return false;
333+
case 1:
334+
return true;
326335
}
327-
);
328-
switch (result.choice) {
329-
case 0:
330-
return false;
331-
case 1:
332-
return true;
336+
throw canceled();
333337
}
334-
throw canceled();
338+
return false;
335339
}
336340

337341
getExtensionsReport(): Promise<IReportedExtension[]> {

0 commit comments

Comments
 (0)