From 2f6cbf529646c408abc5e64734f4f3fdbe470a53 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Thu, 14 May 2020 23:02:05 +0100 Subject: [PATCH 1/2] Tweak whitespaceAroundPipe settings migration logic to do it only once --- src/session.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/session.ts b/src/session.ts index 792bf3a026..6d3577f2fc 100644 --- a/src/session.ts +++ b/src/session.ts @@ -324,8 +324,8 @@ export class SessionManager implements Middleware { private async migrateWhitespaceAroundPipeSetting() { const configuration = vscode.workspace.getConfiguration(utils.PowerShellLanguageId); const deprecatedSetting = 'codeFormatting.whitespaceAroundPipe' - if (configuration.has(deprecatedSetting) && !configuration.has('codeFormatting.addWhitespaceAroundPipe')) { - const configurationTarget = await Settings.getEffectiveConfigurationTarget(deprecatedSetting); + const configurationTarget = await Settings.getEffectiveConfigurationTarget(deprecatedSetting); + if (configuration.has(deprecatedSetting) && configurationTarget != null) { const value = configuration.get(deprecatedSetting, configurationTarget) await Settings.change('codeFormatting.addWhitespaceAroundPipe', value, configurationTarget); } From 5d752cb5fdebd0df5905cc6dafdd17a13dda74d5 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Thu, 14 May 2020 23:10:21 +0100 Subject: [PATCH 2/2] refactor --- src/session.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/session.ts b/src/session.ts index 6d3577f2fc..2a496daeea 100644 --- a/src/session.ts +++ b/src/session.ts @@ -324,10 +324,12 @@ export class SessionManager implements Middleware { private async migrateWhitespaceAroundPipeSetting() { const configuration = vscode.workspace.getConfiguration(utils.PowerShellLanguageId); const deprecatedSetting = 'codeFormatting.whitespaceAroundPipe' - const configurationTarget = await Settings.getEffectiveConfigurationTarget(deprecatedSetting); - if (configuration.has(deprecatedSetting) && configurationTarget != null) { + const newSetting = 'codeFormatting.addWhitespaceAroundPipe' + const configurationTargetOfNewSetting = await Settings.getEffectiveConfigurationTarget(newSetting); + if (configuration.has(deprecatedSetting) && configurationTargetOfNewSetting === null) { + const configurationTarget = await Settings.getEffectiveConfigurationTarget(deprecatedSetting); const value = configuration.get(deprecatedSetting, configurationTarget) - await Settings.change('codeFormatting.addWhitespaceAroundPipe', value, configurationTarget); + await Settings.change(newSetting, value, configurationTarget); } }