File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ import  {  inject ,  injectable  }  from  'inversify' ; 
2+ import  {  IExtensionSingleActivationService  }  from  '../../activation/types' ; 
3+ import  {  ICommandManager  }  from  '../../common/application/types' ; 
4+ import  {  ContextKey  }  from  '../../common/contextKey' ; 
5+ import  {  traceError  }  from  '../../common/logger' ; 
6+ import  {  IExperimentService  }  from  '../../common/types' ; 
7+ 
8+ @injectable ( ) 
9+ export  class  DebuggerDataViewerExperimentEnabler  implements  IExtensionSingleActivationService  { 
10+  constructor ( 
11+  @inject ( ICommandManager )  private  readonly  commandManager : ICommandManager , 
12+  @inject ( IExperimentService )  private  readonly  experimentService : IExperimentService 
13+  )  { } 
14+  public  async  activate ( )  { 
15+  this . activateInternal ( ) . catch ( traceError . bind ( 'Failed to activate debuggerDataViewerExperimentEnabler' ) ) ; 
16+  } 
17+  private  async  activateInternal ( )  { 
18+  // This context key controls the visibility of the 'View Variable in Data Viewer' 
19+  // context menu item from the variable window context menu during a debugging session 
20+  const  isDataViewerExperimentEnabled  =  new  ContextKey ( 
21+  'python.isDebuggerDataViewerExperimentEnabled' , 
22+  this . commandManager 
23+  ) ; 
24+  await  isDataViewerExperimentEnabled . set ( await  this . experimentService . inExperiment ( 'debuggerDataViewer' ) ) ; 
25+  } 
26+ } 
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ import { AsyncDisposableRegistry } from './asyncDisposableRegistry';
3838import  {  ConfigurationService  }  from  './configuration/service' ; 
3939import  {  CryptoUtils  }  from  './crypto' ; 
4040import  {  EditorUtils  }  from  './editor' ; 
41+ import  {  DebuggerDataViewerExperimentEnabler  }  from  './experiments/debuggerDataViewerExperimentEnabler' ; 
4142import  {  ExperimentsManager  }  from  './experiments/manager' ; 
4243import  {  ExperimentService  }  from  './experiments/service' ; 
4344import  {  FeatureDeprecationManager  }  from  './featureDeprecationManager' ; 
@@ -200,6 +201,10 @@ export function registerTypes(serviceManager: IServiceManager) {
200201 IExtensionSingleActivationService , 
201202 ReloadVSCodeCommandHandler 
202203 ) ; 
204+  serviceManager . addSingleton < IExtensionSingleActivationService > ( 
205+  IExtensionSingleActivationService , 
206+  DebuggerDataViewerExperimentEnabler 
207+  ) ; 
203208 serviceManager . addSingleton < IExtensionChannelService > ( IExtensionChannelService ,  ExtensionChannelService ) ; 
204209 serviceManager . addSingleton < IExtensionChannelRule > ( 
205210 IExtensionChannelRule , 
                                 You can’t perform that action at this time. 
               
                  
0 commit comments