ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

LSP-typescript

sublimelsp ST3

Sublime LSP 插件对 TypeScript 和 JavaScript 的支持

详情

  • 2.10.2
    1.9.1
  • github.com
  • github.com
  • 1个月前
  • 55分钟前
  • 4年前

安装量

  • 总数 34K
  • Win 11K
  • Mac 13K
  • Linux 10K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 10 8 5 10 5 14 14 10 15 6 9 18 11 11 9 10 6 11 7 15 11 12 7 9 6 7 15 5 8 18 8 9 12 16 17 11 12 6 6 9 9 7 13 10 8 5
Mac 13 9 2 6 13 9 7 5 9 6 5 7 7 12 13 14 10 4 7 13 7 9 10 2 3 13 10 16 9 8 3 11 21 11 10 15 9 4 5 5 11 13 19 7 2 15
Linux 11 6 5 5 9 7 4 8 7 7 8 14 5 9 10 7 8 7 9 4 11 17 12 5 8 17 12 9 16 8 6 8 10 10 12 18 9 6 18 9 14 14 12 12 6 7

readme

源代码
raw.githubusercontent.com

LSP-typescript

通过 TypeScript Language Server 提供 TypeScript 和 JavaScript 对 Sublime LSP 插件的支持。

安装

  • 从 Package Control 安装 LSPLSP-typescript
  • 对于 ST4:TypeScript 和 React (TSX) 语法是内置的,因此无需安装其他任何东西。
  • 对于 ST3:如果您正在使用 TypeScript,请安装 TypeScript Syntax。如果您正在使用 React,请安装 JSCustom
  • 重启 Sublime。

配置

使用命令面板中的 Preferences: LSP-typescript Settings 命令或从 Sublime 菜单打开配置文件。

整理导入命令

要排序或删除未使用的导入,可以从命令面板触发 LSP-typescript: Organize Imports 命令或创建快捷键。例如

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

保存时执行代码操作

服务器支持以下代码操作,可以在全局 lsp_code_actions_on_save 设置中指定并在保存文件时运行

  • source.addMissingImports.ts - 为未导入但已使用的符号添加导入
  • source.fixAll.ts - 尽管名称如此,但它解决了一些特定问题:无法到达的代码、非异步函数中的 await、不正确实现的接口
  • source.organizeImports.ts - 整理并删除未使用的导入
  • source.removeUnused.ts - 删除已声明但未使用的变量
  • source.removeUnusedImports.ts - 删除未使用的导入
  • source.sortImports.ts - 对导入进行排序

转到源定义命令

TypeScript 4.7 及以上版本支持“转到源定义”。它与“转到定义”类似,但不会在声明文件内返回结果。相反,它会尝试找到对应的实现文件(如 .js 或 .ts 文件),并在其中寻找定义——即使这些文件通常被 .d.ts 文件所隐藏。

当你需要查看从库中导入的函数的实现(而不是其类型声明在 .d.ts 文件中)时,这种功能特别有用。

通过命令面板运行 LSP-typescript: Goto Source Definition 呼唤此功能,或将 lsp_typescript_goto_source_definition 绑定到自定义键绑定。

内联提示

内联提示是显示参数名称、类型提示的简短文本注释。

inlay-hints

启用内联提示

  1. 打开命令面板并选择 Preferences: LSP Settings,然后启用 show_inlay_hints
{
  "show_inlay_hints": true
}
  1. 通过 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,
  }
}

注意:内联提示需要 TypeScript 4.4 及以上。

在同时使用 Flow 的项目中使用

TypeScript 可以 检查纯 JavaScript,但对于包含 Flow 类型的 JavaScript,可能会失败。为了在同时为 TS 和纯 JS 启用 LSP-typescript,而忽略 Flow-typed 文件,您必须安装 JSCustom 并进行如下配置

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

同时安装 ApplySyntax 并进行如下配置

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

然后按如下配置 LSP-typescript

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

此功能仅适用于 Sublime Text 4,并且您的项目必须在每个 Flow-typed 文件中都包含 // @flow/* @flow */。更多信息,请参阅 此问题