跳至主要内容

关于 GitHub 代码搜索

您可以使用代码搜索在整个 GitHub 上搜索、浏览和理解代码。

GitHub 代码搜索让您能够快速搜索、浏览和理解您的代码、团队的代码以及开源社区的代码。此搜索引擎旨在可扩展、代码感知,并支持使用正则表达式、布尔运算、专用限定符和符号搜索在整个 GitHub 上搜索代码。有关代码搜索语法的更多信息,请参阅“了解 GitHub 代码搜索语法”。

代码搜索与 GitHub.com 上搜索界面中的功能集成在一起,例如建议和自动完成。您的搜索将自动保存,并且可以随时删除。在 GitHub Mobile 上,您可以使用相同的方法直接从主屏幕搜索代码。有关更多信息,请参阅“使用 GitHub 代码搜索”。

您必须登录 GitHub 帐户才能使用代码搜索,包括搜索公共存储库中的代码。

请注意,搜索非代码内容(例如问题、用户和讨论)的语法和限定符与代码搜索的语法不同。有关非代码搜索的更多信息,请参阅“关于 GitHub 上的搜索”和“GitHub 上的搜索”。

代码导航

GitHub 代码搜索为支持的语言提供代码导航。这包括跳转到定义以及查找编程语言结构(如类、结构体、函数和方法)的引用。请参阅“在 GitHub 上导航代码”。

支持代码导航的语言包括

  • Bash
  • C
  • C#
  • C++
  • CodeQL
  • Elixir
  • Go
  • JSX
  • Java
  • JavaScript
  • Lua
  • PHP
  • Protocol Buffers
  • Python
  • Ruby
  • Rust
  • Scala
  • Starlark
  • Swift
  • Typescript

限制

我们已经为代码搜索索引了许多公共仓库,并且正在继续索引更多仓库。此外,GitHub 用户的私有仓库也会被索引,并且可以被那些已经拥有 GitHub.com 上这些私有仓库访问权限的用户搜索。但是,目前可能不会索引非常大的仓库,并且并非所有代码都会被索引。

索引代码的当前限制包括

  • 排除供应商代码和生成的代码
  • 排除空文件和超过 350 KiB 的文件
  • 超过 1,024 个字符的代码行将被截断
  • 排除二进制文件(PDF 等)
  • 仅包含 UTF-8 编码的文件
  • 可能不会索引非常大的仓库
  • 不支持穷举搜索
  • 排除超过 4096 字节的超过一行代码的文件

我们目前仅支持搜索仓库默认分支上的代码。查询长度限制为 1000 个字符。

任何使用代码搜索进行的搜索的结果都限制为 100 个结果(5 页)。目前不支持对代码搜索结果进行排序。此限制仅适用于使用新的代码搜索进行代码搜索,不适用于其他类型的搜索。

如果您使用 path: 限定符来查找存在于多个具有相似内容的仓库中的文件,GitHub 将只显示其中的一些文件。如果发生这种情况,您可以选择通过单击页面底部的“显示相同文件”来展开。

代码搜索支持使用 symbol: 限定符搜索代码中的符号定义,例如函数或类定义。但是,请注意,symbol: 限定符仅搜索定义,不搜索引用,并且并非所有符号类型或语言都完全支持。有关支持哪些语言的列表,请参阅“了解 GitHub 代码搜索语法”。

在 GitHub 移动版上,您可以直接从主屏幕使用代码搜索。有关更多信息,请参阅“使用 GitHub 代码搜索”。

反馈和支持

您可以在我们的 讨论论坛 中查看和分享有关代码搜索的反馈。