44 * ------------------------------------------------------------------------------------------ */
55
66import * as vscode from 'vscode' ;
7+ import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override' ;
8+ import getDebugServiceOverride from '@codingame/monaco-vscode-debug-service-override' ;
79import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override' ;
10+ import getLifecycleServiceOverride from '@codingame/monaco-vscode-lifecycle-service-override' ;
11+ import getLocalizationServiceOverride from '@codingame/monaco-vscode-localization-service-override' ;
12+ import getBannerServiceOverride from '@codingame/monaco-vscode-view-banner-service-override' ;
13+ import getStatusBarServiceOverride from '@codingame/monaco-vscode-view-status-bar-service-override' ;
14+ import getTitleBarServiceOverride from '@codingame/monaco-vscode-view-title-bar-service-override' ;
15+ import getExplorerServiceOverride from '@codingame/monaco-vscode-explorer-service-override' ;
16+ import getRemoteAgentServiceOverride from '@codingame/monaco-vscode-remote-agent-service-override' ;
17+ import getEnvironmentServiceOverride from '@codingame/monaco-vscode-environment-service-override' ;
18+ import getSecretStorageServiceOverride from '@codingame/monaco-vscode-secret-storage-service-override' ;
19+ import getStorageServiceOverride from '@codingame/monaco-vscode-storage-service-override' ;
20+ import getSearchServiceOverride from '@codingame/monaco-vscode-search-service-override' ;
821import '@codingame/monaco-vscode-python-default-extension' ;
922import { LogLevel } from '@codingame/monaco-vscode-api' ;
1023import { MonacoLanguageClient } from 'monaco-languageclient' ;
1124import { createUrl } from 'monaco-languageclient/tools' ;
1225import type { WrapperConfig } from 'monaco-editor-wrapper' ;
1326import { toSocket , WebSocketMessageReader , WebSocketMessageWriter } from 'vscode-ws-jsonrpc' ;
1427import { configureMonacoWorkers } from '../../common/client/utils.js' ;
28+ import { defaultHtmlAugmentationInstructions , defaultViewsInit } from 'monaco-editor-wrapper/vscode/services' ;
29+ import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscode/services' ;
30+ import { provideDebuggerExtensionConfig } from '../../debugger/client/debugger.js' ;
1531
1632export const createWrapperConfig = ( workspaceRoot : string , code : string , codeUri : string ) : WrapperConfig => {
1733 const url = createUrl ( {
@@ -28,6 +44,8 @@ export const createWrapperConfig = (workspaceRoot: string, code: string, codeUri
2844 const reader = new WebSocketMessageReader ( iWebSocket ) ;
2945 const writer = new WebSocketMessageWriter ( iWebSocket ) ;
3046
47+ const workspaceFile = vscode . Uri . file ( '/home/mlc/workspace/.vscode/workspace.code-workspace' ) ;
48+
3149 return {
3250 $type : 'extended' ,
3351 htmlContainer : document . getElementById ( 'monaco-editor-root' ) ! ,
@@ -66,7 +84,25 @@ export const createWrapperConfig = (workspaceRoot: string, code: string, codeUri
6684 } ,
6785 vscodeApiConfig : {
6886 serviceOverrides : {
69- ...getKeybindingsServiceOverride ( )
87+ ...getConfigurationServiceOverride ( ) ,
88+ ...getKeybindingsServiceOverride ( ) ,
89+ ...getLifecycleServiceOverride ( ) ,
90+ ...getLocalizationServiceOverride ( createDefaultLocaleConfiguration ( ) ) ,
91+ ...getBannerServiceOverride ( ) ,
92+ ...getStatusBarServiceOverride ( ) ,
93+ ...getTitleBarServiceOverride ( ) ,
94+ ...getExplorerServiceOverride ( ) ,
95+ ...getRemoteAgentServiceOverride ( ) ,
96+ ...getEnvironmentServiceOverride ( ) ,
97+ ...getSecretStorageServiceOverride ( ) ,
98+ ...getStorageServiceOverride ( ) ,
99+ ...getSearchServiceOverride ( ) ,
100+ ...getDebugServiceOverride ( )
101+ } ,
102+ viewsConfig : {
103+ viewServiceType : 'ViewsService' ,
104+ htmlAugmentationInstructions : defaultHtmlAugmentationInstructions ,
105+ viewsInitFunc : defaultViewsInit
70106 } ,
71107 userConfiguration : {
72108 json : JSON . stringify ( {
@@ -75,8 +111,46 @@ export const createWrapperConfig = (workspaceRoot: string, code: string, codeUri
75111 'editor.wordBasedSuggestions' : 'off' ,
76112 'editor.experimental.asyncTokenization' : true
77113 } )
78- }
114+ } ,
115+ workspaceConfig : {
116+ enableWorkspaceTrust : true ,
117+ windowIndicator : {
118+ label : 'mlc-python-example' ,
119+ tooltip : '' ,
120+ command : ''
121+ } ,
122+ workspaceProvider : {
123+ trusted : true ,
124+ async open ( ) {
125+ window . open ( window . location . href ) ;
126+ return true ;
127+ } ,
128+ workspace : {
129+ workspaceUri : workspaceFile
130+ }
131+ } ,
132+ configurationDefaults : {
133+ 'window.title' : 'mlc-python-example${separator}${dirty}${activeEditorShort}'
134+ } ,
135+ productConfiguration : {
136+ nameShort : 'mlc-python-example' ,
137+ nameLong : 'mlc-python-example'
138+ }
139+ } ,
79140 } ,
141+ extensions : [
142+ {
143+ config : {
144+ name : 'mlc-app-playground' ,
145+ publisher : 'TypeFox' ,
146+ version : '1.0.0' ,
147+ engines : {
148+ vscode : '*'
149+ }
150+ }
151+ } ,
152+ provideDebuggerExtensionConfig ( )
153+ ] ,
80154 editorAppConfig : {
81155 codeResources : {
82156 modified : {
0 commit comments