diff --git a/extensions/typescript-language-features/src/features/completions.ts b/extensions/typescript-language-features/src/features/completions.ts index e25bd996c386f62ecd22d82f589172f43f323914..97051395de99e01f9ca3c278385c1f0ae9b5a20f 100644 --- a/extensions/typescript-language-features/src/features/completions.ts +++ b/extensions/typescript-language-features/src/features/completions.ts @@ -380,7 +380,6 @@ interface CompletionConfiguration { readonly nameSuggestions: boolean; readonly pathSuggestions: boolean; readonly autoImportSuggestions: boolean; - readonly includeAutomaticOptionalChainCompletions: boolean; } namespace CompletionConfiguration { @@ -388,7 +387,6 @@ namespace CompletionConfiguration { export const nameSuggestions = 'suggest.names'; export const pathSuggestions = 'suggest.paths'; export const autoImportSuggestions = 'suggest.autoImports'; - export const includeAutomaticOptionalChainCompletions = 'suggest.includeAutomaticOptionalChainCompletions'; export function getConfigurationForResource( modeId: string, @@ -400,7 +398,6 @@ namespace CompletionConfiguration { pathSuggestions: config.get(CompletionConfiguration.pathSuggestions, true), autoImportSuggestions: config.get(CompletionConfiguration.autoImportSuggestions, true), nameSuggestions: config.get(CompletionConfiguration.nameSuggestions, true), - includeAutomaticOptionalChainCompletions: config.get(CompletionConfiguration.includeAutomaticOptionalChainCompletions, true), }; } } @@ -456,12 +453,11 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider< await this.client.interruptGetErr(() => this.fileConfigurationManager.ensureConfigurationForDocument(document, token)); - const args: Proto.CompletionsRequestArgs & { includeAutomaticOptionalChainCompletions?: boolean } = { + const args: Proto.CompletionsRequestArgs = { ...typeConverters.Position.toFileLocationRequestArgs(file, position), includeExternalModuleExports: completionConfiguration.autoImportSuggestions, includeInsertTextCompletions: true, triggerCharacter: this.getTsTriggerCharacter(context), - includeAutomaticOptionalChainCompletions: completionConfiguration.includeAutomaticOptionalChainCompletions, }; let isNewIdentifierLocation = true; diff --git a/extensions/typescript-language-features/src/features/fileConfigurationManager.ts b/extensions/typescript-language-features/src/features/fileConfigurationManager.ts index 686c35e18edbe5f1e6dbf3045bc14ce2dac4b205..aae8d16b728d1f671dd54b6a04ebc289e073b3ee 100644 --- a/extensions/typescript-language-features/src/features/fileConfigurationManager.ts +++ b/extensions/typescript-language-features/src/features/fileConfigurationManager.ts @@ -176,16 +176,21 @@ export default class FileConfigurationManager extends Disposable { } const config = vscode.workspace.getConfiguration( + isTypeScriptDocument(document) ? 'typescript' : 'javascript', + document.uri); + + const preferencesConfig = vscode.workspace.getConfiguration( isTypeScriptDocument(document) ? 'typescript.preferences' : 'javascript.preferences', document.uri); const preferences: Proto.UserPreferences = { - quotePreference: this.getQuoteStylePreference(config), - importModuleSpecifierPreference: getImportModuleSpecifierPreference(config), - importModuleSpecifierEnding: getImportModuleSpecifierEndingPreference(config), + quotePreference: this.getQuoteStylePreference(preferencesConfig), + importModuleSpecifierPreference: getImportModuleSpecifierPreference(preferencesConfig), + importModuleSpecifierEnding: getImportModuleSpecifierEndingPreference(preferencesConfig), allowTextChangesInNewFiles: document.uri.scheme === fileSchemes.file, - providePrefixAndSuffixTextForRename: config.get('renameShorthandProperties', true) === false ? false : config.get('useAliasesForRenames', true), + providePrefixAndSuffixTextForRename: preferencesConfig.get('renameShorthandProperties', true) === false ? false : preferencesConfig.get('useAliasesForRenames', true), allowRenameOfImportPath: true, + includeAutomaticOptionalChainCompletions: config.get('suggest.includeAutomaticOptionalChainCompletions', true), }; return preferences;