TypeScript
GoLand 支持开发、运行及调试 TypeScript 源代码。 GoLand 可识别 .ts 和 .tsx 文件,无需执行额外步骤即可为其编辑提供全面的编码辅助功能。 TypeScript 文件使用
图标标记。
TypeScript 感知的编码辅助功能包括对关键字、标签、变量、参数和函数的 代码补全, 错误和语法高亮 、格式化、 多种代码检查和 快速修复 ,以及 常见及 TypeScript 特定的重构。 GoLand 还会 实时验证 TypeScript 代码并在专用的 “问题”工具窗口中显示错误。
开始之前
请确保在设置中启用了 JavaScript 和 TypeScript 插件。 按 Ctrl+Alt+S 打开设置,然后选择 。 点击 已安装 选项卡。 在搜索字段中键入 JavaScript and TypeScript。 有关插件的更多信息,请参阅 Managing plugins。
创建新应用程序
GoLand 可创建一个基本的 TypeScript 项目,因此您可以使用最小配置设置项目。 生成的项目包含一个 package.json 、一个 tsconfig.json 和一个带有 console.log() 欢迎消息的 index .ts 文件。 您还可以生成一个示例 Web 应用程序。
默认情况下,GoLand 会自动创建一个 Git 仓库并 将生成的源文件置于 Git 控制之下。
从主菜单中点击 。 或者,在欢迎屏幕上点击 。
在右侧窗格中,选择 TypeScript 并指定存储项目相关文件的文件夹路径。
要生成一个示例 Web 应用程序,请选中 生成包含入门提示的 Playground 项目 复选框。 GoLand 将基于 Vite 模板创建项目,并提供提示以确保顺利入门。
点击 创建。
使用现有 TypeScript 应用程序开始
如果您将继续开发一个现有的 TypeScript 应用程序,只需在 GoLand 中打开该应用程序。 可选地 下载所需的 npm 依赖项。
打开已保存在本地的应用程序源代码
在 欢迎 屏幕上点击 打开 ,或从主菜单中选择 。 在打开的对话框中,选择存储源代码的文件夹。
从版本控制中检出应用程序源代码
在 欢迎 屏幕上点击 克隆。
或者,从主菜单中选择 或 。
在主菜单中,您可能会看到与项目关联的任何其他版本控制系统,而不是 Git。 例如, Mercurial 或 Perforce。

项目安全性
当您打开一个在 GoLand 之外创建并导入到其中的项目时,GoLand 会显示一个对话框,您可以在其中决定如何处理带有不熟悉源代码的项目。

请选择以下选项之一:
在安全模式中预览 :在这种情况下,GoLand 以预览模式打开项目。 这意味着您可以浏览项目的源代码,但无法运行任务和脚本或运行/调试项目。
GoLand 会在编辑器区域顶部显示通知,您可以点击 信任项目… 链接随时加载项目。
信任项目 :在这种情况下,GoLand 会打开并加载项目。 这意味着项目已初始化,项目插件已解析,依赖项已添加,并且所有 GoLand 功能均可用。
不要打开 :在这种情况下,GoLand 不会打开项目。
详细了解请参阅 项目安全。
验证 TypeScript
GoLand 主要基于 TypeScript Language Service 的数据来验证 TypeScript 代码,同时该服务还将 TypeScript 编译为 JavaScript。
当前文件中检测到的错误描述及其快速修复方法可通过编辑器以及 文件 选项卡中的 Problems 工具窗口获取。
整个项目中的错误及其快速修复方法会显示在 项目错误 选项卡中的 问题 工具窗口中。 要打开该工具窗口,请点击编辑器右上角的 检查 小部件:

验证当前文件中的 TypeScript
在编辑器中,将鼠标悬停在高亮显示的问题上。 GoLand 会显示一个包含问题描述的工具提示。

应用建议的快速修复,或点击 更多操作… ,然后从列表中选择相关项。

或者打开 文件 选项卡中的 问题 工具窗口 Alt+6 ,在此您可以查看问题描述、应用快速修复、导航到源代码中出错的位置片段,并在不离开工具窗口的情况下在 编辑器预览 面板中修复错误。 详见 Problems 工具窗口。
验证整个项目中的 TypeScript
要打开 问题 工具窗口,请点击编辑器右上角的 检查 小部件。

或者,从主菜单中选择 或按下 Alt+6。
打开 项目错误 选项卡,可查看整个项目中的错误,错误信息按检测到错误的文件进行分组。

