@@ -31,6 +31,8 @@ import {DiagnosticWithLocation, DiagnosticsState} from './services/diagnostics-s
3131import  { DownloadManager }  from  '../download-manager.service' ; 
3232import  { StackBlitzOpener }  from  '../stackblitz-opener.service' ; 
3333import  { ClickOutside ,  IconComponent }  from  '@angular/docs' ; 
34+ import  { CdkMenu ,  CdkMenuItem ,  CdkMenuTrigger }  from  '@angular/cdk/menu' ; 
35+ import  { IDXLauncher }  from  '../idx-launcher.service' ; 
3436
3537export  const  REQUIRED_FILES  =  new  Set ( [ 
3638 'src/main.ts' , 
@@ -46,7 +48,16 @@ const ANGULAR_DEV = 'https://angular.dev';
4648 templateUrl : './code-editor.component.html' , 
4749 styleUrls : [ './code-editor.component.scss' ] , 
4850 changeDetection : ChangeDetectionStrategy . OnPush , 
49-  imports : [ NgIf ,  NgFor ,  MatTabsModule ,  IconComponent ,  ClickOutside ] , 
51+  imports : [ 
52+  NgIf , 
53+  NgFor , 
54+  MatTabsModule , 
55+  IconComponent , 
56+  ClickOutside , 
57+  CdkMenu , 
58+  CdkMenuItem , 
59+  CdkMenuTrigger , 
60+  ] , 
5061} ) 
5162export  class  CodeEditor  implements  AfterViewInit ,  OnDestroy  { 
5263 @ViewChild ( 'codeEditorWrapper' )  private  codeEditorWrapperRef ! : ElementRef < HTMLDivElement > ; 
@@ -78,6 +89,7 @@ export class CodeEditor implements AfterViewInit, OnDestroy {
7889 private  readonly  diagnosticsState  =  inject ( DiagnosticsState ) ; 
7990 private  readonly  downloadManager  =  inject ( DownloadManager ) ; 
8091 private  readonly  stackblitzOpener  =  inject ( StackBlitzOpener ) ; 
92+  private  readonly  idxLauncher  =  inject ( IDXLauncher ) ; 
8193 private  readonly  title  =  inject ( Title ) ; 
8294 private  readonly  location  =  inject ( Location ) ; 
8395 private  readonly  embeddedTutorialManager  =  inject ( EmbeddedTutorialManager ) ; 
@@ -117,6 +129,9 @@ export class CodeEditor implements AfterViewInit, OnDestroy {
117129 this . codeMirrorEditor . disable ( ) ; 
118130 } 
119131
132+  openCurrentSolutionInIDX ( ) : void { 
133+  this . idxLauncher . openCurrentSolutionInIDX ( ) ; 
134+  } 
120135 async  openCurrentCodeInStackBlitz ( ) : Promise < void >  { 
121136 const  title  =  this . title . getTitle ( ) ; 
122137
0 commit comments