关于 GitHub 代码搜索
GitHub 代码搜索让您能够快速搜索、导航并理解您自己的代码、团队的代码以及开源社区的代码。此搜索引擎旨在具备可扩展性、代码感知能力,并支持使用正则表达式、布尔运算、专门的限定符以及符号搜索在整个 GitHub 上搜索代码。有关代码搜索语法的更多信息,请参阅 了解 GitHub 代码搜索语法。
代码搜索与 GitHub 搜索界面的功能集成,例如建议和自动补全。您的搜索会自动保存,并且可以随时删除。在 GitHub Mobile 上,您可以使用相同的方法直接从主页搜索代码。有关更多信息,请参阅 使用 GitHub 代码搜索。
您必须登录 GitHub 账户才能使用代码搜索,包括搜索公共仓库中的代码。
请注意,搜索非代码内容(如议题、用户和讨论)的语法和限定符与代码搜索的语法不同。有关非代码搜索的更多信息,请参阅 关于在 GitHub 上搜索 和 在 GitHub 上搜索。
代码导航
GitHub 代码搜索为受支持的语言提供代码导航功能。这包括跳转到定义以及查找类、结构体、函数和方法等编程语言构造的引用。参见 在 GitHub 上导航代码。
限制
我们已经为代码搜索索引了许多公共仓库,并将继续索引更多。此外,GitHub 用户的私有仓库也会被索引,已拥有相应私有仓库访问权限的用户可以搜索这些仓库。然而,非常大的仓库目前可能未被索引,且并非所有代码都会被索引。
当前已索引代码的限制有
- 已 vendored 和生成的代码被排除
- 空文件和大于 350 KiB 的文件被排除
- 超过 1,024 个字符的行会被截断
- 二进制文件(PDF 等)被排除
- 仅包含 UTF-8 编码的文件
- 非常大的仓库可能未被索引
- 不支持穷尽搜索
- 包含多行超过 4096 字节的文件被排除
我们目前仅支持在仓库的默认分支上搜索代码。查询长度限制为 1000 个字符。
任何代码搜索的结果均限制为 100 条(5 页)。目前不支持对代码搜索结果进行排序。此限制仅适用于使用新代码搜索进行代码搜索,不适用于其他类型的搜索。
如果您对文件使用 path: 限定符,而该文件在多个仓库中具有相似内容,GitHub 只会显示其中少量文件。如果出现此情况,您可以通过点击页面底部的 显示相同文件 来展开。
代码搜索支持使用 symbol: 限定符搜索代码中的符号定义,例如函数或类定义。然而,请注意 symbol: 限定符仅搜索定义而不搜索引用,而且并非所有符号类型或语言都已完全支持。有关支持的语言列表,请参阅 了解 GitHub 代码搜索语法 中的符号限定符部分。
在 GitHub Mobile 上,您可以直接从主页使用代码搜索。有关更多信息,请参阅 使用 GitHub 代码搜索。
反馈与支持
您可以在我们的 讨论论坛 查看并分享关于代码搜索的反馈。