

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 增强的 TypeScript 支持和功能
<a name="projects"></a>

 AWS Cloud9 IDE 允许您使用*语言项目*来访问的增强生产力功能 TypeScript。语言项目是 IDE 中 AWS Cloud9 开发环境的相关文件、文件夹和设置的集合。

要使用 IDE 在您的环境中创建语言项目，请参阅 [创建语言项目](#projects-create)。

## 可用的项目工作效率功能
<a name="projects-features"></a>

 AWS Cloud9 IDE 为提供了以下项目生产力功能 TypeScript。

### Autocomplete
<a name="projects-features-autocomplete"></a>

在编辑器中键入文件时，如果有符号可用，则在该上下文的插入点处显示符号列表。

若要在插入点从列表中插入符号，如果尚未选择符号，请使用上箭头或下箭头键选择该符号，然后按 `Tab`。

在您按 `Tab` 之前，您可能会看到一个屏幕提示，其中包含有关所选的符号（如果信息可用）。

若不插入符号，要关闭列表，请按 `Esc`。

### 间距图标
<a name="projects-features-gutter-icons"></a>

图标可能会出现在活动文件的间距中。在您运行代码前，这些图标会突出显示可能出现的问题，如警告和代码中的错误。

有关问题的更多信息，请将指针暂停在问题的图标上。

### 快速修复
<a name="projects-features-quick-fixes"></a>

在编辑器内的活动文件中，您可以显示有关编码错误和警告的信息，以及可以自动应用于该代码的可能修复。要显示错误或警告信息以及可能的修复，请选择代码中带有红色虚线下划线（用于错误）或灰色虚线（用于警告）的任何部分。或者，如果光标停留在带有红色或灰色虚线下划线的代码上，请按 `Option-Enter`（适用于 macOS），或 `Alt-Enter`（适用于 Linux 或 Windows）。要应用建议的修复，请在列表中选择修复，或使用箭头键选择修复，然后按 `Enter`。要打开或关闭鼠标点击的选择快速修复，请选择 **AWS Cloud9** > **Preferences（首选项）**> **User Settings（用户设置）**> **Language（语言）**> **Hints & Warning（提示和警告）**> **Show Available Quick Fixes on Click（点击时显示可用的快速修复）**。

### 查找引用
<a name="projects-features-find-refs"></a>

在编辑器内的活动文件中，如果 IDE 具有这些引用的访问权限，您可以在插入点处显示对该符号的所有引用。

要进行此操作，请在符号内任意位置的插入点处运行** `Find References` **命令。例如：
+ 右键单击插入点处，然后选择 **Find References（查找引用）**。
+ 在菜单栏上，选择 **Go > Find Replace（查找 > 替换）**。
+ 对于 macOS、Windows 或 Linux，默认按 `Shift-F3`。

如果引用可用，则会在活动文件顶部的该符号旁边打开一个窗格。该窗格包含引用符号的文件的列表。该窗格将显示列表中的第一个引用。要显示其他参照，请在列表中选择该参照。

要关闭窗格，请选择关闭 (**X**) 图标，或按 `Esc`。

在以下情况下，** `Find References` **命令可能被禁用，或者可能无法按预期工作：
+ 在活动文件的项目中没有对该符号的引用。
+ IDE 无法在活动文件的项目中找到该符号的部分或全部引用。
+ IDE 无权访问活动文件的项目中引用该符号的一个或多个位置。

### 转到定义
<a name="projects-features-go-to-def"></a>

在编辑器内的活动文件中，您可以从符号转到定义该符号的位置（如果 IDE 可以访问该定义）。

要进行此操作，请在符号内任意位置的插入点处运行** `Jump to Definition` **命令。例如：
+ 右键单击插入点处，然后选择 **Jump to Definition（跳到定义）**。
+ 在菜单栏上，选择 **Go > Jump to Definition（转到 > 转到定义）**。
+ 对于 macOS、Windows 或 Linux，默认按 `F3`。

如果定义可用，即使该定义位于单独的文件中，插入点也将切换到该定义。

在以下情况下，** `Jump to Definition` **命令可能被禁用，或者可能无法按预期工作：
+ 符号是该语言的原语符号。
+ IDE 无法在活动文件的项目中找到定义的位置。
+ IDE 无法在活动文件项目中访问定义的位置。

### Go to Symbol（转到符号）
<a name="projects-features-go-to-symbol"></a>

您可以转到项目中的指定符号，如下所示。

1. 通过在编辑器中打开项目中的其中一个文件，使其处于活动状态。如果已打开该文件，请选择编辑器中的选项卡以确认该文件为活动文件。

1. 运行 **`Go to Symbol`** 命令。例如：
   + 选择 **Go（前往）**窗口按钮（放大镜图标）。在 **Go to Anything（转到任意内容）**框中，键入 `@`，然后开始键入符号。
   + 在菜单栏上，选择**Go > Go To Symbol（转到 > 转到符号）**。在 **Go（转到）**窗口中，开始在 **@** 后键入符号。
   + 对于 macOS，默认按 `Command-2` 或 `Command-Shift-O`；对于 Windows 或 Linux，默认按 `Ctrl-Shift-O`。在 **Go（转到）**窗口中，开始在 **@** 后键入符号。

   例如，若要在名为 `toString` 的项目中查找所有符号，开始键入 `@toString`（或如果已显示 **@**，在 **@** 后开始键入 `toString`）。

1. 如果您在 **Symbols（符号）**列表中看到了想要转到的符号，单击选择它。或者使用上箭头或下箭头键选择它，然后按 `Enter`。然后插入点将切换到该符号。

如果要转到的符号不在活动文件的项目中，则此过程可能无法取得预期效果。

## 创建语言项目
<a name="projects-create"></a>

使用以下步骤创建一个语言项目，该项目将与 AWS Cloud9 IDE 中支持的项目生产力功能配合使用。

**注意**  
我们建议您对属于语言项目一部分的文件使用受支持的项目生产力功能。尽管您可以在不属于项目的文件上使用某些受支持的项目生产力功能，但这些功能可能会产生意外结果。  
例如，您可以使用 IDE 从不属于项目的环境的根级别文件中搜索引用和定义。然后，IDE 可能只搜索同一根级别的文件。这可能导致找不到引用或定义，即使这些引用或定义实际位于同一环境中其他位置的语言项目中。

### 创建 TypeScript 语言项目
<a name="projects-create-typescript"></a>

1. 确保已在环境中 TypeScript 安装。有关更多信息，请参阅 [TypeScript 的教程 AWS Cloud9](sample-typescript.md) 中的 [步骤 1：安装所需工具](sample-typescript.md#sample-typescript-install)。

1. 从环境的 IDE 中的终端会话中，切换到您想要创建项目的目录。如果目录不存在，请创建并切换到该目录。例如，以下命令在环境的根目录下（`~/environment` 中）创建名为 `my-demo-project` 的目录，然后切换到该目录。

   ```
   mkdir ~/environment/my-demo-project
   cd ~/environment/my-demo-project
   ```

1. 在要创建项目的目录的根目录下，使用**`--init`**选项运行 TypeScript 编译器。

   ```
   tsc --init
   ```

   如果此命令成功，编 TypeScript 译器将在项目目录的根目录中创建一个`tsconfig.json`文件。您可以使用此文件来定义各种项目设置，例如 TypeScript 编译器选项和要在项目中包含或排除的特定文件。

   有关 `tsconfig.json` 文件的更多信息，请参阅以下网站：
   +  [tsconfig.json 网站上概述](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)。 TypeScript 
   +  json.schemastore.org 网站上的 [tsconfig.json 架构](http://json.schemastore.org/tsconfig)。