Package Control

The official Sublime Text package manager.

LSP-typescript

TypeScript, JavaScript support for Sublime LSP plugin

By sublimelsp
Created August 17, 2019, last updated October 15, 2026.

SepAugJulJunMayAprMarFebJan Dec2025 NovOct 2026-W42 | installs: 160 | removals: 23 | upgrades: 1,106 2026-W42 | installs: 160 | removals: 23 | upgrades: 1,106 2026-W42 | installs: 160 | removals: 23 | upgrades: 1,106 2026-W41 | installs: 235 | removals: 32 | upgrades: 1,002 2026-W41 | installs: 235 | removals: 32 | upgrades: 1,002 2026-W41 | installs: 235 | removals: 32 | upgrades: 1,002 2026-W40 | installs: 215 | removals: 24 | upgrades: 3,289 2026-W40 | installs: 215 | removals: 24 | upgrades: 3,289 2026-W40 | installs: 215 | removals: 24 | upgrades: 3,289 2026-W39 | installs: 263 | removals: 33 | upgrades: 937 2026-W39 | installs: 263 | removals: 33 | upgrades: 937 2026-W39 | installs: 263 | removals: 33 | upgrades: 937 2026-W38 | installs: 127 | removals: 26 | upgrades: 58 2026-W38 | installs: 127 | removals: 26 | upgrades: 58 2026-W38 | installs: 127 | removals: 26 | upgrades: 58 2026-W37 | installs: 127 | removals: 17 | upgrades: 52 2026-W37 | installs: 127 | removals: 17 | upgrades: 52 2026-W37 | installs: 127 | removals: 17 | upgrades: 52 2026-W36 | installs: 147 | removals: 23 | upgrades: 83 2026-W36 | installs: 147 | removals: 23 | upgrades: 83 2026-W36 | installs: 147 | removals: 23 | upgrades: 83 2026-W35 | installs: 151 | removals: 21 | upgrades: 80 2026-W35 | installs: 151 | removals: 21 | upgrades: 80 2026-W35 | installs: 151 | removals: 21 | upgrades: 80 2026-W34 | installs: 143 | removals: 20 | upgrades: 67 2026-W34 | installs: 143 | removals: 20 | upgrades: 67 2026-W34 | installs: 143 | removals: 20 | upgrades: 67 2026-W33 | installs: 131 | removals: 31 | upgrades: 88 2026-W33 | installs: 131 | removals: 31 | upgrades: 88 2026-W33 | installs: 131 | removals: 31 | upgrades: 88 2026-W32 | installs: 119 | removals: 19 | upgrades: 93 2026-W32 | installs: 119 | removals: 19 | upgrades: 93 2026-W32 | installs: 119 | removals: 19 | upgrades: 93 2026-W31 | installs: 149 | removals: 29 | upgrades: 111 2026-W31 | installs: 149 | removals: 29 | upgrades: 111 2026-W31 | installs: 149 | removals: 29 | upgrades: 111 2026-W30 | installs: 125 | removals: 19 | upgrades: 131 2026-W30 | installs: 125 | removals: 19 | upgrades: 131 2026-W30 | installs: 125 | removals: 19 | upgrades: 131 2026-W29 | installs: 130 | removals: 24 | upgrades: 135 2026-W29 | installs: 130 | removals: 24 | upgrades: 135 2026-W29 | installs: 130 | removals: 24 | upgrades: 135 2026-W28 | installs: 132 | removals: 23 | upgrades: 154 2026-W28 | installs: 132 | removals: 23 | upgrades: 154 2026-W28 | installs: 132 | removals: 23 | upgrades: 154 2026-W27 | installs: 121 | removals: 21 | upgrades: 226 2026-W27 | installs: 121 | removals: 21 | upgrades: 226 2026-W27 | installs: 121 | removals: 21 | upgrades: 226 2026-W26 | installs: 125 | removals: 29 | upgrades: 288 2026-W26 | installs: 125 | removals: 29 | upgrades: 288 2026-W26 | installs: 125 | removals: 29 | upgrades: 288 2026-W25 | installs: 146 | removals: 28 | upgrades: 362 2026-W25 | installs: 146 | removals: 28 | upgrades: 362 2026-W25 | installs: 146 | removals: 28 | upgrades: 362 2026-W24 | installs: 107 | removals: 33 | upgrades: 558 2026-W24 | installs: 107 | removals: 33 | upgrades: 558 2026-W24 | installs: 107 | removals: 33 | upgrades: 558 2026-W23 | installs: 134 | removals: 27 | upgrades: 799 2026-W23 | installs: 134 | removals: 27 | upgrades: 799 2026-W23 | installs: 134 | removals: 27 | upgrades: 799 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W22 | installs: 0 | removals: 0 | upgrades: 0 2026-W21 | installs: 197 | removals: 83 | upgrades: 5,694 2026-W21 | installs: 197 | removals: 83 | upgrades: 5,694 2026-W21 | installs: 197 | removals: 83 | upgrades: 5,694 2026-W20 | installs: 165 | removals: 40 | upgrades: 4,820 2026-W20 | installs: 165 | removals: 40 | upgrades: 4,820 2026-W20 | installs: 165 | removals: 40 | upgrades: 4,820 2026-W19 | installs: 148 | removals: 30 | upgrades: 1,501 2026-W19 | installs: 148 | removals: 30 | upgrades: 1,501 2026-W19 | installs: 148 | removals: 30 | upgrades: 1,501 2026-W18 | installs: 236 | removals: 113 | upgrades: 2,597 2026-W18 | installs: 236 | removals: 113 | upgrades: 2,597 2026-W18 | installs: 236 | removals: 113 | upgrades: 2,597 2026-W17 | installs: 137 | removals: 19 | upgrades: 48 2026-W17 | installs: 137 | removals: 19 | upgrades: 48 2026-W17 | installs: 137 | removals: 19 | upgrades: 48 2026-W16 | installs: 154 | removals: 27 | upgrades: 71 2026-W16 | installs: 154 | removals: 27 | upgrades: 71 2026-W16 | installs: 154 | removals: 27 | upgrades: 71 2026-W15 | installs: 146 | removals: 33 | upgrades: 67 2026-W15 | installs: 146 | removals: 33 | upgrades: 67 2026-W15 | installs: 146 | removals: 33 | upgrades: 67 2026-W14 | installs: 151 | removals: 36 | upgrades: 96 2026-W14 | installs: 151 | removals: 36 | upgrades: 96 2026-W14 | installs: 151 | removals: 36 | upgrades: 96 2026-W13 | installs: 136 | removals: 23 | upgrades: 88 2026-W13 | installs: 136 | removals: 23 | upgrades: 88 2026-W13 | installs: 136 | removals: 23 | upgrades: 88 2026-W12 | installs: 133 | removals: 35 | upgrades: 97 2026-W12 | installs: 133 | removals: 35 | upgrades: 97 2026-W12 | installs: 133 | removals: 35 | upgrades: 97 2026-W11 | installs: 117 | removals: 50 | upgrades: 160 2026-W11 | installs: 117 | removals: 50 | upgrades: 160 2026-W11 | installs: 117 | removals: 50 | upgrades: 160 2026-W10 | installs: 108 | removals: 31 | upgrades: 149 2026-W10 | installs: 108 | removals: 31 | upgrades: 149 2026-W10 | installs: 108 | removals: 31 | upgrades: 149 2026-W09 | installs: 135 | removals: 38 | upgrades: 204 2026-W09 | installs: 135 | removals: 38 | upgrades: 204 2026-W09 | installs: 135 | removals: 38 | upgrades: 204 2026-W08 | installs: 127 | removals: 18 | upgrades: 251 2026-W08 | installs: 127 | removals: 18 | upgrades: 251 2026-W08 | installs: 127 | removals: 18 | upgrades: 251 2026-W07 | installs: 141 | removals: 17 | upgrades: 291 2026-W07 | installs: 141 | removals: 17 | upgrades: 291 2026-W07 | installs: 141 | removals: 17 | upgrades: 291 2026-W06 | installs: 111 | removals: 24 | upgrades: 408 2026-W06 | installs: 111 | removals: 24 | upgrades: 408 2026-W06 | installs: 111 | removals: 24 | upgrades: 408 2026-W05 | installs: 166 | removals: 35 | upgrades: 655 2026-W05 | installs: 166 | removals: 35 | upgrades: 655 2026-W05 | installs: 166 | removals: 35 | upgrades: 655 2026-W04 | installs: 152 | removals: 33 | upgrades: 1,438 2026-W04 | installs: 152 | removals: 33 | upgrades: 1,438 2026-W04 | installs: 152 | removals: 33 | upgrades: 1,438 2026-W03 | installs: 135 | removals: 18 | upgrades: 2,922 2026-W03 | installs: 135 | removals: 18 | upgrades: 2,922 2026-W03 | installs: 135 | removals: 18 | upgrades: 2,922 2026-W02 | installs: 119 | removals: 29 | upgrades: 205 2026-W02 | installs: 119 | removals: 29 | upgrades: 205 2026-W02 | installs: 119 | removals: 29 | upgrades: 205 2026-W01 | installs: 130 | removals: 21 | upgrades: 153 2026-W01 | installs: 130 | removals: 21 | upgrades: 153 2026-W01 | installs: 130 | removals: 21 | upgrades: 153 2025-W52 | installs: 103 | removals: 15 | upgrades: 199 2025-W52 | installs: 103 | removals: 15 | upgrades: 199 2025-W52 | installs: 103 | removals: 15 | upgrades: 199 2025-W51 | installs: 132 | removals: 26 | upgrades: 335 2025-W51 | installs: 132 | removals: 26 | upgrades: 335 2025-W51 | installs: 132 | removals: 26 | upgrades: 335 2025-W50 | installs: 115 | removals: 26 | upgrades: 497 2025-W50 | installs: 115 | removals: 26 | upgrades: 497 2025-W50 | installs: 115 | removals: 26 | upgrades: 497 2025-W49 | installs: 137 | removals: 28 | upgrades: 873 2025-W49 | installs: 137 | removals: 28 | upgrades: 873 2025-W49 | installs: 137 | removals: 28 | upgrades: 873 2025-W48 | installs: 113 | removals: 14 | upgrades: 1,727 2025-W48 | installs: 113 | removals: 14 | upgrades: 1,727 2025-W48 | installs: 113 | removals: 14 | upgrades: 1,727 2025-W47 | installs: 118 | removals: 23 | upgrades: 2,835 2025-W47 | installs: 118 | removals: 23 | upgrades: 2,835 2025-W47 | installs: 118 | removals: 23 | upgrades: 2,835 2025-W46 | installs: 141 | removals: 33 | upgrades: 3,554 2025-W46 | installs: 141 | removals: 33 | upgrades: 3,554 2025-W46 | installs: 141 | removals: 33 | upgrades: 3,554 2025-W45 | installs: 146 | removals: 26 | upgrades: 295 2025-W45 | installs: 146 | removals: 26 | upgrades: 295 2025-W45 | installs: 146 | removals: 26 | upgrades: 295 2025-W44 | installs: 120 | removals: 29 | upgrades: 411 2025-W44 | installs: 120 | removals: 29 | upgrades: 411 2025-W44 | installs: 120 | removals: 29 | upgrades: 411 2025-W43 | installs: 131 | removals: 26 | upgrades: 632 2025-W43 | installs: 131 | removals: 26 | upgrades: 632 2025-W43 | installs: 131 | removals: 26 | upgrades: 632 2025-W42 | installs: 128 | removals: 34 | upgrades: 1,314 2025-W42 | installs: 128 | removals: 34 | upgrades: 1,314 2025-W42 | installs: 128 | removals: 34 | upgrades: 1,314 0200400 WeeklyInstalls 04K8K WeeklyUpgrades 2026-W42 | upgrades: 1,106 3.2.2 2026-W39 | upgrades: 937 3.2.1 2026-W21 | upgrades: 5,694 3.2.0 / 3.1.1 2026-W20 | upgrades: 4,820 3.1.0 / 3.0.0 / ... 3.1.0 / 3.0.0 / 2.14.0 2026-W14 | upgrades: 96 2.13.3 2025-W47 | upgrades: 2,835 2.13.2 / 2.13.1 2025-W46 | upgrades: 3,554 2.13.0
Installations: recent average 140 per week, 50,966 in total
Installations minus removals
Upgrades

