Change:
Add an unrecognized setting to See that it is correctly dimmed with no warning underline Add it to a language-specific settings block There is a warning, "This setting does not support per-language configuration which is misleading" !
Yeah, this feature is not supported for language specific settings.
To verify: Open and have following snippetMake sure first two settings and are shown dimmed with proper message.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Discussion:
properties: {} }; this.configurationContributors = [this.defaultLanguageConfigurationOverridesNode]; <del> this.resourceLanguageSettingsSchema = { properties: {}, patternProperties: {}, additionalProperties: false, errorMessage: 'Unknown editor configuration setting', allowTrailingCommas: true, allowComments: true }; </del> <ins> this.resourceLanguageSettingsSchema = { properties: {}, patternProperties: {}, additionalProperties: true, allowTrailingCommas: true, allowComments: true }; </ins> this.configurationProperties = {}; this.policyConfigurations = new Map<PolicyName, string>(); this.excludedConfigurationProperties = {};

import { CodeActionKind } from 'vs/editor/contrib/codeAction/common/types'; import * as nls from 'vs/nls'; import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration'; <del> import { ConfigurationScope, Extensions as ConfigurationExtensions, IConfigurationPropertySchema, IConfigurationRegistry, overrideIdentifiersFromKey, OVERRIDE_PROPERTY_REGEX } from 'vs/platform/configuration/common/configurationRegistry'; </del> <ins> import { ConfigurationScope, Extensions as ConfigurationExtensions, IConfigurationPropertySchema, IConfigurationRegistry, IRegisteredConfigurationPropertySchema, overrideIdentifiersFromKey, OVERRIDE_PROPERTY_REGEX } from 'vs/platform/configuration/common/configurationRegistry'; </ins> import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IMarkerData, IMarkerService, MarkerSeverity, MarkerTag } from 'vs/platform/markers/common/markers';

import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile'; import { isEqual } from 'vs/base/common/resources'; import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile'; <ins> import { IStringDictionary } from 'vs/base/common/collections'; </ins> export interface IPreferencesRenderer extends IDisposable { render(): void;

for (const settingsGroup of this.settingsEditorModel.settingsGroups) { for (const section of settingsGroup.sections) { for (const setting of section.settings) { <ins> if (OVERRIDE_PROPERTY_REGEX.test(setting.key)) { if (setting.overrides) { this.handleOverrides(setting.overrides, configurationRegistry, markerData); } continue; } </ins> const configuration = configurationRegistry[setting.key]; if (configuration) { if (this.handlePolicyConfiguration(setting, configuration, markerData)) {

this.handleWorkspaceFolderConfiguration(setting, configuration, markerData); break; } <del> } else if (!OVERRIDE_PROPERTY_REGEX.test(setting.key)) { // Ignore override settings (language specific settings) markerData.push({ severity: MarkerSeverity.Hint, tags: [MarkerTag.Unnecessary], ...setting.range, message: nls.localize('unknown configuration setting', "Unknown Configuration Setting") }); </del> <ins> } else { markerData.push(this.gemerateUnknownConfigurationMarker(setting)); </ins> } } }

return true; } <ins> private handleOverrides(overrides: ISetting[], configurationRegistry: IStringDictionary<IRegisteredConfigurationPropertySchema>, markerData: IMarkerData[]): void { for (const setting of overrides || []) { const configuration = configurationRegistry[setting.key]; if (configuration) { if (configuration.scope !== ConfigurationScope.LANGUAGE_OVERRIDABLE) { markerData.push({ severity: MarkerSeverity.Hint, tags: [MarkerTag.Unnecessary], ...setting.range, message: nls.localize('unsupportLanguageOverrideSetting', "This setting cannot be applied because it is not registered as language override setting.") }); } } else { markerData.push(this.gemerateUnknownConfigurationMarker(setting)); } } } </ins> private handleLocalUserConfiguration(setting: ISetting, configuration: IConfigurationPropertySchema, markerData: IMarkerData[]): void { if (!this.userDataProfileService.currentProfile.isDefault) { if (isEqual(this.userDataProfilesService.defaultProfile.settingsResource, this.settingsEditorModel.uri) && configuration.scope !== ConfigurationScope.APPLICATION) {

}; } <ins> private gemerateUnknownConfigurationMarker(setting: ISetting): IMarkerData { return { severity: MarkerSeverity.Hint, tags: [MarkerTag.Unnecessary], ...setting.range, message: nls.localize('unknown configuration setting', "Unknown Configuration Setting") }; } </ins> private generateUntrustedSettingCodeActions(diagnostics: IMarkerData[]): languages.CodeAction[] { return [{ title: nls.localize('manage workspace trust', "Manage Workspace Trust"),