mirror of
https://github.com/microsoft/vscode.git
synced 2026-02-15 07:28:05 +00:00
Merge pull request #295055 from mjbvz/dev/mjbvz/mighty-horse
Adopt unified js/ts setting for suggest
This commit is contained in:
@@ -418,16 +418,28 @@
|
||||
"markdownDescription": "%typescript.locale%",
|
||||
"scope": "window"
|
||||
},
|
||||
"js/ts.suggestionActions.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggestionActions.enabled%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggestionActions.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%javascript.suggestionActions.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggestionActions.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggestionActions.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.suggestionActions.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggestionActions.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.updateImportsOnFileMove.enabled": {
|
||||
@@ -531,124 +543,252 @@
|
||||
"title": "%configuration.suggest%",
|
||||
"order": 21,
|
||||
"properties": {
|
||||
"js/ts.suggest.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.suggest.enabled%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.suggest.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"typescript.suggest.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.suggest.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"js/ts.suggest.autoImports": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.autoImports%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.autoImports": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.autoImports%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.autoImports.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.autoImports": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.autoImports%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.autoImports.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.names": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "%configuration.suggest.names%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.names": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "%configuration.suggest.names%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.names.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.completeFunctionCalls": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%configuration.suggest.completeFunctionCalls%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.completeFunctionCalls": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%configuration.suggest.completeFunctionCalls%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.completeFunctionCalls.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.completeFunctionCalls": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%configuration.suggest.completeFunctionCalls%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.completeFunctionCalls.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.paths": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.paths%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.paths": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.paths%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.paths.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.paths": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.paths%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.paths.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.completeJSDocs": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.completeJSDocs%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.completeJSDocs": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.completeJSDocs%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.completeJSDocs.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"typescript.suggest.completeJSDocs": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.completeJSDocs%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.completeJSDocs.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"js/ts.suggest.jsdoc.generateReturns": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "%configuration.suggest.jsdoc.generateReturns%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.jsdoc.generateReturns": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "%configuration.suggest.jsdoc.generateReturns%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.jsdoc.generateReturns.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"typescript.suggest.jsdoc.generateReturns": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "%configuration.suggest.jsdoc.generateReturns%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.jsdoc.generateReturns.unifiedDeprecationMessage%",
|
||||
"scope": "language-overridable"
|
||||
},
|
||||
"js/ts.suggest.includeAutomaticOptionalChainCompletions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeAutomaticOptionalChainCompletions%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.includeAutomaticOptionalChainCompletions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeAutomaticOptionalChainCompletions%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.includeAutomaticOptionalChainCompletions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.includeAutomaticOptionalChainCompletions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeAutomaticOptionalChainCompletions%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.includeAutomaticOptionalChainCompletions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.includeCompletionsForImportStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeCompletionsForImportStatements%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.includeCompletionsForImportStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeCompletionsForImportStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.includeCompletionsForImportStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.includeCompletionsForImportStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.includeCompletionsForImportStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.includeCompletionsForImportStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.classMemberSnippets.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.classMemberSnippets.enabled%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.suggest.classMemberSnippets.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.classMemberSnippets.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.classMemberSnippets.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.suggest.classMemberSnippets.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.classMemberSnippets.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.classMemberSnippets.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.suggest.objectLiteralMethodSnippets.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.objectLiteralMethodSnippets.enabled%",
|
||||
"scope": "language-overridable",
|
||||
"tags": [
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"typescript.suggest.objectLiteralMethodSnippets.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%configuration.suggest.objectLiteralMethodSnippets.enabled%",
|
||||
"markdownDeprecationMessage": "%configuration.suggest.objectLiteralMethodSnippets.enabled.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,8 +11,11 @@
|
||||
"configuration.inlayHints": "Inlay Hints",
|
||||
"configuration.server": "TS Server",
|
||||
"configuration.suggest.completeFunctionCalls": "Complete functions with their parameter signature.",
|
||||
"configuration.suggest.completeFunctionCalls.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.completeFunctionCalls#` instead.",
|
||||
"configuration.suggest.includeAutomaticOptionalChainCompletions": "Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires strict null checks to be enabled.",
|
||||
"configuration.suggest.includeAutomaticOptionalChainCompletions.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.includeAutomaticOptionalChainCompletions#` instead.",
|
||||
"configuration.suggest.includeCompletionsForImportStatements": "Enable/disable auto-import-style completions on partially-typed import statements.",
|
||||
"configuration.suggest.includeCompletionsForImportStatements.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.includeCompletionsForImportStatements#` instead.",
|
||||
"typescript.useTsgo": "Disables TypeScript and JavaScript language features to allow usage of the TypeScript Go experimental extension. Requires TypeScript Go to be installed and configured. Requires reloading extensions after changing this setting.",
|
||||
"typescript.tsdk.desc": "Specifies the folder path to the tsserver and `lib*.d.ts` files under a TypeScript install to use for IntelliSense, for example: `./node_modules/typescript/lib`.\n\n- When specified as a user setting, the TypeScript version from `typescript.tsdk` automatically replaces the built-in TypeScript version.\n- When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command.\n\nSee the [TypeScript documentation](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions) for more detail about managing TypeScript versions.",
|
||||
"typescript.disableAutomaticTypeAcquisition": "Disables [automatic type acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition). Automatic type acquisition fetches `@types` packages from npm to improve IntelliSense for external libraries.",
|
||||
@@ -66,6 +69,7 @@
|
||||
"typescript.npm": "Specifies the path to the npm executable used for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).",
|
||||
"typescript.check.npmIsInstalled": "Check if npm is installed for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition).",
|
||||
"configuration.suggest.names": "Enable/disable including unique names from the file in JavaScript suggestions. Note that name suggestions are always disabled in JavaScript code that is semantically checked using `@ts-check` or `checkJs`.",
|
||||
"configuration.suggest.names.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.names#` instead.",
|
||||
"typescript.tsc.autoDetect": "Controls auto detection of tsc tasks.",
|
||||
"typescript.tsc.autoDetect.off": "Disable this feature.",
|
||||
"typescript.tsc.autoDetect.on": "Create both build and watch tasks.",
|
||||
@@ -75,6 +79,7 @@
|
||||
"typescript.problemMatchers.tsgo-watch.label": "TypeScript problems (watch mode)",
|
||||
"typescript.problemMatchers.tscWatch.label": "TypeScript problems (watch mode)",
|
||||
"configuration.suggest.paths": "Enable/disable suggestions for paths in import statements and require calls.",
|
||||
"configuration.suggest.paths.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.paths#` instead.",
|
||||
"configuration.tsserver.useSeparateSyntaxServer": "Enable/disable spawning a separate TypeScript server that can more quickly respond to syntax related operations, such as calculating folding or computing document symbols.",
|
||||
"configuration.tsserver.useSyntaxServer": "Controls if TypeScript launches a dedicated server to more quickly handle syntax related operations, such as computing code folding.",
|
||||
"configuration.tsserver.useSyntaxServer.always": "Use a lighter weight syntax server to handle all IntelliSense operations. This disables project-wide features including auto-imports, cross-file completions, and go to definition for symbols in other files. Only use this for very large projects where performance is critical.",
|
||||
@@ -92,7 +97,9 @@
|
||||
"configuration.implicitProjectConfig.strictFunctionTypes": "Enable/disable [strict function types](https://www.typescriptlang.org/tsconfig#strictFunctionTypes) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.",
|
||||
"configuration.implicitProjectConfig.strict": "Enable/disable [strict mode](https://www.typescriptlang.org/tsconfig#strict) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.",
|
||||
"configuration.suggest.jsdoc.generateReturns": "Enable/disable generating `@returns` annotations for JSDoc templates.",
|
||||
"configuration.suggest.jsdoc.generateReturns.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.jsdoc.generateReturns#` instead.",
|
||||
"configuration.suggest.autoImports": "Enable/disable auto import suggestions.",
|
||||
"configuration.suggest.autoImports.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.autoImports#` instead.",
|
||||
"configuration.preferGoToSourceDefinition": "Makes `Go to Definition` avoid type declaration files when possible by triggering `Go to Source Definition` instead. This allows `Go to Source Definition` to be triggered with the mouse gesture.",
|
||||
"inlayHints.parameterNames.none": "Disable parameter name hints.",
|
||||
"inlayHints.parameterNames.literals": "Enable parameter name hints only for literal arguments.",
|
||||
@@ -146,6 +153,8 @@
|
||||
"taskDefinition.tsconfig.description": "The tsconfig file that defines the TS build.",
|
||||
"javascript.suggestionActions.enabled": "Enable/disable suggestion diagnostics for JavaScript files in the editor.",
|
||||
"typescript.suggestionActions.enabled": "Enable/disable suggestion diagnostics for TypeScript files in the editor.",
|
||||
"configuration.suggestionActions.enabled": "Enable/disable suggestion diagnostics for JavaScript and TypeScript files in the editor.",
|
||||
"configuration.suggestionActions.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggestionActions.enabled#` instead.",
|
||||
"typescript.preferences.quoteStyle": "Preferred quote style to use for Quick Fixes.",
|
||||
"typescript.preferences.quoteStyle.single": "Always use single quotes: `'`",
|
||||
"typescript.preferences.quoteStyle.double": "Always use double quotes: `\"`",
|
||||
@@ -180,7 +189,9 @@
|
||||
"typescript.updateImportsOnFileMove.enabled.never": "Never rename paths and don't prompt.",
|
||||
"typescript.autoClosingTags": "Enable/disable automatic closing of JSX tags.",
|
||||
"typescript.suggest.enabled": "Enable/disable autocomplete suggestions.",
|
||||
"configuration.suggest.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.enabled#` instead.",
|
||||
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
|
||||
"configuration.suggest.completeJSDocs.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.completeJSDocs#` instead.",
|
||||
"configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
|
||||
"configuration.tsserver.watchOptions": "Configure which watching strategies should be used to keep track of files and directories.",
|
||||
"configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
|
||||
@@ -232,7 +243,9 @@
|
||||
"typescript.findAllFileReferences": "Find File References",
|
||||
"typescript.goToSourceDefinition": "Go to Source Definition",
|
||||
"configuration.suggest.classMemberSnippets.enabled": "Enable/disable snippet completions for class members.",
|
||||
"configuration.suggest.classMemberSnippets.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.classMemberSnippets.enabled#` instead.",
|
||||
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.",
|
||||
"configuration.suggest.objectLiteralMethodSnippets.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.objectLiteralMethodSnippets.enabled#` instead.",
|
||||
"configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
|
||||
"configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`",
|
||||
"configuration.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.",
|
||||
|
||||
@@ -16,6 +16,7 @@ import * as typeConverters from '../typeConverters';
|
||||
import { ClientCapability, ITypeScriptServiceClient, ServerResponse } from '../typescriptService';
|
||||
import TypingsStatus from '../ui/typingsStatus';
|
||||
import { nulToken } from '../utils/cancellation';
|
||||
import { readUnifiedConfig } from '../utils/configuration';
|
||||
import FileConfigurationManager from './fileConfigurationManager';
|
||||
import { applyCodeAction } from './util/codeAction';
|
||||
import { conditionalRegistration, requireSomeCapability } from './util/dependentRegistration';
|
||||
@@ -670,10 +671,10 @@ namespace CompletionConfiguration {
|
||||
): CompletionConfiguration {
|
||||
const config = vscode.workspace.getConfiguration(modeId, resource);
|
||||
return {
|
||||
completeFunctionCalls: config.get<boolean>(CompletionConfiguration.completeFunctionCalls, false),
|
||||
pathSuggestions: config.get<boolean>(CompletionConfiguration.pathSuggestions, true),
|
||||
autoImportSuggestions: config.get<boolean>(CompletionConfiguration.autoImportSuggestions, true),
|
||||
nameSuggestions: config.get<boolean>(CompletionConfiguration.nameSuggestions, true),
|
||||
completeFunctionCalls: readUnifiedConfig<boolean>(CompletionConfiguration.completeFunctionCalls, false, { scope: resource, fallbackSection: modeId }),
|
||||
pathSuggestions: readUnifiedConfig<boolean>(CompletionConfiguration.pathSuggestions, true, { scope: resource, fallbackSection: modeId }),
|
||||
autoImportSuggestions: readUnifiedConfig<boolean>(CompletionConfiguration.autoImportSuggestions, true, { scope: resource, fallbackSection: modeId }),
|
||||
nameSuggestions: readUnifiedConfig<boolean>(CompletionConfiguration.nameSuggestions, true, { scope: resource, fallbackSection: modeId }),
|
||||
importStatementSuggestions: config.get<boolean>(CompletionConfiguration.importStatementSuggestions, true),
|
||||
};
|
||||
}
|
||||
@@ -703,7 +704,7 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider<
|
||||
token: vscode.CancellationToken,
|
||||
context: vscode.CompletionContext
|
||||
): Promise<vscode.CompletionList<MyCompletionItem> | undefined> {
|
||||
if (!vscode.workspace.getConfiguration(this.language.id, document).get('suggest.enabled')) {
|
||||
if (!readUnifiedConfig<boolean>('suggest.enabled', true, { scope: document, fallbackSection: this.language.id })) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -182,6 +182,8 @@ export default class FileConfigurationManager extends Disposable {
|
||||
isTypeScriptDocument(document) ? 'typescript.preferences' : 'javascript.preferences',
|
||||
document);
|
||||
|
||||
const fallbackSection = isTypeScriptDocument(document) ? 'typescript' : 'javascript';
|
||||
|
||||
const preferences: Proto.UserPreferences = {
|
||||
...config.get('unstable'),
|
||||
quotePreference: this.getQuoteStylePreference(preferencesConfig),
|
||||
@@ -191,13 +193,13 @@ export default class FileConfigurationManager extends Disposable {
|
||||
allowTextChangesInNewFiles: document.uri.scheme === fileSchemes.file,
|
||||
providePrefixAndSuffixTextForRename: preferencesConfig.get<boolean>('useAliasesForRenames', true),
|
||||
allowRenameOfImportPath: true,
|
||||
includeAutomaticOptionalChainCompletions: config.get<boolean>('suggest.includeAutomaticOptionalChainCompletions', true),
|
||||
includeAutomaticOptionalChainCompletions: readUnifiedConfig<boolean>('suggest.includeAutomaticOptionalChainCompletions', true, { scope: document, fallbackSection }),
|
||||
provideRefactorNotApplicableReason: true,
|
||||
generateReturnInDocTemplate: config.get<boolean>('suggest.jsdoc.generateReturns', true),
|
||||
includeCompletionsForImportStatements: config.get<boolean>('suggest.includeCompletionsForImportStatements', true),
|
||||
generateReturnInDocTemplate: readUnifiedConfig<boolean>('suggest.jsdoc.generateReturns', true, { scope: document, fallbackSection }),
|
||||
includeCompletionsForImportStatements: readUnifiedConfig<boolean>('suggest.includeCompletionsForImportStatements', true, { scope: document, fallbackSection }),
|
||||
includeCompletionsWithSnippetText: true,
|
||||
includeCompletionsWithClassMemberSnippets: config.get<boolean>('suggest.classMemberSnippets.enabled', true),
|
||||
includeCompletionsWithObjectLiteralMethodSnippets: config.get<boolean>('suggest.objectLiteralMethodSnippets.enabled', true),
|
||||
includeCompletionsWithClassMemberSnippets: readUnifiedConfig<boolean>('suggest.classMemberSnippets.enabled', true, { scope: document, fallbackSection }),
|
||||
includeCompletionsWithObjectLiteralMethodSnippets: readUnifiedConfig<boolean>('suggest.objectLiteralMethodSnippets.enabled', true, { scope: document, fallbackSection }),
|
||||
autoImportFileExcludePatterns: this.getAutoImportFileExcludePatternsPreference(preferencesConfig, vscode.workspace.getWorkspaceFolder(document.uri)?.uri),
|
||||
autoImportSpecifierExcludeRegexes: preferencesConfig.get<string[]>('autoImportSpecifierExcludeRegexes'),
|
||||
preferTypeOnlyAutoImports: preferencesConfig.get<boolean>('preferTypeOnlyAutoImports', false),
|
||||
@@ -206,8 +208,8 @@ export default class FileConfigurationManager extends Disposable {
|
||||
displayPartsForJSDoc: true,
|
||||
disableLineTextInReferences: true,
|
||||
interactiveInlayHints: true,
|
||||
includeCompletionsForModuleExports: config.get<boolean>('suggest.autoImports'),
|
||||
...getInlayHintsPreferences(document, isTypeScriptDocument(document) ? 'typescript' : 'javascript'),
|
||||
includeCompletionsForModuleExports: readUnifiedConfig<boolean>('suggest.autoImports', true, { scope: document, fallbackSection }),
|
||||
...getInlayHintsPreferences(document, fallbackSection),
|
||||
...this.getOrganizeImportsPreferences(preferencesConfig),
|
||||
maximumHoverLength: this.getMaximumHoverLength(document),
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@ import { DocumentSelector } from '../configuration/documentSelector';
|
||||
import { LanguageDescription } from '../configuration/languageDescription';
|
||||
import * as typeConverters from '../typeConverters';
|
||||
import { ITypeScriptServiceClient } from '../typescriptService';
|
||||
import { readUnifiedConfig } from '../utils/configuration';
|
||||
import FileConfigurationManager from './fileConfigurationManager';
|
||||
|
||||
|
||||
@@ -45,7 +46,7 @@ class JsDocCompletionProvider implements vscode.CompletionItemProvider {
|
||||
position: vscode.Position,
|
||||
token: vscode.CancellationToken
|
||||
): Promise<vscode.CompletionItem[] | undefined> {
|
||||
if (!vscode.workspace.getConfiguration(this.language.id, document).get('suggest.completeJSDocs')) {
|
||||
if (!readUnifiedConfig<boolean>('suggest.completeJSDocs', true, { scope: document, fallbackSection: this.language.id })) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import { ClientCapability } from './typescriptService';
|
||||
import TypeScriptServiceClient from './typescriptServiceClient';
|
||||
import TypingsStatus from './ui/typingsStatus';
|
||||
import { Disposable } from './utils/dispose';
|
||||
import { readUnifiedConfig } from './utils/configuration';
|
||||
import { isWeb, isWebAndHasSharedArrayBuffers, supportsReadableByteStreams } from './utils/platform';
|
||||
|
||||
|
||||
@@ -96,7 +97,7 @@ export default class LanguageProvider extends Disposable {
|
||||
private configurationChanged(): void {
|
||||
const config = vscode.workspace.getConfiguration(this.id, null);
|
||||
this.updateValidate(config.get(validateSetting, true));
|
||||
this.updateSuggestionDiagnostics(config.get(suggestionSetting, true));
|
||||
this.updateSuggestionDiagnostics(readUnifiedConfig<boolean>(suggestionSetting, true, { scope: null, fallbackSection: this.id }));
|
||||
}
|
||||
|
||||
public handlesUri(resource: vscode.Uri): boolean {
|
||||
|
||||
@@ -16,7 +16,7 @@ const insertModes = Object.freeze(['insert', 'replace']);
|
||||
suite.skip('TypeScript Completions', () => {
|
||||
const configDefaults = Object.freeze<VsCodeConfiguration>({
|
||||
[Config.autoClosingBrackets]: 'always',
|
||||
[Config.typescriptCompleteFunctionCalls]: false,
|
||||
[Config.completeFunctionCalls]: false,
|
||||
[Config.insertMode]: 'insert',
|
||||
[Config.snippetSuggestions]: 'none',
|
||||
[Config.suggestSelection]: 'first',
|
||||
@@ -181,7 +181,7 @@ suite.skip('TypeScript Completions', () => {
|
||||
});
|
||||
|
||||
test('completeFunctionCalls should complete function parameters when at end of word', async () => {
|
||||
await updateConfig(testDocumentUri, { [Config.typescriptCompleteFunctionCalls]: true });
|
||||
await updateConfig(testDocumentUri, { [Config.completeFunctionCalls]: true });
|
||||
|
||||
// Complete with-in word
|
||||
const editor = await createTestEditor(testDocumentUri,
|
||||
@@ -199,7 +199,7 @@ suite.skip('TypeScript Completions', () => {
|
||||
});
|
||||
|
||||
test.skip('completeFunctionCalls should complete function parameters when within word', async () => {
|
||||
await updateConfig(testDocumentUri, { [Config.typescriptCompleteFunctionCalls]: true });
|
||||
await updateConfig(testDocumentUri, { [Config.completeFunctionCalls]: true });
|
||||
|
||||
const editor = await createTestEditor(testDocumentUri,
|
||||
`function abcdef(x, y, z) { }`,
|
||||
@@ -216,7 +216,7 @@ suite.skip('TypeScript Completions', () => {
|
||||
});
|
||||
|
||||
test('completeFunctionCalls should not complete function parameters at end of word if we are already in something that looks like a function call, #18131', async () => {
|
||||
await updateConfig(testDocumentUri, { [Config.typescriptCompleteFunctionCalls]: true });
|
||||
await updateConfig(testDocumentUri, { [Config.completeFunctionCalls]: true });
|
||||
|
||||
const editor = await createTestEditor(testDocumentUri,
|
||||
`function abcdef(x, y, z) { }`,
|
||||
@@ -233,7 +233,7 @@ suite.skip('TypeScript Completions', () => {
|
||||
});
|
||||
|
||||
test.skip('completeFunctionCalls should not complete function parameters within word if we are already in something that looks like a function call, #18131', async () => {
|
||||
await updateConfig(testDocumentUri, { [Config.typescriptCompleteFunctionCalls]: true });
|
||||
await updateConfig(testDocumentUri, { [Config.completeFunctionCalls]: true });
|
||||
|
||||
const editor = await createTestEditor(testDocumentUri,
|
||||
`function abcdef(x, y, z) { }`,
|
||||
|
||||
@@ -119,7 +119,7 @@ export async function updateConfig(documentUri: vscode.Uri, newConfig: VsCodeCon
|
||||
|
||||
export const Config = Object.freeze({
|
||||
autoClosingBrackets: 'editor.autoClosingBrackets',
|
||||
typescriptCompleteFunctionCalls: 'typescript.suggest.completeFunctionCalls',
|
||||
completeFunctionCalls: 'js/ts.suggest.completeFunctionCalls',
|
||||
insertMode: 'editor.suggest.insertMode',
|
||||
snippetSuggestions: 'editor.snippetSuggestions',
|
||||
suggestSelection: 'editor.suggestSelection',
|
||||
|
||||
Reference in New Issue
Block a user