@@ -418,33 +418,35 @@ export class SettingsSynchroniser extends AbstractJsonFileSynchroniser {
418418 }
419419
420420 async recoverSettings ( ) : Promise < void > {
421- const fileContent = await this . getLocalFileContent ( ) ;
422- if ( ! fileContent ) {
423- return ;
424- }
421+ try {
422+ const fileContent = await this . getLocalFileContent ( ) ;
423+ if ( ! fileContent ) {
424+ return ;
425+ }
425426
426- const syncData : ISyncData = JSON . parse ( fileContent . value . toString ( ) ) ;
427- if ( ! isSyncData ( syncData ) ) {
428- return ;
429- }
427+ const syncData : ISyncData = JSON . parse ( fileContent . value . toString ( ) ) ;
428+ if ( ! isSyncData ( syncData ) ) {
429+ return ;
430+ }
430431
431- const settingsSyncContent = this . parseSettingsSyncContent ( syncData . content ) ;
432- if ( ! settingsSyncContent ) {
433- return ;
434- }
432+ const settingsSyncContent = this . parseSettingsSyncContent ( syncData . content ) ;
433+ if ( ! settingsSyncContent || ! settingsSyncContent . settings ) {
434+ return ;
435+ }
435436
436- let settings = settingsSyncContent . settings ;
437- const formattingOptions = await this . getFormattingOptions ( ) ;
438- for ( const key in syncData ) {
439- if ( [ 'version' , 'content' , 'machineId' ] . indexOf ( key ) === - 1 && ( syncData as any ) [ key ] !== undefined ) {
440- const edits : Edit [ ] = setProperty ( settings , [ key ] , ( syncData as any ) [ key ] , formattingOptions ) ;
441- if ( edits . length ) {
442- settings = applyEdits ( settings , edits ) ;
437+ let settings = settingsSyncContent . settings ;
438+ const formattingOptions = await this . getFormattingOptions ( ) ;
439+ for ( const key in syncData ) {
440+ if ( [ 'version' , 'content' , 'machineId' ] . indexOf ( key ) === - 1 && ( syncData as any ) [ key ] !== undefined ) {
441+ const edits : Edit [ ] = setProperty ( settings , [ key ] , ( syncData as any ) [ key ] , formattingOptions ) ;
442+ if ( edits . length ) {
443+ settings = applyEdits ( settings , edits ) ;
444+ }
443445 }
444446 }
445- }
446447
447- await this . fileService . writeFile ( this . file , VSBuffer . fromString ( settings ) ) ;
448+ await this . fileService . writeFile ( this . file , VSBuffer . fromString ( settings ) ) ;
449+ } catch ( e ) { /* ignore */ }
448450 }
449451}
450452
0 commit comments