提交 32413e76 编写于 作者: S Sandeep Somavarapu

Fix #91012

上级 8b0f436d
......@@ -4,11 +4,17 @@
*--------------------------------------------------------------------------------------------*/
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions';
import { IUserDataSyncUtilService } from 'vs/platform/userDataSync/common/userDataSync';
import { IUserDataSyncUtilService, CONTEXT_SYNC_STATE, SyncStatus } from 'vs/platform/userDataSync/common/userDataSync';
import { Registry } from 'vs/platform/registry/common/platform';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
import { ISharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
import { UserDataSycnUtilServiceChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
import { registerAction2, Action2, MenuId } from 'vs/platform/actions/common/actions';
import { localize } from 'vs/nls';
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IFileService } from 'vs/platform/files/common/files';
import { IElectronService } from 'vs/platform/electron/node/electron';
class UserDataSyncServicesContribution implements IWorkbenchContribution {
......@@ -22,3 +28,23 @@ class UserDataSyncServicesContribution implements IWorkbenchContribution {
const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(UserDataSyncServicesContribution, LifecyclePhase.Starting);
registerAction2(class OpenSyncBackupsFolder extends Action2 {
constructor() {
super({
id: 'workbench.userData.actions.openSyncBackupsFolder',
title: localize('Open Backup folder', "Sync: Open Local Backups Folder"),
menu: {
id: MenuId.CommandPalette,
when: CONTEXT_SYNC_STATE.notEqualsTo(SyncStatus.Uninitialized),
}
});
}
async run(accessor: ServicesAccessor): Promise<void> {
const syncHome = accessor.get(IEnvironmentService).userDataSyncHome;
const electronService = accessor.get(IElectronService);
const folderStat = await accessor.get(IFileService).resolve(syncHome);
const item = folderStat.children && folderStat.children[0] ? folderStat.children[0].resource : syncHome;
return electronService.showItemInFolder(item.fsPath);
}
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册