在此,您可以查看问题描述、应用快速修复、导航到源代码中出错的位置片段,并在不离开工具窗口的情况下在 编辑器预览 面板中修复错误。 详见 Problems 工具窗口。
配置与 TypeScript 语言服务的集成
在大多数情况下,所有功能开箱即用,无需进行手动配置。 但是,如果您希望使用自定义的 typescript 包,或向 TypeScript 语言服务传递某些 命令行选项 ,则可以自定义默认设置。
在 设置 对话框中(Ctrl+Alt+S ),转到 。
或者,单击 语言服务 小部件所在的 状态 栏,然后单击
。

指定要使用的 Node.js 解释器。
如果选择 项目 别名,GoLand 将自动使用 Node 解释器 字段中的项目默认解释器。 在大多数情况下,GoLand 会检测项目默认解释器并自动填充该字段。
您也可以选择另一已配置的本地解释器或单击
配置一个新的解释器。
在 TypeScript 字段中,指定要使用的 TypeScript 版本(GoLand 会显示当前选择的版本)。
默认将使用项目 node_modules 文件夹中的
typescript包。内置: 选择此选项将使用随 GoLand 提供的
typescript包,而不去查找其他包。选择: 选择此选项将使用自定义的
typescript包,替代 GoLand 自带的包。 在打开的对话框中,选择相关包的路径。如果您的项目包管理器是 Yarn 2 ,则必须使用通过 Yarn 2 安装的
typescript包。 此时,将默认选中yarn:package.json:typescript。了解有关包管理器的更多信息,请参阅 npm 和 Yarn。
请确保选中 TypeScript 语言服务 复选框。 因此:
语法与错误高亮基于 TypeScript 语言服务提供的注解。
补全列表包含来自 TypeScript 语言服务的建议以及由 GoLand 计算出的建议。
TypeScript 代码将被编译为 JavaScript。
使用以下控件配置 TypeScript 语言服务的行为。
显示项目错误 − 默认勾选此复选框,TypeScript 语言服务将检查整个项目的代码。 检测到的错误将列在 项目错误 选项卡中,按出现错误的文件进行分组显示在 问题工具窗口 中。
为避免性能问题,请取消选中 显示项目错误 复选框,以便 TypeScript 语言服务仅在您打开文件时才检查这些文件。 然后 项目错误 选项卡中将仅列出已打开文件中检测到的错误。
显示建议 − 默认勾选此复选框,GoLand 会显示 TypeScript 语言服务在您的代码中检测到的潜在问题以及实际错误。


启用服务驱动类型引擎 − 选中此复选框可基于 TypeScript 编译器的数据评估符号的类型。
默认情况下该复选框未勾选,因此类型评估、解析、代码检查和重构基于 GoLand 内部 TypeScript 引擎提供的类型信息。
此默认行为可能导致性能问题以及类型解析中的错误,因为 GoLand 内部 TypeScript 引擎使用的类型评估算法与 TypeScript 编译器的算法有所不同。 选中此复选框可以帮助避免这些问题。
在 选项 字段中,指定在未找到 tsconfig.json 文件时传递给 TypeScript 语言服务的命令行选项。 请参阅 TSC 参数 以获取可接受选项列表。 请注意,
-w或--watch(监视输入文件 )选项无效。
重启 TypeScript 语言服务
单击 语言服务 小部件所在的 状态 栏,然后单击
。
本地化错误消息

在 设置 对话框(Ctrl+Alt+S )中,转到 。
在 TypeScript 字段中,指定与 已集成 不同的
typescript包。 该包可以来自您的项目node_modules文件夹内的typescript,也可以来自任何其他位置。在 选项 字段中,键入
--locale <abbreviation of the language to use>。 当前支持 Korean(ko)和 Japanese(ja)。
编辑 TypeScript 代码
GoLand 为 TypeScript 提供智能编码辅助功能,包括 上下文感知代码补全、 符号自动导入、 文档查阅、 参数提示、 导航、 支持 TypeScript 的语法高亮、 代码规范检查、 重构等功能。
自动导入
GoLand 能为模块、类、组件及任何其他已导出的 TypeScript 符号生成 import 语句。 默认情况下,GoLand 在您补全 TypeScript 符号时会添加 import 语句。
当您键入代码或粘贴包含尚未导入的符号的代码片段时,GoLand 也可以为该符号生成导入语句。 如果仅有一个导入来源,GoLand 会自动插入 import 语句。 否则,请使用 自动导入提示 或 专用导入快速修复。
在代码补全时添加 import 语句

在 设置 对话框(Ctrl+Alt+S )中,转到 。 将打开 Auto Import 页面。
在 TypeScript/JavaScript 区域,确保选中 自动添加 TypeScript 导入 和 在代码补全时 复选框。
在输入或粘贴代码时添加 import 语句

