# GitHub命令面板

使用命令面板可以直接从键盘导航、搜索和运行命令。

> \[!NOTE]
> GitHub Command Palette 目前为 公开预览，可能随时更改。

默认情况下，GitHub Command Palette 已停用。 可以使用功能预览启用 GitHub Command Palette。 请参阅“[通过功能预览提早了解发行版](/zh/get-started/using-github/exploring-early-access-releases-with-feature-preview)”。

## 关于 GitHub Command Palette

你可以使用 GitHub 在 GitHub Command Palette 上导航、搜索和运行命令。 命令面板是一种随需显示建议的方式，它会根据您当前的上下文和最近使用的资源给出建议。 你可以从 GitHub 上的任何位置使用键盘快捷键打开命令面板，这样可以节省你的时间，手也不需要离开键盘。

### 快速导航

打开命令面板时，建议会进行优化，使你可以从存储库、个人帐户或组织中的任意位置轻松访问顶级页面，如“问题”页面。 如果未列出所需的位置，请开始输入位置的名称或编号以优化建议。

![命令面板的屏幕截图。 建议查看当前存储库的“问题”和“拉取请求”页面。](/assets/images/help/command-palette/command-palette-navigation-repo-default.png)

### 轻松访问命令

直接从键盘运行命令而无需浏览一系列菜单的功能可能会改变您使用 GitHub 的方式。 例如，您可以通过几次击键切换主题，从而在需求变化时轻松切换主题。

![命令面板的屏幕截图。 命令面板输入中显示“将主题切换为深色”，并显示更改主题的结果。](/assets/images/help/command-palette/command-palette-command-change-theme.png)

## 打开 GitHub Command Palette

使用以下默认键盘快捷键之一打开命令面板：

* Windows 和 Linux：<kbd>Ctrl</kbd>+<kbd>K</kbd> 或 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>K</kbd>
* Mac：<kbd>Command</kbd>+<kbd>K</kbd> 或 <kbd>Command</kbd>+<kbd>Option</kbd>+<kbd>K</kbd>

