New config to turn off TypeScript autocomplete suggestions (#58011)
* New config to turn off TypeScript autocomplete suggestions * add missing semicolon * Exclude everything, even name suggestions, when suggestions disabled
This commit is contained in:
parent
d140d23129
commit
b9dbeb90d1
3 changed files with 14 additions and 2 deletions
|
@ -529,6 +529,12 @@
|
|||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.autoClosingTags%"
|
||||
},
|
||||
"typescript.suggestions.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.suggestions.enabled%",
|
||||
"scope": "resource"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -65,5 +65,6 @@
|
|||
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
|
||||
"typescript.updateImportsOnFileMove.enabled.always": "Always update paths automatically.",
|
||||
"typescript.updateImportsOnFileMove.enabled.never": "Never rename paths and don't prompt.",
|
||||
"typescript.autoClosingTags": "Enable/disable automatic closing of JSX tags. Requires using TypeScript 3.0 or newer in the workspace."
|
||||
"typescript.autoClosingTags": "Enable/disable automatic closing of JSX tags. Requires using TypeScript 3.0 or newer in the workspace.",
|
||||
"typescript.suggestions.enabled": "Enabled/disable autocomplete suggestions based on TypeScript"
|
||||
}
|
||||
|
|
|
@ -237,6 +237,7 @@ interface CompletionConfiguration {
|
|||
readonly nameSuggestions: boolean;
|
||||
readonly quickSuggestionsForPaths: boolean;
|
||||
readonly autoImportSuggestions: boolean;
|
||||
readonly typeScriptSuggestions: boolean;
|
||||
}
|
||||
|
||||
namespace CompletionConfiguration {
|
||||
|
@ -244,6 +245,7 @@ namespace CompletionConfiguration {
|
|||
export const nameSuggestions = 'nameSuggestions';
|
||||
export const quickSuggestionsForPaths = 'quickSuggestionsForPaths';
|
||||
export const autoImportSuggestions = 'autoImportSuggestions.enabled';
|
||||
export const typeScriptSuggestions = 'suggestions.enabled';
|
||||
|
||||
export function getConfigurationForResource(
|
||||
resource: vscode.Uri
|
||||
|
@ -254,6 +256,7 @@ namespace CompletionConfiguration {
|
|||
useCodeSnippetsOnMethodSuggest: typeScriptConfig.get<boolean>(CompletionConfiguration.useCodeSnippetsOnMethodSuggest, false),
|
||||
quickSuggestionsForPaths: typeScriptConfig.get<boolean>(CompletionConfiguration.quickSuggestionsForPaths, true),
|
||||
autoImportSuggestions: typeScriptConfig.get<boolean>(CompletionConfiguration.autoImportSuggestions, true),
|
||||
typeScriptSuggestions: typeScriptConfig.get<boolean>(CompletionConfiguration.typeScriptSuggestions, true),
|
||||
nameSuggestions: vscode.workspace.getConfiguration('javascript', resource).get(CompletionConfiguration.nameSuggestions, true)
|
||||
};
|
||||
}
|
||||
|
@ -605,7 +608,9 @@ function shouldExcludeCompletionEntry(
|
|||
completionConfiguration: CompletionConfiguration
|
||||
) {
|
||||
return (
|
||||
(!completionConfiguration.nameSuggestions && element.kind === PConst.Kind.warning)
|
||||
// if TypeScript suggestions turned off, exclude every suggestion
|
||||
!completionConfiguration.typeScriptSuggestions
|
||||
|| (!completionConfiguration.nameSuggestions && element.kind === PConst.Kind.warning)
|
||||
|| (!completionConfiguration.quickSuggestionsForPaths &&
|
||||
(element.kind === PConst.Kind.directory || element.kind === PConst.Kind.script))
|
||||
|| (!completionConfiguration.autoImportSuggestions && element.hasAction)
|
||||
|
|
Loading…
Reference in a new issue