在 设置 对话框(Ctrl+Alt+S )中,转到 。 将打开 Auto Import 页面。
在 TypeScript/JavaScript 区域,确保选中 自动添加TypeScript import 和 即时明确导入 复选框。
使用自动导入工具提示
如果在补全或编辑过程中未添加 TypeScript 符号的 import 语句,GoLand 会显示一个建议导入该符号的弹窗。 要接受该建议,请按 Alt+Enter:
如果存在多个可用的导入源,GoLand 会通知您:

在这种情况下按 Alt+Enter 将打开建议列表:

要隐藏自动导入工具提示,请打开 设置 对话框(Ctrl+Alt+S ),转到 ,然后取消选中 带自动导入工具提示 复选框。
使用 import 快速修复
如果未显示自动导入工具提示,您可以随时按 Alt+Enter 并通过快速修复添加 import 语句。
若要生成 import,请选择 从中插入导入:

如果只有一个导入符号的来源,GoLand 会生成一条 import 语句:

如果有多个可用来源导入某个符号,请从建议列表中选择相关项:

如果在您的项目中启用了 TypeScript 语言服务,也可以使用其提供的建议:

配置 import 语句中 type 修饰符的使用
按 Ctrl+Alt+S 打开设置,然后选择 。
切换到 导入 选项卡,并在 在导入中使用 type 修饰符 字段中配置在类型的 import 语句中使用
type修饰符。 请注意,该设置仅适用于类型,对于非类型不会插入type修饰符,无论您选择哪个选项。使用该选项时,如果在 tsconfig.json 中指定了 "importsNotUsedAsValues": "error" 或 "verbatimModuleSyntax": true ,将添加
type修饰符。否则,如果没有偏好导入类型,则不会插入
type修饰符。
使用此选项,无论在 tsconfig .json 中是否指定了 "importsNotUsedAsValues": "error" 或 "verbatimModuleSyntax": true ,始终插入
type修饰符:
使用此选项,GoLand 始终不会使用
type修饰符,无论您在 tsconfig.json 中是否设置了 "importsNotUsedAsValues": "error" 或 "verbatimModuleSyntax": true:
如果已存在包含 type 修饰符的 import 语句,则无论所选选项或 tsconfig.json 设置如何,都将继续使用该修饰符导入类型。
对于常量,使用 {<constant name>} 说明符替代 type 修饰符。 对于 TypeScript 4.5 及更高版本,在选择了 自动 或 始终 的情况下,所有以前的修饰符将转换为 {type} 说明符。 否则,所有现有说明符保持不变。
请参阅 TypeScript 官方网站 了解更多信息。
配置 import 语句的显示方式
在 设置 对话框(Ctrl+Alt+S )中,转到 ,然后使用 Import 选项卡中的控件。
文档查阅
GoLand 允许您获取来自项目及其依赖项、外部库中定义的符号,以及标准 JavaScript API 的符号引用,因为 TypeScript 实现了所有这些。
默认情况下,文档会显示在 文档 弹窗中,但您也可以始终在 Documentation 工具窗口 中打开它,甚至可以将其配置为默认显示在 文档工具窗口 中。

查看快速文档
将鼠标悬停在编辑器中需要的符号上。
或者,将光标置于符号上并按 Ctrl+Q ,或从主菜单中选择 。
要默认在 文档 工具窗口中打开快速文档,请点击弹窗或工具窗口工具栏中的
,然后取消选中 首先显示文档弹窗 选项。
点击弹窗中的
可更改字体大小、显示快速文档工具栏或跳转到源码。
如需了解更多信息,请参阅 弹窗中的快速文档。
您可以在工具窗口中打开某个代码元素的文档,并持续查看当前文件中其他元素的文档,具体描述请参见 在工具窗口中保留文档。
在工具窗口中,代码文档显示在未固定的选项卡上(该选项卡以星号符号(* )标记)。 您可以将鼠标悬停在符号上或将光标置于其上来查看此文档。 如需了解更多信息,请参阅 快速文档工具窗口:模式。
查看插入符号处符号的 MDN 文档
对于 TypeScript 中可用的标准 JavaScript 方法,GoLand 也会显示对应的 MDN 文章 链接。

