LSP-typescript
Sublime LSP 插件对 TypeScript 和 JavaScript 的支持
详情
安装量
- 总数 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
LSP-typescript
通过 TypeScript Language Server 提供 TypeScript 和 JavaScript 对 Sublime LSP 插件的支持。
安装
- 从 Package Control 安装
LSP
和LSP-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
绑定到自定义键绑定。
内联提示
内联提示是显示参数名称、类型提示的简短文本注释。
启用内联提示
- 打开命令面板并选择
Preferences: LSP Settings
,然后启用show_inlay_hints
{
"show_inlay_hints": true
}
- 通过
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 */
。更多信息,请参阅 此问题。