diff --git a/extensions/configuration-editing/src/settingsDocumentHelper.ts b/extensions/configuration-editing/src/settingsDocumentHelper.ts index 32c6ac14854..5f9cc61c9a9 100644 --- a/extensions/configuration-editing/src/settingsDocumentHelper.ts +++ b/extensions/configuration-editing/src/settingsDocumentHelper.ts @@ -151,9 +151,18 @@ export class SettingsDocument { private provideLanguageCompletionItems(location: Location, range: vscode.Range, formatFunc: (string: string) => string = (l) => JSON.stringify(l)): vscode.ProviderResult { return vscode.languages.getLanguages().then(languages => { - return languages.map(l => { - return this.newSimpleCompletionItem(formatFunc(l), range); - }); + const completionItems = []; + const configuration = vscode.workspace.getConfiguration(); + for (const language of languages) { + const inspect = configuration.inspect(`[${language}]`); + if (!inspect || !inspect.defaultValue) { + const item = new vscode.CompletionItem(formatFunc(language)); + item.kind = vscode.CompletionItemKind.Property; + item.range = range; + completionItems.push(item); + } + } + return completionItems; }); }