Change:
assert.strictEqual(testObject.getValue('configurationService.profiles.testSetting'), 'profileValue2'); })); <ins> test('switch to non default profile using settings from default profile', () => runWithFakedTimers<void>({ useFakeTimers: true }, async () => { await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue", "configurationService.profiles.testSetting": "userValue" }')); await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "profileValue", "configurationService.profiles.testSetting": "profileValue" }')); await testObject.reloadConfiguration(); const profile = toUserDataProfile('custom3', 'custom3', joinPath(environmentService.userRoamingDataHome, 'profiles', 'custom2'), joinPath(environmentService.cacheHome, 'profilesCache'), { useDefaultFlags: { settings: true } }, instantiationService.get(IUserDataProfilesService).defaultProfile); await fileService.writeFile(profile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue2", "configurationService.profiles.testSetting": "profileValue2" }')); const promise = Event.toPromise(testObject.onDidChangeConfiguration); await userDataProfileService.updateCurrentProfile(profile); const changeEvent = await promise; assert.deepStrictEqual([...changeEvent.affectedKeys], ['configurationService.profiles.applicationSetting', 'configurationService.profiles.testSetting']); assert.strictEqual(testObject.getValue('configurationService.profiles.applicationSetting'), 'applicationValue2'); assert.strictEqual(testObject.getValue('configurationService.profiles.testSetting'), 'profileValue2'); })); </ins> test('In non-default profile, changing application settings shall include only application scope settings in the change event', () => runWithFakedTimers<void>({ useFakeTimers: true }, async () => { await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{}')); await testObject.reloadConfiguration();

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.82.0-insider Commit: Date: 2023-08-07T05:34:01.211Z Electron: 22.3.18 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Linux x64 5.15.0-78-generic OS version: ubuntu 22.04.3 LTS Steps to Reproduce: "Title Bar Style" settings of default profile to "custom" create a new profile, and uncheck settings(means using default profile settings). ! when click creat button, a pop up windows says "a settings has changed that requires a restart to take effect vscode" ! restart, and check "Title Bar Style" settings, find it is native ,and can't be changed. time switch profiles between default and other created profiled will popup the annoying "a settings has changed that requires a restart to take effect vscode" window, and only the default profile shows the custom title bar.
i start use user profile since 1.81.0, and i don't know if such bug also appears on early version. besides, vscode don't have this bug when on windows 11.
actually this bug is very annoying ,because, when switch to user profile whose "Title Bar Style" settings is forced to native, it has no menu bar at all! user can't do many operation throuth menu bar, because it is not there at all.

every thing is right when in default profile. !
it seems that windows 11 also has this problems. but the default "Title Bar Style" settings on windows is "custom",so it appears normally when switch between profiles (default profile "Title Bar Style" setting is custom ). i also find that when in user profile, change "Title Bar Style" settings in UI dose change contents, but it just don't influence the user profile currently on , it only influence default profile.
a guess is that when a profile is created with settings unchecked(use default profile settings), all settings with description " Applies to all profiles" will be forced to default value when the profile is switched on. !
it seems that this issue is the same bug with me
I suggest toggling and using symlink as a workaround for now. note: <profile_nameis a placeholder, replace with appropriate value !
I think I have the same problem or at least it's similar, it just happens the other way around... By default, I have the menu bar hidden, but when I create other profiles, the bar becomes visible.
Default profile ! Other profile !
To verify: Open window with default profile Change setting to non default value Restart application Create a profile that uses settings from default profile Make sure the application is not asked to restart Make sure the value of setting is set to the value that was set before.
yeahI follow your steps, change default profile to "manual", and when create a new profile that uses settings from default profile, vscode does ask to restart! and even worse is after restart, vscode is still in default profile, can't be changed to other profile. It seems that settings prohibits vscode swithing to created user profile. All tested on windows version , with vscode version 1.81.1