Links

Versions

3.2.2 (>ST4000) ·
2026-10-15 18:10

1.9.1 (ST3154 - 3999) ·
2021-11-20 11:42

More

LSP-typescript

TypeScript and JavaScript support for Sublime's LSP plugin provided through TypeScript Language Server.

Installation

Configuration

Open the configuration file using the Command Palette Preferences: LSP-typescript Settings command or open it from the Sublime menu.

Organize Imports command

To sort or remove unused imports you can trigger the LSP-typescript: Organize Imports command from the Command Palette or create a key binding. For example:

{
  "keys": ["ctrl+k"],
  "command": "lsp_execute",
  "args": {
    "session_name": "LSP-typescript",
    "command_name": "_typescript.organizeImports",
    "command_args": ["${file}"]
  }
},

Optionally you can provide the "mode" option that specifies what type of organization should be performed:

{
  "keys": ["ctrl+k"],
  "command": "lsp_execute",
  "args": {
    "session_name": "LSP-typescript",
    "command_name": "_typescript.organizeImports",
    "command_args": [
        "${file}",
        {
          // 'All' - organizes imports including destructive actions (removing unused imports)
          // 'SortAndCombine' - Doesn't perform destructive actions.
          // 'RemoveUnused' - Only removes unused imports.
          "mode": "RemoveUnused"
        }
    ]
  }
},

