编辑TypeScript
Visual Studio Code 对 TypeScript 有很好的编辑支持。本文将深入介绍 VS Code 内置的编辑和编程语言功能。如果你想了解更多VS Code中的通用编辑功能,比如键盘快捷键、多光标、搜索以及查找替换,可以阅读《基础编辑》。
IntelliSense
IntelliSense 会为你展示智能代码补全、悬停信息和签名帮助,让你能更快更准确地编写代码。

VS Code 为单个 TypeScript 文件以及 TypeScript 提供 IntelliSensetsconfig.json项目。
悬停信息
将鼠标悬停在 TypeScript 符号上,可快速查看其类型信息和相关文档:

你也可以用 ⌘K ⌘I(Windows,Linux Ctrl+K Ctrl+I)快捷键显示当前光标位置的悬停信息。
签名帮助
当你编写 TypeScript 函数调用时,VS Code 会显示函数签名的信息,并突出显示你当前正在执行的参数:

当你输入 a 或 时,签名帮助会自动显示(,在函数调用中。使用⇧⌘Space(Windows,Linux Ctrl+Shift+Space)手动触发签名帮助。
片段
VS Code 包含基本的 TypeScript 片段,在你输入时会被推荐;

你可以安装扩展以获取额外的摘要,或者为TypeScript自定义自己的摘要。更多信息请参见用户定义摘要。
你可以通过设置禁用片段editor.snippet建议到“没有”在你的设置文件里。如果你想看片段,可以指定相对于建议的顺序;顶部(“顶”),在底部(“底层”),或按字母顺序排列(“内线”).默认为“内线”.
镶嵌提示
内嵌提示会为源代码添加额外的内联信息,帮助你理解代码的作用。
参数名称内嵌提示显示函数调用中参数名称:

这能帮助你一目了然地理解每个参数的含义,尤其适用于使用布尔标志或参数容易混淆的函数。
要启用参数名称提示,设typescript.inlayHints.parameterNames.enabled.有三种可能的数值:
没有— 禁用参数嵌入提示。字面意义——仅显示字面值(字符串、数字、布尔值)的内嵌提示。全部—— 所有论点都显示内嵌提示。
变量类型内嵌提示显示了没有显式类型注释的变量类型。
地点:typescript.inlayHints.variableTypes.enabled

属性类型内嵌提示显示没有显式类型注释的类属性类型。
地点:typescript.inlayHints.propertyDeclarationTypes.enabled

参数类型提示显示隐式类型参数的类型。
地点:typescript.inlayHints.parameterTypes.enabled

返回类型内嵌提示显示没有显式类型注释的函数返回类型。
地点:typescript.inlayHints.functionLikeReturnTypes.enabled

参考文献 CodeLens
TypeScript引用CodeLens显示类、接口、方法、属性和导出对象的内联引用计数:

你可以通过设置来启用“typescript.referencesCodeLens.enabled”: true在用户设置文件中。
点击参考文献数量,快速浏览参考文献列表:

实现CodeLens
TypeScript 实现的 CodeLens 显示接口的实现者数量:

你可以通过设置来启用“typescript.implementationsCodeLens.enabled”: true.
与参考的CodeLens类似,你可以点击实现计数,快速浏览所有实现列表。
汽车进口
自动导入通过帮助你找到可用符号并自动添加导入,加快了编码速度。
只需开始输入,就能看到当前项目中所有可用TypeScript符号的建议。

如果你从其他文件或模块中选择了其中一个建议,VS Code 会自动为它添加导入。在这个例子中,VS Code 添加了一个赫拉克勒斯文件顶部:

你可以通过设置来禁用自动导入“typescript.suggest.autoImports”: false.
添加导入粘贴
当你在编辑器之间复制粘贴代码时,VS Code 可以自动添加导入。当你粘贴包含未定义符号的代码时,会显示一个粘贴控件,让你选择将代码粘贴为纯文本或添加导入。
这个功能默认是开启的,但你可以通过切换
你可以让带导入的粘贴成为默认行为,而不显示粘贴控制,方法是配置
text.updateImports.jsts或text.update导入粘贴时总是添加导入。
JSX和自动关闭标签
VS Code 的 TypeScript 功能也支持 JSX。要在TypeScript中使用JSX,请使用*.tsx文件扩展名而非正常扩展名*.ts:

VS Code 还包含 JSX 专属功能,如 TypeScript 中 JSX 标签的自动关闭:
赛场“typescript.autoClosingTags”到错误以禁用 JSX 标签关闭。
JSDoc 支持
VS Code 的 TypeScript IntelliSense 理解许多标准的 JSDoc 注释,并用它们在建议、悬停信息和签名帮助中展示打字信息和文档。

请记住,使用 JSDoc 编写 TypeScript 代码时,不应包含类型注释。TypeScript编译器仅使用TypeScript类型的注释,忽略JSDoc中的注释。
要在 TypeScript 中禁用 JSDoc 评论建议,设置“typescript.suggest.completeJSDocs”: false.
代码导航
代码导航让你能快速浏览 TypeScript 项目。
- 进入定义F12——进入符号定义的源代码。
- 窥视定义 ⌥F12(Windows Alt+F12,Linux Ctrl+Shift+F10)——调出显示符号定义的窥视窗口。
- 前往参考文献 ⇧F12(Windows,Linux Shift+F12)——显示所有符号的引用。
- 进入类型定义——进入定义符号的类型。对于类的实例,这会揭示该类本身,而不是实例定义的位置。
- 前往实现 ⌘F12(Windows,Linux Ctrl+F12)——前往接口或抽象方法的实现。
你可以通过命令面板中的“去到符号”命令(Windows,Linux Ctrl+Shift+P)中的“去到符号”命令进行导航。
- 进入文件中的符号 ⇧⌘O(Windows,Linux Ctrl+Shift+O)
- 在工作区 ⌘T 中切换到符号(Windows,Linux Ctrl+T)
格式
VS Code 包含一个 TypeScript 格式化器,提供基本的代码格式和合理的默认值。
使用该Typescript.format.* 设置以配置内置格式化器,例如让大括号出现在独立行上。或者,如果内置的格式化器妨碍了作,可以设置“typescript.format.enable”到错误用来关闭它。
如果想要更专业的代码格式风格,可以试着安装VS Code市场的格式扩展。
句法高亮与语义高亮
除了语法高亮,TypeScript 和 JavaScript 还提供语义高亮功能。
句法高亮会根据词汇规则为文本上色。语义高亮增强了基于语言服务解析符号信息的语法着色。
语义高亮是否可见取决于当前的色彩主题。每个主题都可以配置是否显示语义高亮以及如何样式化语义标记。
如果启用语义高亮,并且色彩主题有对应的样式规则,可以看到不同的颜色和样式。
语义高亮的颜色可以根据以下原因变化:
- 符号的解析类型:命名空间、变量、属性、变量、类、接口、类型参数。
- 变量/属性是只读(const)还是可修改。
- 无论变量/属性类型是否可调用(函数类型)。
下一步
继续阅读,了解:
- 重构TypeScript——了解TypeScript可用的有用重构方法。
- 调试 TypeScript - 为你的 TypeScript 项目配置调试器。