# 在 IDE 中使用 GitHub Copilot 聊天提示语入门

大致了解在 IDE 中使用的 Copilot Chat 方法。

您可以询问有关您项目的特定问题或一般软件问题。 还可以要求 Copilot Chat 编写代码、修复错误、编写测试和文档代码。

使用上面的选项卡选择正在使用 Copilot Chat的环境。

<div class="ghd-tool vscode">

<a href="vscode://GitHub.Copilot-Chat?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 mb-3 no-underline">
<span>打开 Copilot Chat（在 Visual Studio Code</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg> 中）
</a>

以下示例提示中的一些提示使用聊天参与者（前面有 `@`）、斜杠命令（前面有 `/`）或聊天变量（前面有 `#`）。 有关提示中关键字的详细信息，请参阅“[在 IDE 中向 GitHub Copilot 提问问题](/zh/copilot/how-tos/chat-with-copilot/chat-in-ide#using-keywords-in-your-prompt)”。

## 询问常见软件问题

你可以向 Copilot Chat 询问一般软件问题。 例如：

* `tell me about nodejs web server frameworks`
* `how can I create an Express app`
* `@terminal how to update an npm package`

## 询问有关您项目的问题

你可以向 Copilot Chat 询问项目相关问题。

* `what sorting algorithm does this function use`
* `@workspace how are notifications scheduled`
* `#file:gameReducer.js #file:gameInit.js how are these files related`

若要提供 Copilot 正确的上下文，请尝试以下一些策略：

* 突出显示相关代码行。
* 使用聊天变量，例如 `#selection`、`#file`、`#editor`、`#codebase` 或 `#git`。
* 使用 `@workspace` 聊天参与者。

## 编写代码

你可以要求 Copilot 为你编写代码。 例如：

* `write a function to sum all numbers in a list`
* `add error handling to this function`
* `@workspace add form validation, similar to the newsletter page`

当 Copilot 返回代码块时，响应中包含用于将代码复制到或将代码插入到光标位置、新文件或终端中的选项。

## 询问有关 GitHub Advanced Security 功能产生的警报的问题

你可以向 Copilot 询问有关组织内存储库中的安全警报的问题，这些警报来自于 GitHub Advanced Security 功能（code scanning、secret scanning 和 Dependabot alerts）。 例如：

* `How would I fix this alert?`
* `How many alerts do I have on this pull request?`
* `Which line of code is this code scanning alert referencing?`
* `What library is affected by this Dependabot alert?`

## 设置新项目

使用 `/new` 斜杠命令设置新项目。 例如：

* `/new react app with typescript`
* `/new python django web application`
* `/new node.js express server`

Copilot将建议目录结构，并提供用于创建建议的文件和内容的按钮。 要预览建议的文件，请在建议的目录结构中选择文件名称。

使用 `/newNotebook` 斜线命令来设置新的 Jupyter Notebook。 例如：

* `/newNotebook retrieve the titanic dataset and use Seaborn to plot the data`

## 修复、改进和重构代码

如果活动文件包含错误，请使用 `/fix` 斜杠命令请求 Copilot 修复错误。

还可以提出常规请求来改进或重构代码。

* `how would you improve this code?`
* `translate this code to C#`
* `add error handling to this function`

## 编写测试

`/tests`使用斜杠命令请求Copilot为活动文件或所选代码编写测试。 例如：

* `/tests`
* `/tests using the Jest framework`
* `/tests ensure the function rejects an empty list`

`/tests` 斜杠命令将为现有代码编写测试。 如果希望在编写代码之前编写测试（测试驱动的开发），请省略 `/tests` 命令。 例如：

* `Add tests for a JavaScript function that should sum a list of integers`

## 询问有关Visual Studio Code的问题

使用`@vscode`与聊天参与者交流，以询问有关Visual Studio Code的具体问题。 例如：

* `@vscode tell me how to debug a node.js app`
* `@vscode how do I change my Visual Studio Code colors`
* `@vscode how can I change key bindings`

## 询问有关命令行的问题

使用 `@terminal` 聊天参与者工具来询问有关命令行的特定问题。 例如：

* `@terminal find the largest file in the src directory`
* `@terminal #terminalLastCommand` 解释上一个命令以及任何错误

</div>

<div class="ghd-tool visualstudio">

## 询问常见软件问题

你可以向 Copilot Chat 询问一般软件问题。 例如：

* `tell me about nodejs web server frameworks`
* `how can I create an Express app`
* `what's the process for updating an npm package`

## 询问有关您项目的问题

你可以向 Copilot Chat 询问项目相关问题。 若要提供 Copilot 正确的上下文，请尝试以下一些策略：

* 突出显示相关代码行。
* 打开相关文件。
* 使用 `#file` 指示 Copilot 引用特定文件。
* 使用 `#solution` 命令 Copilot 引用活动文件。

例如：

* `what sorting algorithm does this function use`
* `#file:gameReducer.js what happens when a new game is requested`

## 编写代码

你可以要求 Copilot 为你编写代码。 例如：

* `write a function to sum all numbers in a list`
* `add error handling to this function`

返回代码块时 Copilot ，响应包括用于复制代码、将代码插入新文件中或预览代码输出的选项。

## 询问有关 GitHub Advanced Security 功能产生的警报的问题

你可以向 Copilot 询问有关组织内存储库中的安全警报的问题，这些警报来自于 GitHub Advanced Security 功能（code scanning、secret scanning 和 Dependabot alerts）。 例如：

* `How would I fix this alert?`
* `How many alerts do I have on this pull request?`
* `Which line of code is this code scanning alert referencing?`
* `What library is affected by this Dependabot alert?`

## 修复、改进和重构代码

如果活动文件包含错误，请使用 `/fix` 斜杠命令请求 Copilot 修复错误。

还可以提出常规请求来改进或重构代码。

* `how would you improve this code?`
* `translate this code to C#`
* `add error handling to this function`

## 编写测试

`/tests`使用斜杠命令请求Copilot为活动文件或所选代码编写测试。 例如：

* `/tests`
* `/tests using the Jest framework`
* `/tests ensure the function rejects an empty list`

`/tests` 斜杠命令将为现有代码编写测试。 如果希望在编写代码之前编写测试（测试驱动的开发），请省略 `/tests` 命令。 例如：

* `Add tests for a JavaScript function that should sum a list of integers`

</div>

<div class="ghd-tool jetbrains">

## 询问常见软件问题

你可以向 Copilot Chat 询问一般软件问题。 例如：

* `tell me about nodejs web server frameworks`
* `how can I create an Express app`
* `what's the process for updating an npm package`

## 询问有关您项目的问题

你可以向 Copilot Chat 询问项目相关问题。 若要提供 Copilot 正确的上下文，请尝试以下一些策略：

* 突出显示相关代码行。
* 打开相关文件。
* 添加文件作为引用。 有关如何使用文件引用的信息，请参阅 [在 IDE 中向 GitHub Copilot 提问问题](/zh/copilot/how-tos/chat-with-copilot/chat-in-ide?tool=jetbrains#file-references)。
* 使用 `@project` 聊天参与者。

例如：

* `what sorting algorithm does this function use`
* `how are these files related`（引用相关文件）
* `@project how are notifications scheduled`

## 编写代码

你可以要求 Copilot 为你编写代码。 例如：

* `write a function to sum all numbers in a list`
* `add error handling to this function`

返回代码块时，Copilot 的响应包括选项，可用于复制代码或将代码插入光标所在位置。

## 修复、改进和重构代码

如果活动文件包含错误，请使用 `/fix` 斜杠命令请求 Copilot 修复错误。

还可以提出常规请求来改进或重构代码。

* `how would you improve this code?`
* `translate this code to C#`
* `add error handling to this function`

## 编写测试

`/tests`使用斜杠命令请求Copilot为活动文件或所选代码编写测试。 例如：

* `/tests`
* `/tests using the Jest framework`
* `/tests ensure the function rejects an empty list`

`/tests` 斜杠命令将为现有代码编写测试。 如果希望在编写代码之前编写测试（测试驱动的开发），请省略 `/tests` 命令。 例如：

* `Add tests for a JavaScript function that should sum a list of integers`

</div>

<div class="ghd-tool eclipse">

## 询问常见软件问题

你可以向 Copilot Chat 询问一般软件问题。 例如：

* `tell me about nodejs web server frameworks`
* `how can I create an Express app`
* `what's the process for updating an npm package`

## 询问有关项目中的文件的问题

你可以向 Copilot Chat 提问关于当前在编辑器中显示的文件的问题，或者关于你在 Copilot Chat 面板中已附加到对话的文件的问题。 若要提供 Copilot 正确的上下文，

* 在编辑器中打开相关文件。
* 单击面板中的剪纸图标 Copilot Chat ，然后搜索并选择要附加到对话的文件。

例如：

* `how can I make this file run faster`
* `how are these files related`（具有两个或多个附加文件）
* `explain the getSearchReplaceRules function`

## 编写代码

你可以要求 Copilot 为你编写代码。 例如：

* `write a TypeScript function to sum all numbers in a list`
* `using the comments in this file, create appropriate Node JavaScript`

返回代码块时 Copilot ，响应包含复制代码的选项。

## 修复、改进和重构代码

如果活动文件包含错误，请使用 `/fix` 斜杠命令请求 Copilot 修复错误。

还可以提出常规请求来改进或重构代码。

* `how would you improve the code in this file`
* `translate this code to C#`
* `add error handling to the main function`

## 编写测试

`/tests`使用斜杠命令请求Copilot为活动文件或所选代码编写测试。 例如：

* `/tests`
* `/tests using the Jest framework`
* `/tests ensure the function rejects an empty list`

`/tests` 斜杠命令将为现有代码编写测试。 如果希望在编写代码之前编写测试（测试驱动的开发），请省略 `/tests` 命令。 例如：

* `Add tests for a JavaScript function that should sum a list of integers`

</div>