Code Actions on Save

The server supports the following code actions that can be specified in the global lsp_code_actions_on_save setting and run on saving files:

Goto Source Definition command

TypeScript 4.7+ supports Go To Source Definition. It’s similar to Go To Definition, but it never returns results inside declaration files. Instead, it tries to find corresponding implementation files (like .js or .ts files), and find definitions there — even if those files are normally shadowed by .d.ts files.

This comes in handy most often when you need to peek at the implementation of a function you're importing from a library instead of its type declaration in a .d.ts file.

Run LSP-typescript: Goto Source Definition from the Command Palette to invoke this functionality or bind lsp_typescript_goto_source_definition to a custom key binding.

Inlay hints

Inlay hints are short textual annotations that show parameter names, type hints.

inlay-hints

To enable inlay hints:

  1. Open the command palette and select Preferences: LSP Settings, then enable show_inlay_hints:
{
  "show_inlay_hints": true
}
  1. Modify the following settings through Preferences: LSP-typescript Settings:
{
  "settings": {
    // Javascript inlay hints options.
    "javascript.inlayHints.includeInlayEnumMemberValueHints": false,
    "javascript.inlayHints.includeInlayFunctionLikeReturnTypeHints": false,
    "javascript.inlayHints.includeInlayFunctionParameterTypeHints": false,
    "javascript.inlayHints.includeInlayParameterNameHints": "none",
    "javascript.inlayHints.includeInlayParameterNameHintsWhenArgumentMatchesName": false,
    "javascript.inlayHints.includeInlayPropertyDeclarationTypeHints": false,
    "javascript.inlayHints.includeInlayVariableTypeHints": false,
    // Typescript inlay hints options.
    "typescript.inlayHints.includeInlayEnumMemberValueHints": false,
    "typescript.inlayHints.includeInlayFunctionLikeReturnTypeHints": false,
    "typescript.inlayHints.includeInlayFunctionParameterTypeHints": false,
    "typescript.inlayHints.includeInlayParameterNameHints": "none",
    "typescript.inlayHints.includeInlayParameterNameHintsWhenArgumentMatchesName": false,
    "typescript.inlayHints.includeInlayPropertyDeclarationTypeHints": false,
    "typescript.inlayHints.includeInlayVariableTypeHints": false,
  }
}

