javascript and typescript language features extension of coc.nvim
Published Package Summary
coc-tsserver
Tsserver language server extension for coc.nvim.
Tsserver is part of TypeScript which provide rich language features for javascript and typescript.
This extension is a fork of typescript-language-features extension which is
bundled with VSCode. File type detect and syntax highlight are not supported by
this extension, use other vim plugin instead.
Important note: from v2.0.0, tsserver module resolved first from global
configuration tsserver.tsdk and use bundled module when not found, if
tsserver.useLocalTsdk is enabled, workspace folder configured tsserver.tsdk
or typescript module inside current workspace folder would be used when exists.
Install
In your vim/neovim, run command:
:CocInstall coc-tsserver
For yarn2 ( >= v2.0.0-rc.36) user want to use local typescript module:
-
Run command
yarn dlx @yarnpkg/sdks vim, which will generate.vim/coc-settings.json, with content:{ "eslint.packageManager": "yarn", "eslint.nodePath": ".yarn/sdks", "workspace.workspaceFolderCheckCwd": false, "tsserver.tsdk": ".yarn/sdks/typescript/lib" }
Features
Almost the same as VSCode.
- Supports javascript & typescript and jsx/tsx (make sure the buffer filetype is typescriptreact or javascriptreact).
- Installs typings automatically.
- Commands to work with tsserver, including:
tsserver.reloadProjectstsserver.openTsServerLogtsserver.goToProjectConfigtsserver.restarttsserver.watchBuildtsserver.findAllFileReferences
- Code completion support.
- Go to definition (more info in microsoft/TypeScript#37777)
- Code validation.
- Document highlight.
- Document symbols of current buffer.
- Folding and folding range of current buffer.
- Format current buffer, range format and format on type.
- Hover for documentation.
- Implementations codeLens and references codeLens.
- Organize imports command.
- Quickfix using code actions.
- Code refactor using code actions.
- Source code action, including:
- Fix all fixable JS/TS issues.
- Remove all unused code.
- Add all missing imports.
- Organize Imports.
- Sort Imports.
- Remove Unused Imports
- Find references.
- Signature help.
- Call hierarchy.
- Selection range.
- Semantic tokens.
- Rename symbols support.
- Automatic tag closing.
- Rename imports on file rename, require watchman installed in your $PATH.
- Search for workspace symbols.
- Inlay hints support using virtual text feature of neovim, which requires:
- TypeScript >= 4.4.0
- Neovim >= 0.4.0
- Enabled by options starts with
typescript.inlayHintsorjavascript.inlayHints.
Tsserver module first resolved from your local workspace. If it's not found, use
tsserver from tsserver.tsdk configuration or use bundled tsserver with this
extension.
Related extensions
- coc-eslint: enable eslint plugin for tsserver to lint TypeScript and JavaScript files.
- coc-tslint-plugin: enable tslint plugin for tsserver (deprecated).
- coc-styled-components: Styled component for coc.nvim as a tsserver plugin.
- coc-react-refactor: React refactor extension for coc.nvim, forked from vscode-react-refactor.
- coc-vetur: vue extension.
- coc-angular: angular extension.
Troubleshooting
- Add
"tsserver.log": "verbose"to yourcoc-settings.json(opened by command:CocConfig) - To trace LSP communication, add
"tsserver.trace.server": "verbose"to yourcoc-settings.json - Restart coc server by command
:CocRestart - Make the issue happen.
- Open tsserver log file by command
CocCommand tsserver.openTsServerLog - Open tsserver output channel by command
CocCommand workspace.showOutput tsserver
If you find any issues, please create an issue.
Q & A
Q: React syntax not recognized by tsserver.
A: Make sure to use javascriptreact and typescriptreact for buffer filetype.
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescriptreact
autocmd BufNewFile,BufRead *.jsx setlocal filetype=javascriptreact
Add those autocmds to your vimrc.
Q: Automatic type acquisition not work.
A: configure tsserver.npm to your global npm path or configure
"tsserver.disableAutomaticTypeAcquisition": false to disable automatic typings
installation.
Q: The extension needs some time to work.
A: The initialize of tsserver requires some time, you can add g:coc_status to
your status line, see :h coc-status. If your tsserver get slow, try exclude
unnecessary files in your jsconfig.json/tsconfig.json, make sure typescript
version > 4.9 and disable logging (disabled by default).
Q: Update import on file rename not work.
A: Make sure install watchman in your
$PATH. Use command :CocCommand workspace.showOutput watchman to check
watchman output.
Q: Not work with buffer just created.
A: Tsserver treat buffer without a disk file belongs to implicit project, VSCode could work because VSCode create empty file first for buffer, save the buffer to disk to make tsserver work.
Q: Not work with my javascript project.
A: Configure jsconfig.json to make tsserver understand your code. Some features may still not work well, it's recommended to use typescript.
Q: Not work on WSL.
A: Copy you project files from mounted dirs to linux home otherwise tsserver may not work properly.
Sponsoring
If you like coc-tsserver, consider supporting me on Patreon or PayPal:
License
MIT
- javascript and typescript language features extension of coc.nvim
- onLanguage:javascript
- onLanguage:javascriptreact
- onLanguage:javascript.jsx
- onLanguage:typescript
- onLanguage:typescript.tsx
- onLanguage:typescript.jsx
- onLanguage:typescriptreact
- onLanguage:jsx-tags
- onLanguage:jsonc
- onCommand:_typescript.configurePlugin
- onCommand:tsserver.reloadProjects
- onCommand:tsserver.goToProjectConfig
- onCommand:tsserver.openTsServerLog
- onCommand:tsserver.goToSourceDefinition
- onCommand:tsserver.watchBuild
Want to build, test, or contribute to coc.nvim extensions? Explore our official SDK and testing toolkits.
Open Developer GuideVersion History
Published with coc-tsserver@2.4.1 as history.md.
2.4.1
- Fix
tsserver.reloadProjectsblocking all subsequent requests: tsserver never sends a response forreloadProjects, so coc-tsserver no longer waits for one.
2.4.0
- Sync upstream commits from vscode typescript-language-features, see
migrate.md. - Added configuration
typescript.showConvertToAsyncto skip TS80006 "convert to async" suggestion in diagnostics. - Added command
typescript.tsserverRequestfor plugins that need to forward commands to tsserver (e.g. Volar). - Load
typescriptServerPluginscontributed plugins automatically by sendingglobalPluginsandpluginPathsin the configure request. - Added configuration
typescript.format.indentSwitchCaseandjavascript.format.indentSwitchCase. - Added configuration
typescript.preferences.autoImportSpecifierExcludeRegexesandjavascript.preferences.autoImportSpecifierExcludeRegexes. - Added configuration
typescript.preferences.organizeImportsandjavascript.preferences.organizeImportswithunicodeCollation,caseSensitivity,typeOrder,caseFirst,accentCollation,localeandnumericCollationoptions. - Added configuration
typescript.implementationsCodeLens.showOnInterfaceMethods,typescript.implementationsCodeLens.showOnAllClassMethodsand thejavascriptequivalents. - Added configuration
typescript.workspaceSymbols.excludeLibrarySymbols, sent to tsserver asexcludeLibrarySymbolsInNavTopreference. - Added configuration
tsserver.implicitProjectConfig.strictfor implicit project. - Default of
tsserver.implicitProjectConfig.targetchanged toES2024, supportES2023andES2024. tsserver.logsupportsrequestTimelog level.- Added configuration
typescript.hover.maximumLengthandjavascript.hover.maximumLength. - Fix signature help active overload not updating when arguments narrow the overload set.
- Fix user preferences not sent to tsserver when no visible editor.
- Fix stale tsserver events from old server process being dispatched.
- Implicit project uses
react-jsxjsx transform and explicit compiler option defaults.
2.3.1
- Added configuration
tsserver.socketPathfor standalone tsserver (not recommended). - Fix
tsserver.watchBuildnot work on windows.
2.3.0
- Added configuration
tsserver.disabledSchemes. - Use in memory prefix for none file buffer, avoid server error.
2.2.5
- Add configuration
typescript.preferences.preferTypeOnlyAutoImports.
2.2.4
- Improve file select on refactor.
2.2.3
- Remove unnecessary selection on refactor.
2.2.2
- Support module target of tsconfig.json.
2.2.1
- Show warning message when insert closing tag which can be disabled.
2.2.0
- Support
javascript.preferGoToSourceDefinitionandtypescript.preferGoToSourceDefinition#449. - Support refactor action
move to file#445. - Support
javascript.unstableandtypescript.unstable, see https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#case-insensitive-import-sorting-in-editors. - Fix update import on file rename may not work by increase delay #447.
2.1.0
- Support "Remove Unused Imports" source action.
2.0.9
- Support
tsserver.tsdkas workspace folder value (should be path relative to workspace folder), only used whentsserver.useLocalTsdkistrue.
2.0.8
- Upgrade typescript to 4.9.3.
- Support
tsserver.useLocalTsdkas user configuration, not recommended since the local typescript module could be outdated. - Fix range of completionItem when triggered by
# - Avoid cache cancelled response for code lens.
2.0.3
- Pass
triggerReasonand kind for refactor request.
2.0.0
- Global
tsserver.tsdkwould be used when exists by default. - Fix action with
notApplicableReasonnot disabled. - Added
TypeScriptAutoFixProviderfor provide source actions. - Added configurations:
tsserver.useLocalTsdktsserver.useSyntaxServertsserver.experimental.enableProjectDiagnosticsvery experimental statetypescript.inlayHints.variableTypes.suppressWhenTypeMatchesNamejavascript.inlayHints.variableTypes.suppressWhenTypeMatchesNametypescript.preferences.autoImportFileExcludePatternsjavascript.preferences.autoImportFileExcludePatternstsserver.implicitProjectConfig.moduletsserver.implicitProjectConfig.targettsserver.implicitProjectConfig.strictNullCheckstsserver.implicitProjectConfig.strictFunctionTypes
- Renamed configurations:
javascript.updateImportsOnFileMove.enable=>javascript.updateImportsOnFileMove.enabledtypescript.updateImportsOnFileMove.enable=>typescript.updateImportsOnFileMove.enabledjavascript.referencesCodeLens.enable=>javascript.referencesCodeLens.enabledtypescript.referencesCodeLens.enable=>typescript.referencesCodeLens.enabledjavascript.implementationsCodeLens.enable=>javascript.implementationsCodeLens.enabledtypescript.format.enabled=>typescript.format.enablejavascript.format.enabled=>javascript.format.enabletypescript.implementationsCodeLens.enable=>typescript.implementationsCodeLens.enabled
referencesCodeLensandimplementationsCodeLenschanged to disabled by default.- Remove configuration
typescript.suggest.importStatements, alwaystrue. - Remove configuration
tsserver.ignoreLocalTsserver, local tsserver not used by default, usetsserver.useLocalTsdkto enable tsserver from workspace folder. watchBuilduse resolved config file returned from tsserver by default.- Add command
tsserver.chooseVersion
1.12.0
- Disable snippet function completion when following character is
(. - Remove configuration
tsserver.typingsCacheLocation. - Remove configuration
tsserver.formatOnType. - Remove configuration
tsserver.enableJavascript. - Remove configuration
tsserver.useBatchedBufferSync. - Support preference tsserver
provideRefactorNotApplicableReason. - Added
scopefor configurations, support some language-overridable configurations.
1.11.0
- Add command
tsserver.goToSourceDefinition.
1.10.5
- Fix a fold issue #380
1.10.2
- Fix snippet completion not work for optional complete item.
1.10.1
- Avoid unnecessary fetch of format option.
- Add
typescript.suggest.objectLiteralMethodSnippets.enabled
1.10.0
- Support jsdoc completion.
- Add configurations
javascript.suggest.completeJSDocsandtypescript.suggest.completeJSDocs.
1.9.15
- Fix uri for
zipfile.
1.9.14
- Add javascript snippets
- Fix command
tsserver.restartnot work
1.9.11
- Resued resolved tsserver path after
:CocRestart
1.9.10
- Watch for
tsserver.enableconfiguration to change service state. - Fix tsserver not work well with
:CocList services
1.9.9
- Use documentChanges for workspaceEdit.
1.9.8
- Log to output when document content exceed limit of semantic tokens.
1.9.7
- Change default of
javascript.autoClosingTagsandtypescript.autoClosingTagstotrue.
1.9.6
- Rework codeLens related.
1.9.5
- Change 'allImportsAreUnused' diagnostic kind to warning.
1.9.4
- Improve file pattern for config file.
1.9.2
- Inlay hints support (#335)
1.9.1
- use
TSS_DEBUG&TSS_DEBUG_BRKfor debug port
1.9.0
- Add semanticTokens support #313
- Add jsxAttributeCompletionStyle settings #319
- Add command
tsserver.sortImports#322 - Add suggest.classMemberSnippets.enabled configuration cd16da8
- Add suggest.jsdoc.generateReturns configuration 5a8c68f
- Add typescript.preferences.includePackageJsonAutoImports configuration 4d78b61
- Add tsserver.enableTracing configuration 43e6f62
- Add typescript.check.npmIsInstalled configuration 3bd84b1
1.8.3
- Support deprecated tag for document symbols, diagnostic, workspace symbols.
1.8.2
- Support call hierarchy.
- Support
tagsand access modifier for document symbols. - Support return
DefinitionLink[]for definition provider.
1.8.1
- Support
tsserver.tsconfigPathconfiguration.
1.8.0
- Support Import Statement Completions
1.7.0
- Support tag closing for JSX
1.6.4
- Support
typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBracesandypescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
1.6.2
- Support languages from plugins.
1.5.5
- Support
typescript.preferences.useAliasesForRenamesandjavascript.preferences.useAliasesForRenames
1.5.3
- Support the new path of Yarn v2 pnpify SDK.
- Us
tsserver.pluginPathsreplacetsserver.pluginRoot.
1.5.0
- Support @ts-expect-error directive on tsserver v390.
- Support
tsserver.watchOptionsconfiguration.
1.4.13
- Add
preferences.importModuleSpecifierEndingconfiguration. - Change
preferences.importModuleSpecifierdefault toauto.
1.4.12
- Support
tsserver.maxTsServerMemoryconfiguration.
1.4.9
- Support semicolons format option.
1.4.8
- support
format.enabledconfiguration
1.4.3
- Use global tsc when local tsc not foun
1.4.0
- remove noSemicolons preferences
1.3.15
- Add missing option "auto" to importModuleSpecifier
1.3.11
- Add
tsserver.ignoreLocalTsserverconfiguration.
1.3.6
- Support
b:coc_tsserver_disable
1.3.2
- fix suggestionActions.enabled configuration not working
1.3.1
- fix validate.enable not work sometimes
1.3.0
- Loading status.
- Batched buffer synchronize.
- Configuration for showUnused variable.
- Smart selection support.
- Support 'auto' as quoteStyle.
- Support 'validateDefaultNpmLocation'.
1.1.30
- rework of typescriptService, support interuptGetErr
1.1.29
- Support plugin feature.
1.1.28
- add codeAction provider for import missing node builtin modules.
1.1.26
- Add install module codeAction for module not found diagnostic.
- Rework
tsserver.watchBuild, use background process, support statusline.
1.1.25
- Support autofix of node modules import
1.1.23
- Add command
tsserver.executeAutofix
1.1.13
- Add triggerCharacters for SignatureHelp
1.1.12
- Add typescript snippets from VSCode
1.1.11
- Fix throw error of "No content available" on completion.
1.1.10
- Support projectRootPath for document
1.1.9
- Support commitCharacters of completion items
1.1.8
- Add status bar support.
1.1.7
- Add settings
javascript.validate.enableandtypescript.validate.enable
1.1.6
- Fix suggestionActions.enabled not works
1.1.5
- Use quickfix list for watchBuild errors
1.1.4
- Fix organizeImports not working sometimes
1.1.3
- Remove settings with
commaAfterImport, usetypescript.preferences.noSemicolonsandjavasscript.preferences.noSemicolonsinstead.
1.1.2
- Support diagnostic of config file.
1.1.1
- Remove unnecessary use of workspace terminal.
1.1.0
- Support rename import path: https://code.visualstudio.com/updates/v1_28#_rename-import-path
- Use new
suggestfor completion configuration: https://code.visualstudio.com/updates/v1_28#_new-settings-for-jsts-suggestions - Convert to async function: https://code.visualstudio.com/updates/v1_28#_convert-to-async-function
- Remove semicolons on format: set
typescript.preferences.noSemicolonsto true
Contributed Commands
All contributes.commands entries from the published package manifest for coc-tsserver@2.4.1.
| Command (:CocCommand) | Description |
|---|---|
| tsserver.reloadProjects | Reload current project |
| tsserver.openTsServerLog | Open log file of tsserver. |
| tsserver.goToProjectConfig | Open project config file. |
| tsserver.restart | Restart tsserver |
| tsserver.findAllFileReferences | Find File References |
| tsserver.goToSourceDefinition | Go to Source Definition |
| tsserver.watchBuild | Run `tsc --watch` for current project by use vim's job feature. |
| tsserver.executeAutofix | Fix autofixable problems of current document. |
| tsserver.chooseVersion | Choose different typescript version for current project |
Configuration Schema
All contributes.configuration entries from the published package manifest, including each raw property schema for coc-settings.json.
Raw JSON Schema
{
"enum": [
"normal",
"terse",
"verbose",
"requestTime",
"off"
],
"type": "string",
"scope": "application",
"default": "off",
"description": "Log level of tsserver"
}Raw JSON Schema
{
"type": "string",
"scope": "application",
"default": "",
"markdownDescription": "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)."
}Raw JSON Schema
{
"type": "string",
"scope": "resource",
"default": "",
"markdownDescription": "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 `tsserver.tsdk` automatically replaces the built-in TypeScript version.\n- When specified as a workspace setting, the tsserver is used when `tsserver.useLocalTsdk` is true.\nUse command `:CocCommand tsserver.chooseVersion` to choose different typescript version."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable running of tsserver."
}Raw JSON Schema
{
"enum": [
"auto",
"de",
"es",
"en",
"fr",
"it",
"ja",
"ko",
"ru",
"zh-CN",
"zh-TW"
],
"type": "string",
"scope": "window",
"default": "auto",
"markdownDescription": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale."
}Raw JSON Schema
{
"type": [
"string",
"null"
],
"scope": "resource",
"default": null,
"markdownDescription": "Socket path used to connect to tsserver, the socket should be opened already (use tools like socat to start server and pipe messages to sdtio of tsserver), when exists, command line arguments related configurations wont' works. Configure the path like \"127.0.0.1:7070\""
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string",
"description": "Either an absolute or relative path. Relative path will be resolved against workspace folder(s)."
},
"scope": "machine",
"default": [],
"description": "Additional paths to discover TypeScript Language Service plugins."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Show unused variable hint."
}Raw JSON Schema
{
"enum": [
"off",
"messages",
"verbose"
],
"type": "string",
"scope": "application",
"default": "off",
"description": "Trace level of tsserver"
}Raw JSON Schema
{
"type": "string",
"scope": "resource",
"default": "tsconfig.json",
"description": "Path to tsconfig file for the `tsserver.watchBuild` command. Defaults to `tsconfig.json`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Use tsserver from typescript module in workspace folder, ignore tsserver.tsdk configuration."
}Raw JSON Schema
{
"type": "object",
"scope": "application",
"properties": {
"watchFile": {
"enum": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling",
"useFsEvents",
"useFsEventsOnParentDirectory"
],
"type": "string",
"default": "useFsEvents",
"description": "Strategy for how individual files are watched."
},
"watchDirectory": {
"enum": [
"fixedPollingInterval",
"dynamicPriorityPolling",
"useFsEvents"
],
"type": "string",
"default": "useFsEvents",
"description": "Strategy for how entire directory trees are watched under systems that lack recursive file-watching functionality."
},
"fallbackPolling": {
"enum": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling"
],
"type": "string",
"description": "When using file system events, this option specifies the polling strategy that gets used when the system runs out of native file watchers and/or doesn’t support native file watchers."
},
"synchronousWatchDirectory": {
"type": "boolean",
"description": "Disable deferred watching on directories. Deferred watching is useful when lots of file changes might occur at once (e.g. a change in node_modules from running npm install), but you might want to disable it with this flag for some less-common setups."
}
},
"description": "Configure which watching strategies should be used to keep track of files and directories. Requires using TypeScript 3.8+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Show unused variable hint."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enables tracing TS server performance to a directory. These trace files can be used to diagnose TS Server performance issues. The log may contain file paths, source code, and other potentially sensitive information from your project."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enable format for javascript."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"markdownDescription": "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`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable suggest paths in import statement and require calls"
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "application",
"default": [
"git",
"fugitive",
"vsls",
"diffview",
"github",
"azurerepos"
],
"markdownDescription": "Document schemes that should be disabled for tsserver to avoid tsserver error."
}Raw JSON Schema
{
"enum": [
"always",
"never",
"auto"
],
"type": "string",
"scope": "window",
"default": "auto",
"description": "Controls if TypeScript launches a dedicated server to more quickly handle syntax related operations, such as computing code folding.",
"enumDescriptions": [
"Use a lighter weight syntax server to handle all IntelliSense operations. This syntax server can only provide IntelliSense for opened files.",
"Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations.",
"Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enable format for typescript."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable suggest paths in import statement and require calls"
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Show deprecated variable hint."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Show deprecated variable hint."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable automatic closing of JSX tags."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enabled/disable autocomplete suggestions."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enable/disable JavaScript validation."
}Raw JSON Schema
{
"type": "number",
"scope": "application",
"default": 3072,
"description": "Set the maximum amount of memory to allocate to the TypeScript server process"
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable automatic closing of JSX tags."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enabled/disable autocomplete suggestions."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enable/disable TypeScript validation."
}Raw JSON Schema
{
"enum": [
"ignore",
"insert",
"remove"
],
"type": "string",
"scope": "resource",
"default": "ignore",
"description": "Defines handling of optional semicolons. Requires using TypeScript 3.7 or newer in the workspace."
}Raw JSON Schema
{
"enum": [
"ignore",
"insert",
"remove"
],
"type": "string",
"scope": "resource",
"default": "ignore",
"description": "Defines handling of optional semicolons. Requires using TypeScript 3.7 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/Disable TS80006 suggestion (convert to async) in diagnostics"
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 500,
"description": "The maximum number of characters in a hover. If the hover is longer than this, it will be truncated. Requires TypeScript 5.9+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable auto import suggests."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 500,
"description": "The maximum number of characters in a hover. If the hover is longer than this, it will be truncated. Requires TypeScript 5.9+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable auto import suggests."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Check if npm is installed for [Automatic Type Acquisition](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition)."
}Raw JSON Schema
{
"enum": [
"auto",
"single",
"double"
],
"type": "string",
"scope": "language-overridable",
"default": "auto",
"markdownDescription": "Preferred quote style to use for quick fixes.",
"markdownEnumDescriptions": [
"Infer quote type from existing code",
"Always use single quotes: `'`",
"Always use double quotes: `\"`"
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable suggestion to complete JSDoc comments."
}Raw JSON Schema
{
"enum": [
"auto",
"single",
"double"
],
"type": "string",
"scope": "language-overridable",
"default": "auto",
"markdownDescription": "Preferred quote style to use for quick fixes.",
"markdownEnumDescriptions": [
"Infer quote type from existing code",
"Always use single quotes: `'`",
"Always use double quotes: `\"`"
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable suggestion to complete JSDoc comments."
}Raw JSON Schema
{
"enum": [
"allOpenProjects",
"currentProject"
],
"type": "string",
"scope": "window",
"default": "allOpenProjects",
"description": "Controls which files are searched by [go to symbol in workspace](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name).",
"enumDescriptions": [
"Search all open JavaScript or TypeScript projects for symbols. Requires using TypeScript 3.9 or newer in the workspace.",
"Only search for symbols in the current JavaScript or TypeScript project."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines whether an indent is inserted when a `case` or `default` clause is inside a `switch` statement."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines whether an indent is inserted when a `case` or `default` clause is inside a `switch` statement."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable suggestion diagnostics for JavaScript files in the editor. Requires using TypeScript 2.8 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Report style checks as warnings."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable suggestion diagnostics for TypeScript files in the editor. Requires using TypeScript 2.8 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Makes Go to Definition avoid type declaration files when possible by triggering Go to Source Definition instead. Requires using TypeScript 4.7+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable/disable references CodeLens in JavaScript files."
}Raw JSON Schema
{
"enum": [
"CommonJS",
"AMD",
"System",
"UMD",
"ES6",
"ES2015",
"ES2020",
"ESNext",
"None",
"ES2022",
"Node12",
"NodeNext"
],
"type": "string",
"scope": "window",
"default": "ESNext",
"markdownDescription": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "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."
}Raw JSON Schema
{
"enum": [
"ES3",
"ES5",
"ES6",
"ES2015",
"ES2016",
"ES2017",
"ES2018",
"ES2019",
"ES2020",
"ES2021",
"ES2022",
"ES2023",
"ES2024",
"ESNext"
],
"type": "string",
"scope": "window",
"default": "ES2024",
"markdownDescription": "Set target JavaScript language version for emitted JavaScript and include library declarations. See more: https://www.typescriptlang.org/tsconfig#target."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Makes Go to Definition avoid type declaration files when possible by triggering Go to Source Definition instead. Requires using TypeScript 4.7+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable codeLens for references"
}Raw JSON Schema
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"markdownDescription": "Locale used for organizing imports when using unicode collation."
},
"caseFirst": {
"enum": [
"default",
"upper",
"lower"
],
"type": "string",
"default": "default",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Uppercase imports first.",
"Lowercase imports first."
]
},
"typeOrder": {
"enum": [
"auto",
"last",
"inline",
"first"
],
"type": "string",
"default": "auto",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Sort type-only imports last.",
"Sort type-only imports inline.",
"Sort type-only imports first."
]
},
"accentCollation": {
"type": "boolean",
"markdownDescription": "Accent-insensitive compare when using unicode collation."
},
"caseSensitivity": {
"enum": [
"auto",
"caseInsensitive",
"caseSensitive"
],
"type": "string",
"default": "auto",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Treats all imports as case insensitive.",
"Treats all imports as case sensitive."
]
},
"numericCollation": {
"type": "boolean",
"markdownDescription": "Compare number sequences numerically when using unicode collation."
},
"unicodeCollation": {
"enum": [
"ordinal",
"unicode"
],
"type": "string",
"default": "ordinal",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Uses Unicode collation."
]
}
},
"markdownDescription": "Controls how `Organize Imports` sorts imports."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable checkJs for implicit project"
}Raw JSON Schema
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"markdownDescription": "Locale used for organizing imports when using unicode collation."
},
"caseFirst": {
"enum": [
"default",
"upper",
"lower"
],
"type": "string",
"default": "default",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Uppercase imports first.",
"Lowercase imports first."
]
},
"typeOrder": {
"enum": [
"auto",
"last",
"inline",
"first"
],
"type": "string",
"default": "auto",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Sort type-only imports last.",
"Sort type-only imports inline.",
"Sort type-only imports first."
]
},
"accentCollation": {
"type": "boolean",
"markdownDescription": "Accent-insensitive compare when using unicode collation."
},
"caseSensitivity": {
"enum": [
"auto",
"caseInsensitive",
"caseSensitive"
],
"type": "string",
"default": "auto",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Treats all imports as case insensitive.",
"Treats all imports as case sensitive."
]
},
"numericCollation": {
"type": "boolean",
"markdownDescription": "Compare number sequences numerically when using unicode collation."
},
"unicodeCollation": {
"enum": [
"ordinal",
"unicode"
],
"type": "string",
"default": "ordinal",
"markdownEnumDescriptions": [
"Uses TypeScript defaults.",
"Uses Unicode collation."
]
}
},
"markdownDescription": "Controls how `Organize Imports` sorts imports."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable snippet for method suggestion"
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"markdownDescription": "Enable/disable generating `@return` annotations for JSDoc templates. Requires using TypeScript 4.2+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"markdownDescription": "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."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable snippet for method suggestion"
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"markdownDescription": "Enable/disable generating `@return` annotations for JSDoc templates. Requires using TypeScript 4.2+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable/disable implementations CodeLens. This CodeLens shows the implementers of an interface."
}Raw JSON Schema
{
"enum": [
"prompt",
"always",
"never"
],
"type": "string",
"scope": "resource",
"default": "prompt",
"description": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
"markdownEnumDescriptions": [
"Prompt on each rename.",
"Always update paths automatically.",
"Never rename paths and don't prompt."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable codeLens for implementations"
}Raw JSON Schema
{
"enum": [
"prompt",
"always",
"never"
],
"type": "string",
"scope": "resource",
"default": "prompt",
"description": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
"markdownEnumDescriptions": [
"Prompt on each rename.",
"Always update paths automatically.",
"Never rename paths and don't prompt."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of variable types."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable introducing aliases for object shorthand properties during renames. Requires using TypeScript 3.4 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of variable types."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable introducing aliases for object shorthand properties during renames. Requires using TypeScript 3.4 or newer in the workspace."
}Raw JSON Schema
{
"enum": [
"none",
"literals",
"all"
],
"type": "string",
"scope": "resource",
"default": "none",
"description": "Enable/disable inlay hints of parameter names.",
"enumDescriptions": [
"Disable parameter name hints.",
"Enable parameter name hints only for literal arguments.",
"Enable parameter name hints for literal and non-literal arguments."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of parameter types."
}Raw JSON Schema
{
"enum": [
"shortest",
"relative",
"non-relative",
"project-relative"
],
"type": "string",
"scope": "language-overridable",
"default": "shortest",
"description": "Preferred path style for auto imports.",
"enumDescriptions": [
"Prefers a non-relative import only if one is available that has fewer path segments than a relative import",
"Prefers a relative path to the imported file location",
"Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.",
"Prefers a non-relative import only if the relative import path would leave the package or project directory. Requires using TypeScript 4.2+ in the workspace."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace."
}Raw JSON Schema
{
"enum": [
"none",
"literals",
"all"
],
"type": "string",
"scope": "resource",
"default": "none",
"description": "Enable/disable inlay hints of parameter names.",
"enumDescriptions": [
"Disable parameter name hints.",
"Enable parameter name hints only for literal arguments.",
"Enable parameter name hints for literal and non-literal arguments."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of parameter types."
}Raw JSON Schema
{
"enum": [
"shortest",
"relative",
"non-relative",
"project-relative"
],
"type": "string",
"scope": "window",
"default": "shortest",
"description": "Preferred path style for auto imports.",
"enumDescriptions": [
"Prefers a non-relative import only if one is available that has fewer path segments than a relative import",
"Prefers a relative path to the imported file location",
"Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.",
"Prefers a non-relative import only if the relative import path would leave the package or project directory. Requires using TypeScript 4.2+ in the workspace."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after the constructor keyword."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of enum member values."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable snippet completions for class members. Requires using TypeScript 4.5+ in the workspace"
}Raw JSON Schema
{
"tags": [
"experimental"
],
"type": "boolean",
"scope": "window",
"default": false,
"description": "(Experimental) Enables project wide error reporting."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of enum member values."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable snippet completions for class members. Requires using TypeScript 4.5+ in the workspace"
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Enable/disable [strict null checks](https://www.typescriptlang.org/tsconfig#strictNullChecks) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after type assertions in TypeScript."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable introducing aliases for object shorthand properties during renames. Requires using TypeScript 3.4 or newer in the workspace.",
"deprecationMessage": "The setting 'typescript.preferences.renameShorthandProperties' has been deprecated in favor of 'typescript.preferences.useAliasesForRenames'"
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable/disable references CodeLens on all functions in JavaScript files."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines space handling after a comma delimiter."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"markdownDescription": "Include the `type` keyword in auto-imports whenever possible. Requires using TypeScript 5.3+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable introducing aliases for object shorthand properties during renames. Requires using TypeScript 3.4 or newer in the workspace.",
"deprecationMessage": "The setting 'typescript.preferences.renameShorthandProperties' has been deprecated in favor of 'typescript.preferences.useAliasesForRenames'"
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable/disable references CodeLens on all functions in typescript files."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Exclude symbols from library files (e.g. `node_modules`) when searching for symbols in the workspace."
}Raw JSON Schema
{
"enum": [
"auto",
"minimal",
"index",
"js"
],
"type": "string",
"scope": "language-overridable",
"default": "auto",
"description": "Preferred path ending for auto imports."
}Raw JSON Schema
{
"enum": [
"auto",
"braces",
"none"
],
"type": "string",
"scope": "language-overridable",
"default": "auto",
"description": "Preferred style for JSX attribute completions.",
"markdownEnumDescriptions": [
"Insert `={}` or `=\"\"` after attribute names based on the prop type.",
"Insert `={}` after attribute names.",
"Only insert attribute names."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "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."
}Raw JSON Schema
{
"enum": [
"auto",
"minimal",
"index",
"js"
],
"type": "string",
"scope": "resource",
"default": "auto",
"description": "Preferred path ending for auto imports."
}Raw JSON Schema
{
"enum": [
"auto",
"braces",
"none"
],
"type": "string",
"scope": "resource",
"default": "auto",
"description": "Preferred style for JSX attribute completions.",
"markdownEnumDescriptions": [
"Insert `={}` or `=\"\"` after attribute names based on the prop type.",
"Insert `={}` after attribute names.",
"Only insert attribute names."
]
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"markdownDescription": "Specify glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"markdownDescription": "Specify glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace."
}Raw JSON Schema
{
"enum": [
"auto",
"on",
"off"
],
"type": "string",
"scope": "window",
"default": "auto",
"enumDescriptions": [
"Search dependencies based on estimated performance impact.",
"Always search dependencies.",
"Never search dependencies."
],
"markdownDescription": "Enable/disable searching `package.json` dependencies for available auto imports."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable snippet completions from TS Server. Requires using TypeScript 4.3+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of return type for function signatures."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable experimentalDecorators for implicit project"
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines whether an open brace is put onto a new line for functions or not."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of return type for function signatures."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of property declarations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable snippet completions for methods in object literals. Requires using TypeScript 4.7+ in the workspace"
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling before function argument parentheses."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Enable/disable inlay hints of property declarations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable snippet completions for methods in object literals. Requires using TypeScript 4.7+ in the workspace"
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Show implementations CodeLens on all class methods, including those not declared abstract."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"markdownDescription": "Specify regular expressions for restricting auto imports. Auto imports will be excluded when the import specifier matches the regular expressions. Requires using TypeScript 5.9 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable auto-import-style completions on partially-typed import statements. Requires using TypeScript 4.3+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Show implementations CodeLens on all class methods, including those not declared abstract."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"markdownDescription": "Specify regular expressions for restricting auto imports. Auto imports will be excluded when the import specifier matches the regular expressions. Requires using TypeScript 5.9 or newer in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable auto-import-style completions on partially-typed import statements. Requires using TypeScript 4.3+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Show implementations CodeLens on interface methods."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines whether an open brace is put onto a new line for control blocks or not."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Show implementations CodeLens on interface methods."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines space handling after a semicolon in a for statement."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines space handling after a binary operator."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires TS 3.7+ and strict null checks to be enabled."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires TS 3.7+ and strict null checks to be enabled."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"markdownDescription": "Suppress type hints on variables whose name is identical to the type name. Requires using TypeScript 4.8+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"markdownDescription": "Suppress type hints on variables whose name is identical to the type name. Requires using TypeScript 4.8+ in the workspace."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines space handling after keywords in a control flow statement."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Suppress parameter name hints on arguments whose text is identical to the parameter name."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing empty braces."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Suppress parameter name hints on arguments whose text is identical to the parameter name."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": true,
"description": "Defines space handling after function keyword for anonymous functions."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing non-empty braces."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing non-empty brackets."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing JSX expression braces."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing non-empty parenthesis."
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false
}Raw JSON Schema
{
"type": "boolean",
"scope": "resource",
"default": false,
"description": "Defines space handling after opening and before closing template string braces."
}