你可以在用户设置的[辅助功能部分](https://github.com/settings/accessibility)中自定义用于打开命令面板的键盘快捷方式。 有关详细信息，请参阅[自定义 GitHub Command Palette 键盘快捷方式](#customizing-your-github-command-palette-keyboard-shortcuts)。

打开命令面板时，它会在左上角显示你的位置，并将其用作建议的范围（例如 `octo-org` 组织）。

![命令面板的屏幕截图。 “octo-org”以橙色轮廓突出显示。](/assets/images/help/command-palette/command-palette-launch.png)

> \[!NOTE]
>
> * 如果要编辑 Markdown 文本，使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>K</kbd> （Windows 和 Linux）或 <kbd>Command</kbd>+<kbd>Option</kbd>+<kbd>K</kbd> （Mac）打开命令面板。
> * 如果正在处理 项目，会改为显示项目特定的命令面板。 有关详细信息，请参阅“[更改视图的布局](/zh/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/changing-the-layout-of-a-view)”。

### 自定义 GitHub Command Palette 键盘快捷键

用于打开命令面板的默认键盘快捷键可能与默认操作系统和浏览器键盘快捷键冲突。 你可以在帐户设置的[辅助功能部分](https://github.com/settings/accessibility)中自定义键盘快捷方式。 在命令面板设置中，可以自定义用于在搜索模式和命令模式下打开命令面板的键盘快捷键。

## 使用 GitHub Command Palette 进行导航

可以使用命令面板导航到 GitHub 上你有权访问的任何页面。

1. 使用 <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) 或 <kbd>Command</kbd>+<kbd>K</kbd> (Mac) 打开命令面板，其范围由用户界面中的当前位置确定。

2. 开始键入要导航到的路径。 命令面板中的建议将更改以匹配您的文本。

3. （可选）通过编辑命令面板的文本字段中的路径来缩小、扩大或完全更改建议的范围。

   * 若要缩小用户或组织帐户的范围，请突出显示存储库，然后使用 <kbd>Tab</kbd> 将其添加到范围。
   * 若要扩大范围，请使用 <kbd>Backspace</kbd> 或 <kbd>delete</kbd> 键突出显示并删除范围中的项。
   * 若要清除范围和文本框，请单击“清除”或使用 <kbd>Ctrl</kbd>+<kbd>Backspace</kbd>（Windows 和 Linux）或<kbd>命令</kbd>+<kbd>删除</kbd> (Mac)。

   您还可以使用按键来缩小搜索范围。 有关详细信息，请参阅[按键功能](#keystroke-functions)。

4. 完成输入路径，或使用箭头键从建议列表中突出显示所需的路径。

5. 使用 <kbd>Enter</kbd> 跳转到所选位置。 或者，使用 <kbd>Ctrl</kbd>+<kbd>Enter</kbd>（Windows 和 Linux） 或 Windows <kbd>Command</kbd>+<kbd>Enter</kbd>（Mac）在新浏览器选项卡中打开位置。

## 使用 GitHub Command Palette 进行搜索

可以使用命令面板在 GitHub 上搜索任何内容。

1. 使用 <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) 或 <kbd>Command</kbd>+<kbd>K</kbd> (Mac) 打开命令面板，其范围由用户界面中的当前位置确定。

2. （可选）通过编辑命令面板的文本字段中的路径来缩小、扩大或完全更改建议的范围。

   * 若要缩小用户或组织帐户的范围，请突出显示存储库，然后使用 <kbd>Tab</kbd> 将其添加到范围。
   * 若要扩大范围，请使用 <kbd>Backspace</kbd> 或 <kbd>delete</kbd> 键突出显示并删除范围中的项。
   * 若要清除范围和文本框，请单击“清除”或使用 <kbd>Ctrl</kbd>+<kbd>Backspace</kbd>（Windows 和 Linux）或<kbd>命令</kbd>+<kbd>删除</kbd> (Mac)。

3. （可选）使用按键查找特定类型的资源：

   * ```
               <kbd>              #              </kbd> 搜索议题、拉取请求、讨论和项目
     ```
   * <kbd>!</kbd> 搜索项目
   * <kbd>

@ </kbd> 搜索用户、组织和存储库

* <kbd>

/ </kbd> 搜索存储库范围内的文件

1. 开始输入搜索字词。 命令面板将根据您的搜索范围为您提供一系列建议的搜索。

   > \[!TIP]
   > 你也可以在命令面板中使用 GitHub 集成搜索的完整语法。 有关详细信息，请参阅“[在GitHub上搜索文档](/zh/search-github)”。

2. 使用箭头键突出显示所需的搜索结果，并使用 <kbd>Enter</kbd> 跳转到所选位置。 或者，使用 <kbd>Ctrl</kbd>+<kbd>Enter</kbd>（Windows 和 Linux） 或 Windows <kbd>Command</kbd>+<kbd>Enter</kbd>（Mac）在新浏览器选项卡中打开位置。

## 从 GitHub Command Palette 运行命令

您可以使用 GitHub Command Palette 来运行命令。 例如，您可以创建新的存储库或议题，或更改主题。 运行命令时，其操作的位置由基础页面或命令面板中显示的范围确定。

* 拉取请求和问题命令始终在底层页面上运行。
* 更高级别的命令（例如存储库命令）在命令面板中显示的范围中运行。

有关受支持命令的完整列表，请参阅[GitHub Command Palette参考](#github-command-palette-reference)。

1. 在命令模式下打开命令面板的默认键盘快捷方式为 <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>K</kbd> （Windows 和 Linux） 或 <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>K</kbd> （Mac）。 如果已打开命令面板，请按 <kbd>></kbd> 切换到命令模式。 GitHub 根据您的位置建议命令。

2. （可选）通过编辑命令面板的文本字段中的路径来缩小、扩大或完全更改建议的范围。

   * 若要缩小用户或组织帐户的范围，请突出显示存储库，然后使用 <kbd>Tab</kbd> 将其添加到范围。
   * 若要扩大范围，请使用 <kbd>Backspace</kbd> 或 <kbd>delete</kbd> 键突出显示并删除范围中的项。
   * 若要清除范围和文本框，请单击“清除”或使用 <kbd>Ctrl</kbd>+<kbd>Backspace</kbd>（Windows 和 Linux）或<kbd>命令</kbd>+<kbd>删除</kbd> (Mac)。

3. 如果未显示所需的命令，请检查范围，然后开始在文本框中输入命令名称。

4. 使用箭头键突出显示所需的命令，然后使用 <kbd>Enter</kbd> 运行它。

## 关闭命令面板

当命令面板处于活动状态时，可以使用以下键盘快捷键之一关闭命令面板：

* 搜索和导航模式：<kbd>Esc</kbd> 或 <kbd>Ctrl</kbd>+<kbd>K</kbd> （Windows 和 Linux） <kbd>Command</kbd>+<kbd>K</kbd> （Mac）
* 命令模式：<kbd>Esc</kbd> 或 <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>K</kbd> （Windows 和 Linux） <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>K</kbd> （Mac）

如果在辅助功能设置中自定义了命令面板键盘快捷键，则自定义的键盘快捷键将用于打开和关闭命令面板。

## GitHub Command Palette 引用

### 按键功能

当命令面板处于导航和搜索模式时，这些按键可用，也就是说，它们在命令模式下不可用。

| 击键                                                                     | 函数                                                                                                         |
| :--------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |
| <kbd>></kbd>                                                           | 进入命令模式。 有关详细信息，请参阅“[从 GitHub Command Palette 运行命令](#running-commands-from-the-github-command-palette)”。    |
| <kbd>#</kbd>                                                           | 搜索议题、拉取请求、讨论和项目。 有关详细信息，请参阅[使用GitHub Command Palette搜索](#searching-with-the-github-command-palette)。       |
| <kbd>@</kbd>                                                           | 搜索用户、组织和存储库。 有关详细信息，请参阅[使用GitHub Command Palette搜索](#searching-with-the-github-command-palette)。           |
| <kbd>/</kbd>                                                           | 搜索存储库范围内的文件或组织范围内的存储库。 有关详细信息，请参阅[使用GitHub Command Palette搜索](#searching-with-the-github-command-palette)。 |
| <kbd>!</kbd>                                                           | 只搜索项目。 有关详细信息，请参阅[使用GitHub Command Palette搜索](#searching-with-the-github-command-palette)。                 |
| <kbd>Ctrl</kbd>+<kbd>C</kbd> 或 <kbd>Command</kbd>+<kbd>C</kbd>         | 将突出显示结果的搜索或导航 URL 复制到剪贴板。                                                                                  |
| <kbd>输入</kbd>                                                          | 跳转到突出显示的结果或运行突出显示的命令。                                                                                      |
| <kbd>Ctrl</kbd>+<kbd>Enter</kbd> 或 <kbd>Command</kbd>+<kbd>Enter</kbd> | 在新的浏览器标签页中打开突出显示的搜索或导航结果。                                                                                  |
| <kbd>？</kbd>                                                           | 在命令面板中显示帮助。                                                                                                |

### 全局命令

这些命令在所有范围内均可使用。

| 命令                             | 行为                                                                                                                                                                 |
| :----------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Import repository`            | 通过从另一个版本控制系统导入项目来创建新存储库。 有关详细信息，请参阅“[使用 GitHub 导入工具导入仓库](/zh/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer)”。 |
| `New gist`                     | 打开新 gist。 有关详细信息，请参阅“[创建 Gist](/zh/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists)”。                                          |
| `New organization`             | 创建新组织。 有关详细信息，请参阅“[从头开始创建新组织](/zh/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)”。                             |
| `New project`                  | 创建新项目。 有关详细信息，请参阅“[创建 项目](/zh/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project)”。                                                   |
| `New repository`               | 从头开始创建新的存储库。 有关详细信息，请参阅“[创建新仓库](/zh/repositories/creating-and-managing-repositories/creating-a-new-repository)”。                                                   |
| `Switch theme to <theme name>` | 直接更改为不同的 UI 主题。 有关详细信息，请参阅“[管理主题设置](/zh/get-started/accessibility/managing-your-theme-settings)”。                                                                  |

### 组织指令

以下命令仅在组织的范围内可用。

| 命令         | 行为                                                                                                  |
| :--------- | :-------------------------------------------------------------------------------------------------- |
| `New team` | 在当前组织中创建新团队。 有关详细信息，请参阅“[创建组织团队](/zh/organizations/organizing-members-into-teams/creating-a-team)”。 |

### 存储库命令

这些命令中的大多数仅在存储库的主页上可用。 如果某个命令在其他页面上也可用，则会在行为列中注明。

| 命令                             | 行为                                                                                                                                            |
| :----------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- |
| `Clone repository: <URL type>` | 将使用 GitHub CLI、HTTPS 或 SSH 克隆存储库所需的 URL 复制到剪贴板。 有关详细信息，请参阅“[克隆仓库](/zh/repositories/creating-and-managing-repositories/cloning-a-repository)”。 |
| `New discussion`               | 在存储库中创建新讨论。 有关详细信息，请参阅“[GitHub Discussions 快速入门](/zh/discussions/quickstart#creating-a-new-discussion)”。                                      |
| `New file`                     | 从存储库中的任何页面创建新文件。 有关详细信息，请参阅“[添加文件到仓库](/zh/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)”。                     |
| `New issue`                    | 从存储库中的任何页面打开新议题。 有关详细信息，请参阅“[创建议题](/zh/issues/tracking-your-work-with-issues/creating-an-issue)”。                                             |
| `Open in github.dev editor`    | 在 github.dev 编辑器中打开当前存储库。 有关详细信息，请参阅“[github.dev 基于 web 的编辑器](/zh/codespaces/the-githubdev-web-based-editor#opening-the-web-based-editor)”。   |

### 文件命令

以下命令仅当您从存储库中的文件打开命令面板时才可用。

| 命令                          | 行为                                                                                                                                                                                                |
| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Copy permalink`            | 创建一个链接至包含当前提交 SHA 的文件，并将该链接复制到剪贴板。 有关详细信息，请参阅“[获取文件的永久链接](/zh/repositories/working-with-files/using-files/getting-permanent-links-to-files#press-y-to-permalink-to-a-file-in-a-specific-commit)”。 |
| `Open in github.dev editor` | 在 github.dev 编辑器中打开当前显示的文件。 有关详细信息，请参阅“[github.dev 基于 web 的编辑器](/zh/codespaces/the-githubdev-web-based-editor#opening-the-web-based-editor)”。                                                     |

### 讨论指令

以下命令仅当您从讨论中打开命令面板时才可用。 它们作用于当前页面，不受命令面板中设置的范围的影响。

| 命令                        | 行为                                                                                                                                                                |
| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Delete discussion...`    | 永久删除讨论。 有关详细信息，请参阅“[管理讨论](/zh/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion)”。                                   |
| `Edit discussion body`    | 打开讨论的正文以供编辑。                                                                                                                                                      |
| `Subscribe`/`unsubscribe` | 选择接收或不接收有关讨论内容增加的通知。 有关详细信息，请参阅“[关于通知](/zh/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)”。 |
| `Transfer discussion...`  | 将讨论移动到其他存储库。 有关详细信息，请参阅“[管理讨论](/zh/discussions/managing-discussions-for-your-community/managing-discussions#transferring-a-discussion)”。                          |

### 发布命令

以下命令仅当您从议题中打开命令面板时才可用。 它们作用于当前页面，不受命令面板中设置的范围的影响。

| 命令                               | 行为                                                                                                                                                               |
| :------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Close`/`reopen issue`           | 关闭或重新打开当前议题。 有关详细信息，请参阅“[关于问题](/zh/issues/tracking-your-work-with-issues/about-issues)”。                                                                         |
| `Convert issue to discussion...` | 将当前议题转换为讨论。 有关详细信息，请参阅“[主持讨论](/zh/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)”。              |
| `Delete issue...`                | 删除当前议题。 有关详细信息，请参阅“[删除议题](/zh/issues/tracking-your-work-with-issues/deleting-an-issue)”。                                                                         |
| `Edit issue body`                | 打开议题正文以进行编辑。                                                                                                                                                     |
| `Edit issue title`               | 打开议题的标题以进行编辑。                                                                                                                                                    |
| `Lock issue`                     | 将新评论限于对存储库具有写入访问权限的用户。 有关详细信息，请参阅“[锁定对话](/zh/communities/moderating-comments-and-conversations/locking-conversations)”。                                          |
| `Pin`/`unpin issue`              | 更改议题是否显示在存储库的固定议题部分中。 有关详细信息，请参阅“[将议题固定到仓库](/zh/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)”。                                     |
| `Subscribe`/`unsubscribe`        | 选择接收或不接收有关此议题更改的通知。 有关详细信息，请参阅“[关于通知](/zh/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)”。 |
| `Transfer issue...`              | 将议题转移到另一个存储库。 有关详细信息，请参阅“[将问题转移到其他仓库](/zh/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)”。                                   |

### 拉取请求命令

以下命令仅当您从拉取请求打开命令面板时才可用。 它们作用于当前页面，不受命令面板中设置的范围的影响。

| 命令                                                         | 行为                                                                                                                                                                                               |
| :--------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Close`/`reopen pull request`                              | 关闭或重新打开当前拉取请求。 有关详细信息，请参阅“[关于拉取请求](/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)”。                                   |
| `Convert to draft`/`Mark pull request as ready for review` | 更改拉取请求的状态，以将其显示为就绪或未准备好以供审阅。 有关详细信息，请参阅“[更改拉取请求的阶段](/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)”。 |
| `Copy current branch name`                                 | 将拉取请求的头部分支的名称添加到剪贴板。                                                                                                                                                                             |
| `Edit pull request body`                                   | 打开拉取请求的正文以进行编辑。                                                                                                                                                                                  |
| `Edit pull request title`                                  | 打开拉取请求的标题以进行编辑。                                                                                                                                                                                  |
| `Subscribe`/`unsubscribe`                                  | 选择接收或不接收有关此拉取请求更改的通知。 有关详细信息，请参阅“[关于通知](/zh/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)”。                               |
| `Update current branch`                                    | 使用来自基础分支的更改更新拉取请求的头部分支。 这仅适用于以存储库的默认分支为目标的拉取请求。 有关详细信息，请参阅“[关于分支](/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)”。         |