Note: Inlay hints require TypeScript 4.4+.

TypeScript Plugins Contribution

Other packages can contribute TypeScript plugins that LSP-typescript will automatically load on start. This is achieved by including a typescript-plugins.json file in the package with the following contents (example taken from LSP-vue):

[
    {
        "name": "@vue/typescript-plugin",
        "languages": ["vue"],
        "selector": "text.html.vue",
        "location": "${storage_path}/LSP-vue/server/node_modules/"
    }
]

Usage in projects that also use Flow

TypeScript can check vanilla JavaScript, but may break on JavaScript with Flow types in it. To keep LSP-typescript enabled for TS and vanilla JS, while ignoring Flow-typed files, you must install JSCustom and configure it like so:

{
  "configurations": {
    "Flow": {
      "scope": "source.js.flow",
      "flow_types": true,
      "jsx": true
    }
  }
}

Also install ApplySyntax and configure it like so:

{
  "syntaxes": [
    {
      "syntax": "User/JS Custom/Syntaxes/Flow",
      "match": "all",
      "rules": [
        { "file_path": ".*\\.jsx?$" },
        { "first_line": "^/[/\\*] *@flow" }
      ]
    }
  ]
}

And then configure LSP-typescript like so:

{
  "selector": "source.js - source.js.flow, source.jsx, source.ts, source.tsx"
}

This works only on Sublime Text 4, and your project must have a // @flow or /* @flow */ in each Flow-typed file. For more information, see this issue.

Results

Packages