1- import { ILogService , LogLevel , StandaloneServices , initialize as initializeMonacoService } from 'vscode/services'
1+ import { ILogService , IStorageService , LogLevel , StandaloneServices , getService , initialize as initializeMonacoService } from 'vscode/services'
22import { initialize as initializeVscodeExtensions } from 'vscode/extensions'
33import getModelServiceOverride from 'vscode/service-override/model'
44import getNotificationServiceOverride from 'vscode/service-override/notifications'
@@ -26,7 +26,7 @@ import getSearchServiceOverride from 'vscode/service-override/search'
2626import getMarkersServiceOverride from 'vscode/service-override/markers'
2727import getAccessibilityServiceOverride from 'vscode/service-override/accessibility'
2828import getLanguageDetectionWorkerServiceOverride from 'vscode/service-override/languageDetectionWorker'
29- import getStorageServiceOverride , { IStorageItemsChangeEvent , StorageScope } from 'vscode/service-override/storage'
29+ import getStorageServiceOverride , { BrowserStorageService } from 'vscode/service-override/storage'
3030import getExtensionServiceOverride from 'vscode/service-override/extensions'
3131import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker.js?worker'
3232import TextMateWorker from 'vscode/workers/textMate.worker?worker'
@@ -56,8 +56,6 @@ window.MonacoEnvironment = {
5656 }
5757}
5858
59- const onStorageChange = new monaco . Emitter < IStorageItemsChangeEvent > ( )
60-
6159// Override services
6260await initializeMonacoService ( {
6361 ...getExtensionServiceOverride ( toWorkerConfig ( ExtensionHostWorker ) ) ,
@@ -84,27 +82,12 @@ await initializeMonacoService({
8482 ...getMarkersServiceOverride ( ) ,
8583 ...getAccessibilityServiceOverride ( ) ,
8684 ...getLanguageDetectionWorkerServiceOverride ( ) ,
87- ...getStorageServiceOverride ( {
88- read ( scope ) {
89- return new Map ( Object . entries ( JSON . parse ( localStorage . getItem ( `storage-${ scope } ` ) ?? '{}' ) ) )
90- } ,
91- async write ( scope , data ) {
92- localStorage . setItem ( `storage-${ scope } ` , JSON . stringify ( Object . fromEntries ( data . entries ( ) ) ) )
93- } ,
94- onDidChange : onStorageChange . event
95- } )
85+ ...getStorageServiceOverride ( )
9686} )
9787StandaloneServices . get ( ILogService ) . setLevel ( LogLevel . Off )
9888
99- export function clearStorage ( ) : void {
100- const allKeys = new Set ( [ StorageScope . APPLICATION , StorageScope . PROFILE , StorageScope . WORKSPACE ] . flatMap ( scope => Object . keys ( JSON . parse ( localStorage . getItem ( `storage-${ scope } ` ) ?? '{}' ) ) ) )
101- localStorage . removeItem ( `storage-${ StorageScope . APPLICATION } ` )
102- localStorage . removeItem ( `storage-${ StorageScope . PROFILE } ` )
103- localStorage . removeItem ( `storage-${ StorageScope . WORKSPACE } ` )
104- onStorageChange . fire ( {
105- deleted : allKeys ,
106- changed : new Map ( )
107- } )
89+ export async function clearStorage ( ) : Promise < void > {
90+ await ( await getService ( IStorageService ) as BrowserStorageService ) . clear ( )
10891}
10992
11093await initializeVscodeExtensions ( )
0 commit comments