Skip to content

Commit 1275cec

Browse files
authored
Fix reseting of settings (#1546)
Fix logic to reset these when changed, also consider if default value when reseting. This causes backgroundCompilation on in test project to get removed since that is the default
1 parent bf2680e commit 1275cec

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

assets/test/.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
"-DTEST_ARGUMENT_SET_VIA_TEST_BUILD_ARGUMENTS_SETTING"
99
],
1010
"lldb.verboseLogging": true,
11-
"swift.backgroundCompilation": false
11+
"swift.sourcekit-lsp.backgroundIndexing": "off"
1212
}

test/integration-tests/utilities/testutilities.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ const extensionBootstrapper = (() => {
140140
if (autoTeardown) {
141141
await autoTeardown();
142142
}
143+
await waitForNoRunningTasks();
143144
} catch (error) {
144145
if (workspaceContext) {
145146
printLogs(workspaceContext.outputChannel, "Error during test/suite teardown");
@@ -340,10 +341,13 @@ export async function updateSettings(settings: SettingsMap): Promise<() => Promi
340341
for (const setting of Object.keys(settings)) {
341342
const { section, name } = decomposeSettingName(setting);
342343
const config = vscode.workspace.getConfiguration(section, { languageId: "swift" });
343-
savedOriginalSettings[setting] = config.get(name);
344+
const inspectedSetting = vscode.workspace
345+
.getConfiguration(section, { languageId: "swift" })
346+
.inspect(name);
347+
savedOriginalSettings[setting] = inspectedSetting?.workspaceValue;
344348
await config.update(
345349
name,
346-
settings[setting] === "" ? undefined : settings[setting],
350+
!settings[setting] ? undefined : settings[setting],
347351
vscode.ConfigurationTarget.Workspace
348352
);
349353
}

0 commit comments

Comments
 (0)