diff --git a/extensions/json-language-features/client/src/jsonClient.ts b/extensions/json-language-features/client/src/jsonClient.ts index 0741cb8743b..068fe11cbf1 100644 --- a/extensions/json-language-features/client/src/jsonClient.ts +++ b/extensions/json-language-features/client/src/jsonClient.ts @@ -71,6 +71,9 @@ namespace SettingIds { export const enableFormatter = 'json.format.enable'; export const enableSchemaDownload = 'json.schemaDownload.enable'; export const maxItemsComputed = 'json.maxItemsComputed'; +} + +namespace StorageIds { export const maxItemsExceededInformation = 'json.maxItemsExceededInformation'; } @@ -300,14 +303,14 @@ export function startClient(context: ExtensionContext, newLanguageClient: Langua })); client.onNotification(ResultLimitReachedNotification.type, async message => { - const shouldPrompt = workspace.getConfiguration().get(SettingIds.maxItemsExceededInformation) !== false; + const shouldPrompt = context.globalState.get(StorageIds.maxItemsExceededInformation) !== false; if (shouldPrompt) { const ok = localize('ok', "Ok"); const openSettings = localize('goToSetting', 'Open Settings'); const neverAgain = localize('yes never again', "Don't Show Again"); const pick = await window.showInformationMessage(`${message}\n${localize('configureLimit', 'Use setting \'{0}\' to configure the limit.', SettingIds.maxItemsComputed)}`, ok, openSettings, neverAgain); if (pick === neverAgain) { - await workspace.getConfiguration().update(SettingIds.maxItemsExceededInformation, false, true); + await context.globalState.update(StorageIds.maxItemsExceededInformation, false); } else if (pick === openSettings) { await commands.executeCommand('workbench.action.openSettings', SettingIds.maxItemsComputed); } @@ -327,6 +330,8 @@ export function startClient(context: ExtensionContext, newLanguageClient: Langua range: client.code2ProtocolConverter.asRange(range), options: client.code2ProtocolConverter.asFormattingOptions(options) }; + params.options.insertFinalNewline = workspace.getConfiguration('files', document).get('insertFinalNewline'); + return client.sendRequest(DocumentRangeFormattingRequest.type, params, token).then( client.protocol2CodeConverter.asTextEdits, (error) => { diff --git a/extensions/json-language-features/package.json b/extensions/json-language-features/package.json index 72bdd6758a3..a8e3231a93a 100644 --- a/extensions/json-language-features/package.json +++ b/extensions/json-language-features/package.json @@ -97,11 +97,6 @@ "default": 5000, "description": "%json.maxItemsComputed.desc%" }, - "json.maxItemsExceededInformation": { - "type": "boolean", - "default": true, - "description": "%json.maxItemsExceededInformation.desc%" - }, "json.schemaDownload.enable": { "type": "boolean", "default": true,