在 文档 窗口 Ctrl+Q 中,点击 MDN 链接。
或者,按 Shift+F1 ,或从主菜单中选择 。
GoLand 会在 默认 GoLand 浏览器 中打开 MDN 文章。
查看内嵌提示
内联提示会显示在编辑器中,向您提供有关代码的附加信息,以便更易于阅读和导航。
内联提示适用于 .ts 和 .tsx 文件。
如果启用了 TypeScript 语言服务,且 TypeScript 版本为 4.4 或更高版本,内联提示将由 TypeScript 语言服务提供。
对于旧版本 TypeScript 或禁用了 TypeScript 语言服务的情况,内联提示将由内部 GoLand 评估器提供。
与始终分析整个文件的检查和高亮不同,提示仅针对当前可见区域检索,并在滚动时更新。 此行为旨在实现更高的性能。
参数提示
参数提示显示方法和函数中的参数名称,以提高代码可读性。

在 TypeScript 5.2 及更高版本中,参数提示在悬停时会变为链接。 在按住 Ctrl 的同时点击该链接,将跳转到方法定义处。
配置参数提示
打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
在 参数名称 下展开 TypeScript。
通过选中相应的复选框,指定要显示参数提示的上下文。
预览显示了您在设置中所做的更改将如何影响代码外观。
返回类型提示
GoLand 可以在函数调用和调用链中显示函数返回类型。
函数返回类型提示来源于 TypeScript 语言服务。
当方法调用分布在多行并返回至少两种不同的类型时, 方法链中的返回类型提示将会显示。
方法链中的返回类型提示由内部的 GoLand 计算器提供。
配置函数返回类型提示
打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
在 类型 下展开 TypeScript 节点,然后选中 函数返回类型 复选框。
要在方法链中显示返回类型提示,请展开 方法链 节点并选中 TypeScript 复选框。
预览显示了您在设置中所做的更改将如何影响代码外观。
类型提示
类型提示显示变量、字段或参数的类型。 变量和字段的类型会显示在其定义旁边。 参数的类型提示会在函数调用中显示。 类型提示根据 JSDoc 注释或代码的静态分析推断得出。
在 TypeScript 5.3 及更高版本中,类型提示在悬停时会变为链接。 在按住 Ctrl 的同时点击该链接,将跳转到类型定义处。
配置类型提示
打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
展开 。
展开 类型注解 节点,并指定要显示类型提示的上下文。
预览显示了您在设置中所做的更改将如何影响代码外观。

要隐藏所有上下文中的任意值类型的参数类型和返回类型提示,请清除 TypeScript 下的 类型 复选框。
数值枚举值
GoLand 会为 数字枚举显示提示,以提高代码可读性。 这些提示来自 TypeScript 语言服务,默认情况下会显示。
隐藏数值枚举值
打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
展开 值 节点并选中 TypeScript 复选框。GoLand 将隐藏提示,仅显示显式初始化常量的值。预览显示了您在设置中所做的更改将如何影响代码外观。 GoLand 将隐藏提示,仅显示显式初始化常量的值。 预览显示了您在设置中所做的更改将如何影响代码外观。
TypeScript 中的 JavaScript 库
在 TypeScript 中使用 JavaScript 库时,您需要为其 安装类型声明。 GoLand 会提醒您通过 npm 或 yarn 安装类型声明,并相应更新 package.json 文件。
安装类型声明
将光标置于警告处并按 Alt+Enter。

选择建议项并按 Enter。

TypeScript 原生预览(TypeScript-Go)
GoLand 通过 TypeScript Native Previews 提供基本的 TypeScript-Go 支持。
启用 TypeScript-Go 支持
在项目中将
@typescript/native-preview软件包作为依赖项安装,替代typescript软件包。为此,请打开 package.json ,将
typescript替换为@typescript/native-preview。 将鼠标悬停在@typescript/native-preview版本上时,GoLand 会显示一个弹窗,告知您指定的软件包尚未安装。 点击 运行 'npm install' 链接。
在计算机的其他位置安装
@typescript/native-preview,并将其指定为项目中要使用的 TypeScript 软件包。为此:
在计算机上安装
@typescript/native-preview软件包,例如,进行全局安装。在内嵌 终端 (Alt+F12 )中键入:
npm install --g @typescript/native-preview在 设置 对话框(Ctrl+Alt+S )中,转到 ,然后在 TypeScript 字段中指定
@typescript/native-preview软件包的路径。 如果您按照标准安装操作执行,GoLand 会在 TypeScript 下拉列表中显示@typescript /native-preview软件包。

克隆并在本地构建 TypeScript-Go 代码库 ,并在 TypeScript 字段中的 设置 | 语言与框架 | TypeScript 对话框中 按上述说明进行定位。
重新格式化代码
GoLand 允许您根据当前的 代码样式方案重新格式化 TypeScript 代码。
您也可以在 .editorconfig 中指定格式设置或使用 Prettier。
装饰器
对于装饰器来说,在重新格式化期间禁止在每个装饰器之后插入换行可能很重要。
配置装饰器
打开 设置 对话框(Ctrl+Alt+S ),然后转到 。
在 换行与大括号 选项卡中,选择有关装饰器类型的相关选项。

