[go: up one dir, main page]

Skip to main content

使用 GitHub Copilot CLI

了解如何从命令行使用 GitHub Copilot。

谁可以使用此功能?

GitHub Copilot CLI 可用于 GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business 和 GitHub Copilot Enterprise 计划。

如果从组织收到 Copilot,则必须在组织的“Settings”中启用 Copilot CLI 策略。

通过 GitHub Copilot 的命令行接口 (CLI),你可以直接从终端使用 Copilot。 有关详细信息,请参阅“关于 GitHub Copilot CLI”。

注意

GitHub Copilot CLI 为公共预览版,可能随时发生变化。

先决条件

安装 Copilot CLI。 请参阅“安装 GitHub Copilot CLI”。

使用 Copilot CLI

  1. 在终端中,导航到包含要使用的代码的文件夹。

  2. 输入 copilot 以启动 Copilot CLI。

    Copilot 会要求你确认是否信任此文件夹中的文件。

    重要

    在此次 GitHub Copilot CLI 会话期间,Copilot 可能会尝试读取、修改和执行此文件夹及其子文件夹中的文件。 只有当你信任此位置中的文件时,才应继续操作。 有关受信任目录的详细信息,请参阅“关于 GitHub Copilot CLI”。

  3. 选择以下选项之一:

    1.Yes, proceed

    Copilot 仅能在本次会话期间操作此位置中的文件。

    2.Yes, and remember this folder for future sessions

    对于此次会话以及未来的会话,你都信任此文件夹中的文件。 从你此文件夹启动 Copilot CLI 时,系统将不会询问你。 请仅在完全确信 Copilot 始终可安全操作此位置中的文件的前提下,才应选择此选项。

    3.No, exit (Esc)

    结束你的 Copilot CLI 会话。

  4. 如果当前未登录 GitHub,系统将提示你使用 /login 斜杠命令完成登录。 输入此命令并按照屏幕说明完成身份验证流程。

  5. 在 CLI 中输入提示。

    此提示可以是简单的聊天问题,也可以是要求 Copilot 执行特定任务的请求,例如修复 bug、为现有应用程序添加功能或创建新应用程序。

    有关提示的一些示例,请参“关于 GitHub Copilot CLI”。

  6. 当 Copilot 需要调用可能修改或执行文件的工具时 (例如 touchchmodnodesed),它将请求你批准使用该工具。

    选择以下选项之一:

    1.Yes

    允许 Copilot 使用此工具。 下一次 Copilot 想要使用该工具时,它会再次请求你的批准。

    2.Yes, and approve TOOL for the rest of the running session

    允许 Copilot 使用此工具(包括任何选项),且在当前运行的会话剩余时间内,无需再次请求批准。 在未来的会话中,你需要再次批准该命令。

    选择此选项对许多工具都很有用(例如 chmod),因为它可以避免你在同一会话中反复批准类似的命令。 但应注意此选项所涉及的安全问题。 例如,为命令 rm 选择此选项,将允许 Copilot 删除当前文件夹及其子文件夹中的任何文件,而无需请求你的批准。

    3.No, and tell Copilot what to do differently (Esc):

    Copilot 将不会运行此命令。 相反,它会终止当前操作,并等待你输入下一个提示。 可指示 Copilot 继续执行此任务,但需要采用不同的方法。

    例如,如果你要求 Copilot 创建 Bash 脚本,但希望避免使用 Copilot 推荐的脚本,你可以中止当前操作并输入新提示,例如:Continue the previous task but include usage instructions in the script

提示

通过以下建议优化你的 Copilot CLI 使用体验。

停止当前正在运行的操作

如果你输入了一个提示,而后在 Copilot 仍处于“思考中”状态时,决定想要阻止它完成该任务,按下 Esc 即可。

在提示中包含特定文件

要向提示添加特定文件,请使用 @ 后跟文件的相对路径。 例如 Explain @config/ci/ci-required-checks.ymlFix the bug in @src/app.js。 这会将文件的内容添加到你的提示中,作为 Copilot 的上下文。

开始键入文件路径时,匹配的路径会显示在提示框下方。 使用箭头键选择路径,然后按 Tab 在提示中补全该路径。

处理其他路径下的文件

为完成任务,Copilot 可能需要处理当前工作目录之外的文件。 如果在交互式会话中输入的命令要求 Copilot 修改当前位置之外的文件,系统将请求你批准访问该文件所在目录。

你也可以随时使用斜杠命令手动添加受信任目录:

/add-dir /path/to/directory

如果要处理的所有文件都位于其他位置,则可以使用斜杠命令切换当前工作目录,而无需启动新的 Copilot CLI 会话:

/cwd /path/to/directory

恢复交互式会话

你可以使用 --resume 命令行选项,从显示的列表中选择需要恢复的会话,即可返回之前的交互式会话并继续与 Copilot 的对话。

使用自定义指令

你可以通过向当前工作的仓库添加自定义指令,来提升 Copilot 的性能表现。 自定义指令是以自然语言编写的描述性内容,以 Markdown 文件形式存储于仓库中。 当你在该仓库中执行操作时,这些指令将自动包括在你输入的提示中。 这有助于 Copilot 更深入地理解你的项目上下文,从而更精准地响应你的提示。

Copilot CLI 支持:

  • .github/copilot-instructions.md 文件中仓库范围的指令。
  • 路径特定的指令文件:.github/copilot-instructions/**/*.instructions.md
  • 智能体文件,例如 AGENTS.md

有关详细信息,请参阅“为 GitHub Copilot 添加存储库自定义说明”。

添加 MCP 服务器

Copilot CLI 已预先配置好了 GitHub MCP 服务器。 通过此 MCP 服务器,你可与 GitHub.com 上的资源进行交互,例如可从 CLI 合并拉取请求。

要扩展 Copilot CLI 中可用的功能,你可以添加更多 MCP 服务器:

  1. 使用以下斜杠命令:

    /mcp add
    
  2. 填写你想要添加的 MCP 服务器的详细信息,使用 Tab 键在各个字段之间切换。

  3. Ctrl+S 以保存详细信息。

你已配置的 MCP 服务器详细信息存储在 mcp-config.json 文件中,该文件默认位于 ~/.config 目录下。 可通过设置 XDG_CONFIG_HOME 环境变量来更改此位置。 有关服务器定义的 JSON 结构的信息,请参阅“使用模型上下文协议 (MCP) 扩展 GitHub Copilot 编码助手”。

了解更多

要查看可用于 Copilot CLI 的完整命令行选项和斜杠命令列表,可执行以下任一操作:

  • 在交互式会话的提示框中输入 ?
  • 在终端中输入 copilot help

有关其他信息,请在终端中使用以下命令之一:

  • 配置设置****:

    copilot help config

    你可通过编辑 config.json 文件来调整配置设置,该文件默认位于 ~/.config 目录下。 可通过设置 XDG_CONFIG_HOME 环境变量来更改此位置。

  • 影响 Copilot CLI 的环境变量****:

    copilot help environment

  • 可用日志记录级别****:

    copilot help logging

  • 允许或拒绝工具使用的权限****:

    copilot help permissions

反馈

如果你对 GitHub Copilot CLI 有任何反馈,请通过交互式会话中的 /feedback 斜杠命令选择相应选项告知我们。 你可以选择参与私密反馈调查、提交 bug 报告或提出新功能建议。