@@ -10,7 +10,7 @@ import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle
10
10
import { Action2 , IAction2Options , registerAction2 } from 'vs/platform/actions/common/actions' ;
11
11
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions' ;
12
12
import { localize } from 'vs/nls' ;
13
- import { IEditSessionsWorkbenchService , Change , ChangeType , Folder , EditSession , FileType , EDIT_SESSION_SYNC_CATEGORY , EDIT_SESSIONS_CONTAINER_ID , EditSessionSchemaVersion , IEditSessionsLogService , EDIT_SESSIONS_VIEW_ICON , EDIT_SESSIONS_TITLE , EDIT_SESSIONS_SCHEME } from 'vs/workbench/contrib/editSessions/common/editSessions' ;
13
+ import { IEditSessionsWorkbenchService , Change , ChangeType , Folder , EditSession , FileType , EDIT_SESSION_SYNC_CATEGORY , EDIT_SESSIONS_CONTAINER_ID , EditSessionSchemaVersion , IEditSessionsLogService , EDIT_SESSIONS_VIEW_ICON , EDIT_SESSIONS_TITLE , EDIT_SESSIONS_SCHEME , EDIT_SESSIONS_SHOW_VIEW , EDIT_SESSIONS_SIGNED_IN } from 'vs/workbench/contrib/editSessions/common/editSessions' ;
14
14
import { ISCMRepository , ISCMService } from 'vs/workbench/contrib/scm/common/scm' ;
15
15
import { IFileService } from 'vs/platform/files/common/files' ;
16
16
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace' ;
@@ -32,14 +32,14 @@ import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuratio
32
32
import { Extensions , IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry' ;
33
33
import { IQuickInputService , IQuickPickItem } from 'vs/platform/quickinput/common/quickInput' ;
34
34
import { ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry' ;
35
- import { ContextKeyExpr , ContextKeyExpression , IContextKeyService } from 'vs/platform/contextkey/common/contextkey' ;
35
+ import { ContextKeyExpr , ContextKeyExpression , IContextKey , IContextKeyService } from 'vs/platform/contextkey/common/contextkey' ;
36
36
import { ICommandService } from 'vs/platform/commands/common/commands' ;
37
37
import { getVirtualWorkspaceLocation } from 'vs/platform/workspace/common/virtualWorkspace' ;
38
38
import { Schemas } from 'vs/base/common/network' ;
39
39
import { IsWebContext } from 'vs/platform/contextkey/common/contextkeys' ;
40
40
import { isProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions' ;
41
41
import { EditSessionsLogService } from 'vs/workbench/contrib/editSessions/common/editSessionsLogService' ;
42
- import { IViewContainersRegistry , Extensions as ViewExtensions , ViewContainerLocation } from 'vs/workbench/common/views' ;
42
+ import { IViewContainersRegistry , Extensions as ViewExtensions , ViewContainerLocation , IViewsService } from 'vs/workbench/common/views' ;
43
43
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors' ;
44
44
import { ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer' ;
45
45
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation' ;
@@ -70,6 +70,8 @@ export class EditSessionsContribution extends Disposable implements IWorkbenchCo
70
70
private registered = false ;
71
71
private continueEditSessionOptions : ContinueEditSessionItem [ ] = [ ] ;
72
72
73
+ private readonly shouldShowViewsContext : IContextKey < boolean > ;
74
+
73
75
constructor (
74
76
@IEditSessionsWorkbenchService private readonly editSessionsWorkbenchService : IEditSessionsWorkbenchService ,
75
77
@IFileService private readonly fileService : IFileService ,
@@ -139,6 +141,8 @@ export class EditSessionsContribution extends Disposable implements IWorkbenchCo
139
141
this . continueEditSessionOptions = continueEditSessionOptions ;
140
142
} ) ;
141
143
144
+ this . shouldShowViewsContext = EDIT_SESSIONS_SHOW_VIEW . bindTo ( this . contextKeyService ) ;
145
+
142
146
textModelResolverService . registerTextModelContentProvider ( EDIT_SESSIONS_SCHEME , instantiationService . createInstance ( EditSessionsContentProvider ) ) ;
143
147
}
144
148
@@ -171,9 +175,32 @@ export class EditSessionsContribution extends Disposable implements IWorkbenchCo
171
175
172
176
this . registerContinueInLocalFolderAction ( ) ;
173
177
178
+ this . registerShowEditSessionViewAction ( ) ;
179
+
174
180
this . registered = true ;
175
181
}
176
182
183
+ private registerShowEditSessionViewAction ( ) {
184
+ const that = this ;
185
+ this . _register ( registerAction2 ( class ShowEditSessionView extends Action2 {
186
+ constructor ( ) {
187
+ super ( {
188
+ id : 'workbench.editSessions.actions.showEditSessions' ,
189
+ title : { value : localize ( 'show edit session' , "Show Edit Sessions" ) , original : 'Show Edit Sessions' } ,
190
+ category : EDIT_SESSION_SYNC_CATEGORY ,
191
+ f1 : true ,
192
+ precondition : EDIT_SESSIONS_SIGNED_IN
193
+ } ) ;
194
+ }
195
+
196
+ async run ( accessor : ServicesAccessor ) {
197
+ that . shouldShowViewsContext . set ( true ) ;
198
+ const viewsService = accessor . get ( IViewsService ) ;
199
+ await viewsService . openViewContainer ( EDIT_SESSIONS_CONTAINER_ID ) ;
200
+ }
201
+ } ) ) ;
202
+ }
203
+
177
204
private registerContinueEditSessionAction ( ) {
178
205
const that = this ;
179
206
this . _register ( registerAction2 ( class ContinueEditSessionAction extends Action2 {
0 commit comments