Skip to main content

在 GitHub 上导航代码

您可以直接在 GitHub 中导航代码,来理解仓库内及仓库之间的关系。

关于在 GitHub 上导航代码

代码导航通过显示和链接该实体的引用对应的命名实体定义以及实体定义对应的引用,帮助您阅读、导航和理解代码。

屏幕截图显示了一个代码文件(其中突出显示了名为“request”的函数),以及一个弹出窗口(其中包含有关该函数的信息)。 弹出窗口有两个选项卡:“定义”和“引用”。

代码导航使用开放源代码 tree-sitter 库。 以下语言支持代码导航。

  • Bash
  • C
  • C#
  • C++
  • CodeQL
  • Elixir
  • Go
  • JSX
  • Java
  • JavaScript
  • Lua
  • PHP
  • 协议缓冲区
  • Python
  • R
  • Ruby
  • Rust
  • Scala
  • Starlark
  • Swift
  • Typescript

您无需在存储库中配置任何内容即可启用代码导航。 我们将在所有仓库中自动提取这些受支持语言的代码导航信息。

GitHub 基于开放源代码 tree-sitter 库开发了代码导航方法,用于搜索仓库中的所有定义和引用,以查找具有给定名称的实体。

可以使用键盘快捷键在代码文件中导航。 有关详细信息,请参阅 键盘快捷方式

使用符号窗格

现在,可以使用符号窗格在代码中的函数或类等符号之间快速查看和导航。 可以在单个文件中、存储库中的所有文件中搜索符号,甚至可以在 GitHub 上的所有公共存储库中搜索符号。

符号搜索是代码搜索的一项功能。 有关详细信息,请参阅“了解 GitHub 代码搜索语法”。

  1. 选择存储库,然后导航到包含符号的文件。

  2. 若要打开符号窗格,请在文件内容上方单击

    或者,可以通过单击文件中的合格符号来打开符号窗格。 将鼠标悬停在可单击符号上时,它们会以黄色突出显示。

  3. 单击要从符号窗格或文件本身中查找的符号。

    • 若要在整个存储库中搜索符号,请在符号窗格单击“在此存储库中搜索此符号”。 若要在 GitHub 上的所有存储库中搜索符号,请单击“所有存储库”。
  4. 若要在对符号的引用之间导航,请单击

  5. 要导航到对符号的特定引用,请单击“ In this file”下的符号搜索结果****。

  6. 要退出对特定符号的搜索,请单击“ All Symbols”****。

跳至功能或方法的定义

您可以在文件中单击函数或方法调用,跳至同一仓库中该函数或方法的定义。

函数窗口的屏幕截图。 标题为“定义”的部分以深橙色轮廓显示。

查找函数或方法的所有引用

通过单击文件中的函数或方法调用,可以在同一存储库中找到函数或方法的所有引用。

函数窗口的屏幕截图。 标题为“3 个引用”的部分以深橙色轮廓显示。

代码导航疑难解答

如果已为您启用代码导航,但您没有看到指向函数和方法定义的链接:

  • 代码导航仅适用于活动的分支。 推送到分支,然后重试。
  • 代码导航仅适用于文件少于 100,000 个的存储库。

其他阅读材料