66import { Disposable , IDisposable , dispose } from 'vs/base/common/lifecycle' ;
77import { Emitter } from 'vs/base/common/event' ;
88import { ILogService , LogLevel } from 'vs/platform/log/common/log' ;
9- import { IWorkspaceStorageChangeEvent , IStorageService , StorageScope , IWillSaveStateEvent , WillSaveStateReason , logStorage , WorkspaceStorageSettings } from 'vs/platform/storage/common/storage' ;
9+ import { IWorkspaceStorageChangeEvent , IStorageService , StorageScope , IWillSaveStateEvent , WillSaveStateReason , logStorage } from 'vs/platform/storage/common/storage' ;
1010import { SQLiteStorageDatabase , ISQLiteStorageDatabaseLoggingOptions } from 'vs/base/parts/storage/node/storage' ;
1111import { Storage , IStorageDatabase , IStorage , StorageHint } from 'vs/base/parts/storage/common/storage' ;
1212import { mark } from 'vs/base/common/performance' ;
@@ -25,6 +25,8 @@ export class NativeStorageService extends Disposable implements IStorageService
2525 private static readonly WORKSPACE_STORAGE_NAME = 'state.vscdb' ;
2626 private static readonly WORKSPACE_META_NAME = 'workspace.json' ;
2727
28+ private static readonly WORKSPACE_IS_NEW_KEY = '__$__isNewStorageMarker' ;
29+
2830 private readonly _onDidChangeStorage = this . _register ( new Emitter < IWorkspaceStorageChangeEvent > ( ) ) ;
2931 readonly onDidChangeStorage = this . _onDidChangeStorage . event ;
3032
@@ -106,11 +108,11 @@ export class NativeStorageService extends Disposable implements IStorageService
106108 await workspaceStorage . init ( ) ;
107109
108110 // Check to see if this is the first time we are "opening" this workspace
109- const firstOpen = workspaceStorage . getBoolean ( WorkspaceStorageSettings . WORKSPACE_FIRST_OPEN ) ;
111+ const firstOpen = workspaceStorage . getBoolean ( NativeStorageService . WORKSPACE_IS_NEW_KEY ) ;
110112 if ( firstOpen === undefined ) {
111- workspaceStorage . set ( WorkspaceStorageSettings . WORKSPACE_FIRST_OPEN , ! result . wasCreated ) ;
113+ workspaceStorage . set ( NativeStorageService . WORKSPACE_IS_NEW_KEY , result . wasCreated ) ;
112114 } else if ( firstOpen ) {
113- workspaceStorage . set ( WorkspaceStorageSettings . WORKSPACE_FIRST_OPEN , false ) ;
115+ workspaceStorage . set ( NativeStorageService . WORKSPACE_IS_NEW_KEY , false ) ;
114116 }
115117 } finally {
116118 mark ( 'didInitWorkspaceStorage' ) ;
@@ -278,4 +280,8 @@ export class NativeStorageService extends Disposable implements IStorageService
278280 // Recreate and init workspace storage
279281 return this . createWorkspaceStorage ( newWorkspaceStoragePath ) . init ( ) ;
280282 }
283+
284+ isNew ( scope : StorageScope . WORKSPACE ) : boolean {
285+ return this . getBoolean ( NativeStorageService . WORKSPACE_IS_NEW_KEY , scope ) === true ;
286+ }
281287}
0 commit comments