关于 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 代码搜索”。
反馈和支持
您可以在我们的 讨论论坛 中查看和分享有关代码搜索的反馈。