id = "typescript" name = "TypeScript" formatter = { tool = "prettier", parser = "typescript", range = true } extensions = ["ts", "mts", "cts"] line-comment = "//" block-comment = ["/*", "*/"] indent = { tab-size = 2, insert-spaces = true } ui-mode = "TypeScript" tree-sitter = "typescript" [[language-servers]] name = "vtsls" tsserver-project = true command = "vtsls" args = ["--stdio"] root-markers = ["tsconfig.json", "jsconfig.json", "package.json"] install-hint = "npm i -g @vtsls/language-server" # Rename renames the symbol everywhere: no `import { a as b }` alias in the file renamed from. [language-servers.initialization-options.typescript.preferences] useAliasesForRenames = false [language-servers.initialization-options.javascript.preferences] useAliasesForRenames = false # Moving a file: the IDE asks for the import updates up front (preview, undo); the server # doesn't prompt after the move. [language-servers.initialization-options.typescript.updateImportsOnFileMove] enabled = "never" [language-servers.initialization-options.javascript.updateImportsOnFileMove] enabled = "never" [[language-servers]] name = "typescript-language-server" tsserver-project = true # Alternative: used only when the server above is not installed. fallback = true command = "typescript-language-server" args = ["--stdio"] root-markers = ["tsconfig.json", "jsconfig.json", "package.json"] install-hint = "npm i -g typescript@6 typescript-language-server" # Rename renames the symbol everywhere: no `import { a as b }` alias in the file renamed from. [language-servers.initialization-options.preferences] providePrefixAndSuffixTextForRename = false # Angular projects only: templates inline in components (`template: ...`), # and their usages and renames in templates. Last: TypeScript's own hover, # definition and symbols come first. [[language-servers]] name = "angular-language-server" command = "ngserver" args = ["--stdio", "--includeCompletionsWithSnippetText", "--includeAutomaticOptionalChainCompletions"] root-markers = ["angular.json", "node_modules/@angular/core"] require-root-marker = true install-hint = "npm i -g @angular/language-server" [[language-servers]] name = "oxlint" command = "oxlint" args = ["--lsp"] root-markers = [".oxlintrc.json", ".oxlintrc.jsonc", "oxlint.config.ts", "oxlint.config.mts"] require-root-marker = true install-hint = "npm i -D oxlint" [debugger] adapter = "js-debug" command = "js-debug-adapter" args = ["${port}", "127.0.0.1"] transport = "tcp" install-hint = "Install vscode-js-debug's DAP server (js-debug-dap-*.tar.gz from https://github.com/microsoft/vscode-js-debug/releases) as `js-debug-adapter`"