Skip to content

Commit 6331e1d

Browse files
Fix migration of codeFormatting.addWhitespaceAroundPipe setting (#2863)
1 parent 68a8e15 commit 6331e1d

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

src/features/RemoteFiles.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class RemoteFilesFeature extends LanguageClientConsumer {
3838
this.closeRemoteFiles();
3939

4040
vscode.workspace.onDidSaveTextDocument((doc) => {
41-
if (this.languageClient && this.isDocumentRemote(doc)) {
41+
if (this.isDocumentRemote(doc) && this.languageClient) {
4242
this.languageClient.sendNotification(
4343
DidSaveTextDocumentNotificationType,
4444
{

src/session.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -332,11 +332,11 @@ export class SessionManager implements Middleware {
332332
const deprecatedSetting = 'codeFormatting.whitespaceAroundPipe'
333333
const newSetting = 'codeFormatting.addWhitespaceAroundPipe'
334334
const configurationTargetOfNewSetting = await Settings.getEffectiveConfigurationTarget(newSetting);
335-
if (configuration.has(deprecatedSetting) && configurationTargetOfNewSetting === null) {
336-
const configurationTarget = await Settings.getEffectiveConfigurationTarget(deprecatedSetting);
337-
const value = configuration.get(deprecatedSetting, configurationTarget)
338-
await Settings.change(newSetting, value, configurationTarget);
339-
await Settings.change(deprecatedSetting, undefined, configurationTarget);
335+
const configurationTargetOfOldSetting = await Settings.getEffectiveConfigurationTarget(deprecatedSetting);
336+
if (configurationTargetOfOldSetting !== null && configurationTargetOfNewSetting === null) {
337+
const value = configuration.get(deprecatedSetting, configurationTargetOfOldSetting)
338+
await Settings.change(newSetting, value, configurationTargetOfOldSetting);
339+
await Settings.change(deprecatedSetting, undefined, configurationTargetOfOldSetting);
340340
}
341341
}
342342

test/settings.test.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*--------------------------------------------------------*/
44

55
import * as assert from "assert";
6-
import { IPowerShellExeDetails } from "../src/platform";
6+
import * as vscode from "vscode";
77
import Settings = require("../src/settings");
88

99
suite("Settings module", () => {
@@ -34,4 +34,14 @@ suite("Settings module", () => {
3434
await Settings.change("powerShellAdditionalExePaths", psExeDetails, true);
3535
assert.strictEqual(Settings.load().powerShellAdditionalExePaths[0].versionName, psExeDetails[0].versionName);
3636
});
37+
38+
test("Can get effective configuration target", async () => {
39+
await Settings.change("helpCompletion", "LineComment", false);
40+
let target = await Settings.getEffectiveConfigurationTarget("helpCompletion");
41+
assert.strictEqual(target, vscode.ConfigurationTarget.Workspace);
42+
43+
await Settings.change("helpCompletion", undefined, false);
44+
target = await Settings.getEffectiveConfigurationTarget("helpCompletion");
45+
assert.strictEqual(target, null);
46+
});
3747
});

0 commit comments

Comments
 (0)