以下是可用于装饰器的格式设置选项:
不换行
选中此选项后,在重新格式化包含装饰器的代码行时不会进行换行。
超出长度则换行
选中此选项后,如果代码行超出右边距,则会进行换行。
右边距在 在此处强制换行 字段中定义,该字段位于 设置 | 编辑器 | 代码样式 | JavaScript | 换行和大括号。 如果代码行超出指定的数值,则会进行换行。
超出长度则拆分
选中此选项后,如果装饰器超出右边距,将按每行一个的方式进行格式化。
始终换行
选中此选项后,所有装饰器都将按照每行一个的方式进行格式化。
语法高亮
您可以根据自己的偏好和习惯配置 TypeScript 感知的语法高亮设置。
在 设置 对话框(Ctrl+Alt+S )中,转到 。
选择配色方案,接受从默认方案继承的高亮设置,或按照 颜色与字体 中所述自定义设置。
代码导航
您可以使用各种操作和弹出窗口,在 GoLand 编辑器中快速浏览 TypeScript 项目。
转到符号的声明
您可以从变量、字段、方法或其他符号跳转到其声明,或 在弹出窗口中查看符号定义 ,而无需离开当前正在编辑的代码。
若要跳转到符号的声明,请将插入点置于该符号的使用位置并按 Ctrl+B ,或者在主菜单中选择 。

或者,使用 Ctrl+Click :按住 Ctrl 并将鼠标悬停在符号上。 当符号变成超链接时,点击该超链接,但不要释放 Ctrl。

转到符号的用法
您可以查看符号的使用列表,并选择要跳转的项。
若要获取某个符号的使用列表,请将插入点置于该符号的声明位置,并执行以下操作之一:
按 Ctrl+B ,或在主菜单中选择 。
按 Ctrl+Alt+F7 ,或在主菜单中选择 。
在弹出窗口中,使用工具栏上的图标配置列表外观,并过滤掉无关的使用项,例如 import 语句中的使用。

在列表中,选择您要跳转的符号使用项并按 Enter。

转到符号的类型声明
您可以从变量、字段、方法或其他符号跳转到其类型声明。 或者, 在弹出窗口中打开类型定义 ,而无需跳转到类型声明。
GoLand 还会显示某个对象的 推断类型。 您可以在工具提示或文档弹出窗口中查看推断类型信息。
请注意 与 之间的区别。 假设您有一个文件 app.ts ,其中包含以下代码:
如果您将插入点置于 dog 中的 dog.bark() ,则 将带您跳转到 let dog = new Dog () 中该变量的声明,而 将带您跳转到类 Dog 的声明。
查看符号的推断类型信息
按住 Ctrl 并将鼠标悬停在符号上。

或者,将鼠标悬停在某个符号上。 GoLand 会立即在 文档 弹出窗口中显示该符号的引用。

请参阅上文的 文档查询 了解详细信息。
在子类、超类、重写及实现之间导航
您可以通过编辑器中的边栏图标或按下相应的快捷键,追踪类实现和重写方法。
转到子类
按 Ctrl+Alt+B ,或点击边栏中的
,然后从列表中选择相关类。

或者,从主菜单中选择 ,或从上下文菜单中选择 ,然后从列表中选择相关类。
转到超类或重写方法
将光标置于某个子类上,并按下 Ctrl+U。 GoLand 会将您导航至超类的声明,并将光标置于其名称上。
点击重写方法旁边空白区域中的
。 GoLand 会将您导航至超类,并将光标置于被重写的方法上。

或者,将光标置于重写方法上,然后按下 Ctrl+U ,或从主菜单中选择 ,或从上下文菜单中选择 。
转到接口或已实现方法
将光标置于某个接口的实现上并按下 Ctrl+U。

GoLand 会将您导航至接口的声明,并将光标置于其名称上。
点击实现方法旁边空白区域中的
。 GoLand 会将您导航至相应接口,并将光标置于已实现的方法上。

或者,将光标置于实现方法上并按下 Ctrl+U ,或从主菜单中选择 ,或从上下文菜单中选择 。
TypeScript 中的重构
GoLand 提供常见的重构操作,如 重命名/移动 等,以及 TypeScript 特有的重构操作,如 更改签名、 引入参数、 引入变量。 有关详细信息,请参阅
运行和调试您的应用程序
借助 GoLand,您可以运行并调试客户端 TypeScript 代码以及在 Node.js 中运行的 TypeScript 代码。 详见 运行和调试 TypeScript。


