From a5aa8f5456058d9ba13fe2d86ba80552ea24e63e Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 21 Jul 2020 10:46:15 +0200 Subject: [PATCH] Fixes #102920 --- src/vs/editor/common/config/commonEditorConfig.ts | 2 +- src/vs/editor/common/config/editorOptions.ts | 6 +++--- .../test/common/config/commonEditorConfig.test.ts | 11 +++++++++++ src/vs/monaco.d.ts | 6 +++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/vs/editor/common/config/commonEditorConfig.ts b/src/vs/editor/common/config/commonEditorConfig.ts index 121365ddbc6..3bde5dfd839 100644 --- a/src/vs/editor/common/config/commonEditorConfig.ts +++ b/src/vs/editor/common/config/commonEditorConfig.ts @@ -381,7 +381,7 @@ export abstract class CommonEditorConfiguration extends Disposable implements IC } continue; } - if (typeof baseValue === 'object' && typeof subsetValue === 'object') { + if (baseValue && typeof baseValue === 'object' && subsetValue && typeof subsetValue === 'object') { if (!this._subsetEquals(baseValue, subsetValue)) { return false; } diff --git a/src/vs/editor/common/config/editorOptions.ts b/src/vs/editor/common/config/editorOptions.ts index a366e265674..6176dcd8fa0 100644 --- a/src/vs/editor/common/config/editorOptions.ts +++ b/src/vs/editor/common/config/editorOptions.ts @@ -2572,9 +2572,9 @@ class EditorPixelRatio extends ComputedEditorOption>; diff --git a/src/vs/editor/test/common/config/commonEditorConfig.test.ts b/src/vs/editor/test/common/config/commonEditorConfig.test.ts index c0196b37bd1..d0edc8f44c0 100644 --- a/src/vs/editor/test/common/config/commonEditorConfig.test.ts +++ b/src/vs/editor/test/common/config/commonEditorConfig.test.ts @@ -211,4 +211,15 @@ suite('Common Editor Config', () => { strings: false }); }); + + test('issue #102920: Can\'t snap or split view with JSON files', () => { + const config = new TestConfiguration({ quickSuggestions: null! }); + config.updateOptions({ quickSuggestions: { strings: true } }); + const actual = >>config.options.get(EditorOption.quickSuggestions); + assert.deepEqual(actual, { + other: true, + comments: false, + strings: true + }); + }); }); diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index d410ae9a711..0593f65eb4a 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -3557,9 +3557,9 @@ declare namespace monaco.editor { * Configuration options for quick suggestions */ export interface IQuickSuggestionsOptions { - other: boolean; - comments: boolean; - strings: boolean; + other?: boolean; + comments?: boolean; + strings?: boolean; } export type ValidQuickSuggestionsOptions = boolean | Readonly>;