

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

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

# 增强了 AWS Cloud9 IDE 中的语言支持
<a name="enhanced-lang-support"></a>

AWS Cloud9 提供增强的支持，以改善您在使用以下语言进行编码时的开发体验：
+ **Java**：扩展允许提供诸如代码完成、错误检查、特定于上下文的操作和调试选项等功能。
+ **Typescript**：*语言项目*提供了对以下内容的增强生产力功能的 TypeScript访问权限：.

**Topics**
+ [增强版 Java 支持](enhanced-java.md)
+ [增强 TypeScript 支持](projects.md)

# 增强了对 Java 开发的支持
<a name="enhanced-java"></a>

AWS Cloud9 提供增强的语言支持，以改善您在使用 Java 时的开发体验。主要的生产力特性包括代码完成、错误筛选、代码镜头，以及调试选项，如断点和步进。

**重要**  
生产力增强功能仅适用于连接到 Amazon EC2 实例的 AWS Cloud9 开发环境。  
此外，为了确保在使用对 Java 的增强语言支持时获得最佳 IDE 体验，支持您的 AWS Cloud9 环境的 Amazon EC2 计算实例需要 **2 GiB** 或更多的内存。如果 AWS Cloud9 检测到您的 EC2 计算实例没有足够的 RAM，则无法选择激活 Java 增强功能。

## 激活和自定义增强的 Java 支持
<a name="activating-java-support"></a>

如果满足以下条件，将自动显示激活 Java 增强支持的选项：
+ 您的 AWS Cloud9 环境已连接到具有 2 GiB 或更大内存的 Amazon EC2 实例。
+ 您正在处理与 Java 开发相关的文件。 AWS Cloud9 检查以下文件名和扩展名：`*.java`、`*.gradle`（与 Gradle 构建工具关联）和`pom.xml`（与 Apache Maven 编译工具关联）。
+ 你正在一个在 **2020 年 12 月 11 日**之后创建的 AWS Cloud9 环境中工作。目前，不可能在此日期之前创建的开发环境中使用 Java 生产力功能。

如果满足这些条件，将显示一个对话框，询问您是否要激活用于编码和调试 Java 的额外生产力功能。如果选择 **Activate**（激活），则可以开始使用 IDE 中的功能。

![\[代码完成途径\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/working_with_java_rework.png)


**注意**  
在您创建 AWS Cloud9 环境时启动的亚马逊 EC2 实例已经安装了 *Amazon Coretto 11*。Amazon Coretto 是开放 Java 开发工具包 (OpenJDK) 的免费、多平台、生产就绪型分发版。这意味着您可以开始在中开发和运行 Java 应用程序 AWS Cloud9 out-of-the-box。

您也可以使用该 AWS Cloud9 界面手动激活和停用增强的语言和调试支持。依次选择 **Preferences**（首选项）、**Java Support**（Java 支持）和 **Enhanced Java Support**（增强版 Java 支持）。

![\[手动激活和停用增强的 Java 支持\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/activate_java_extensions_update.png)


IDE 的两个扩展提供了对 AWS Cloud9 Java 开发的增强支持：
+ Red Hat 对 Java(TM) 的语言支持
+ 适用于 Java 的调试程序

该 AWS Cloud9 界面允许您访问各种设置，以自定义这些扩展程序的性能。要更改扩展设置，请依次选择 **Preferences**（首选项）、**Java Support**（Java 支持）。

有关这些设置的详细信息，请参阅扩展 GitHub 存储库中已安装版本的 ReadMe 页面：
+ [Red Hat 对 Java(TM) 的语言支持](https://github.com/redhat-developer/vscode-java/tree/v1.8.0)
+ [适用于 Java 的调试程序](https://github.com/microsoft/vscode-java-debug/tree/0.40.1)

## 功能亮点
<a name="key-java-features"></a>

激活增强型 Java 支持后，您可以使用一系列提高生产力的功能。

**代码完成**

代码完成后，编辑器会根据您输入的代码提供上下文感知建议。例如，如果在对象名称后键入点 (".") 运算符，则编辑器将显示该对象可用的方法或属性。

![\[代码完成途径\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/code-complete-java.png)


**代码镜头**

代码镜头允许您直接在源代码中访问上下文特定的操作。对于 Java 开发，代码透镜通过允许您运行和调试特定方法来促进单元测试。

![\[访问代码镜头\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/context-specific-actions.png)


**代码检查**

代码检查描述了编辑器在构建代码之前如何突出显示代码中的潜在错误。例如，如果您尝试使用未初始化的变量或试图为期望使用不同类型的变量分配值，检查工具就会调用。

![\[在构建代码之前限制突出显示错误\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/linting.png)


**调试选项**

可以实现断点和监视表达式。在源代码中设置断点并显示调试器窗格以定义相关条件。

![\[调试选项\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/debugging_options.png)


**使用配置文件进行调试**

您还可以使用 AWS Cloud9 通过 `launch.json` 和 `tasks.json` 配置文件支持的启动配置和任务来控制调试配置。有关启动配置及其使用方法的示例，请参阅 [Java 调试配置](https://github.com/microsoft/vscode-java-debug/blob/main/Configuration.md)。

**Java 命令**

您可以通过**按 Ctrl** \$1 从 AWS Cloud9 命令面板运行命令。 或者 **F1**。然后通过输入“java”来过滤相关命令。

![\[列出可用的 Java 命令\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/java_commands.png)


**快速修复**

通过快速修复，您可以通过为缺少的元素创建存根来解决由于使用未声明的变量或未定义的方法而导致的错误。

![\[实施快速修复\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/quick_fix_java.png)


**重构**

重构允许您在不改变其行为的情况下重组代码。要访问诸如组织导入或创建构造函数等选项，请打开该项的上下文（右键单击）菜单，然后选择 **Refactoring**（重构）。

![\[重构功能\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/refactoring_java.png)


**重命名**

重命名是一项重构功能，允许您通过单个操作轻松修改代码中出现的所选变量、函数和类的名称。要更改名称，请打开该项目的上下文（右键单击）菜单，然后选择 **Rename**（重命名）。重命名会影响代码中名称的每个实例。

![\[重命名类名称\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/renaming_refactoring_java.png)


## 用于 Java 开发的可选工具
<a name="optional-tools"></a>

提供增强 Java 支持的扩展包括允许您将 Gradle 和 Maven 自动化工具集成到项目开发中的功能。这些工具未预先安装在您的 AWS Cloud9 开发环境中。有关安装和使用这些可选构建工具的更多信息，请参阅以下资源：
+ **Gradle**：[入门指南](https://docs.gradle.org/current/userguide/userguide.html)
+ **Maven**：[时长 5 分钟的 Maven](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)

## Java 扩展的 Problems（问题）选项卡
<a name="problems-panel"></a>

您可以在 AWS Cloud9 IDE 的 “问题” 选项卡中查看 AWS Cloud9 环境中的 Java 项目问题并对其进行故障排除。要显示 Problems（问题）选项卡，请从 AWS Cloud9 IDE 中选择 **View**（查看），然后从菜单栏中选择 **Problem**（问题）。

![\[打开 Problems（问题）选项卡\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/problems-panel.png)


您也可以在控制台中选择 **\$1** 图标，然后选择 **Open Problems**（打开问题），以此来打开 Problems（问题）选项卡。当您在选项卡中选择问题时，它会打开受影响的文件并显示问题详细信息。

# 增强的 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)。