搜索GitHub组织代码中的部分单词

rdrgkggo  于 2023-05-12  发布在  Git
关注(0)|答案(1)|浏览(134)

有没有一种方法可以使用web UI在属于GitHub组织的所有代码中grep部分单词?
当然,这样做的目的是避免克隆组织的所有存储库并执行本地grep;这将是一项繁琐、乏味和容易出错任务。
我知道Search code inside a Github project,但我发现搜索是非常误导,因为它并没有真正找到所有的结果。
例如,我想在Kurento organization的所有文件中查找字符串DISABLE_LIBRARIES_GENERATION的所有用法。使用以下任何高级搜索术语

DISABLE_LIBRARIES_GENERATION user:Kurento
DISABLE_LIBRARIES_GENERATION org:Kurento

得到these results

  • kms-core/src/server/CMakeLists.txt中查找${DISABLE_LIBRARIES_GENERATION}
  • kms-core/CMake/CodeGenerator.cmake中查找set (DISABLE_LIBRARIES_GENERATION FALSE
  • kms-core/debian/changelog中查找字符串。
    *未找到adm-scripts/kurento_get_version.shadm-scripts/kurento_generate_js_module.shadm-scripts/kurento_generate_java_module.sh中使用的-DDISABLE_LIBRARIES_GENERATION=TRUE
kkih6yb8

kkih6yb81#

我的问题的答案是:不,目前不可能。

来源

我联系了GitHub,问了同样的问题,他们的回复包括这样的解释:
目前,我们不支持在我们的搜索子字符串匹配。我们确实将单词分开,以获得常见的变量命名模式,如 Camel 大小写,因此,如果您的变量名为myNewVariable,您可以搜索“我的新变量”,这将显示出来。
但是,在您的示例中,字符串“-DDISABLE_LIBRARIES_GENERATION=TRUE”不会像这样被分解为子字符串,因此“disable_libraries_generation”不会导致匹配。
[...]在这种情况下,克隆存储库并在本地使用grep或其他搜索功能可能是最好的选择。

更新(2021-12-14)

2021年12月8日,GitHub发布了code search improvements,包括“* 搜索精确字符串,支持子字符串匹配 *”。这仍然是一个技术预览版(可在此处获取:https://cs.github.com/),但当完全集成时,看起来它可能是这个问题的一个令人满意的答案。

更新(2023-05-08)

现在有了GitHub code search is generally available,像DISABLE_LIBRARIES_GENERATION org:Kurento这样的搜索就能够找到像-DDISABLE_LIBRARIES_GENERATION=TRUE这样的示例。
因此,我很高兴地说,在这个问题发布6年后,我们可以用一个光荣的 * 是的,它终于起作用了 * 来结束它。

相关问题