谷歌:我们将为Go、Angular、Dart、Flutter等开放代码搜索功能


谷歌:我们将为Go、Angular、Dart、Flutter等开放代码搜索功能


Google已经为其几个热门的开源项目推出了Code Search,为广大软件社区提供了一个直到现在为止一直是Google最受欢迎的内部工具之一的开发者。

Code Search或 "CS "目前支持Angular、Bazel、Dart、ExoPlayer、Firebase SDK、Flutter、Go、gVisor、Kythe、Nomulus、Outline和Tensorflow--这些项目只占Google开源项目的一小部分,但这些开源社区可能会从各自的资源库中的搜索中受益。

谷歌开源项目的代码搜索是在Android和Chromium项目推出公开的代码搜索界面之后推出的。

谷歌代码搜索团队的Kris Hildrum表示,谷歌确实计划在未来为更多的资源库提供代码搜索。

据Hildrum介绍,谷歌工程师每天都会使用Code Search来了解代码库,比如说,他们可以搜索半死不活的函数,弄清楚他们正在查看的函数是什么调用的,以及发现一行代码什么时候被修改了。还有一个 "责备 "按钮,可以突出显示上一次是哪个用户修改了每一行代码。

当用户键入一个词时,搜索框会提供代码对象的类型、版本库和路径等建议。例如,用户如果想在Google文件中搜索一个函数 "foo",可以指定 "lang:go function:foo "来避免搜索foo只是注释的文件。其他的过滤器包括区分大小写、类名、内容、文件和符号。

大多数流行的语言也可以被过滤,包括C++、C、Java、Kotlin、Python、JavaScript、Go、JSON、HTML、Objective-C、Dart、Jango、Perl、PHP、PowerShell、Ruby、shell、SQL和Swift。

一些开源资源库中的交叉引用功能由Kythe启用,Kythe是Google的开源工具,用于创建开发者工具。具有交叉引用的项目包括Bazel、Go、gVisor、Kyth、Nomulus和Tensorflow。

"开源社区使用比Google更广泛的构建系统。为了支持交叉引用,Kyth增加了对Bazel、CMake、Maven和Go的下拉式支持。"Hildrum指出。

"使用其他构建系统的项目可以使用Kythe提供的clang和javac的封装器来仪表他们的构建;Chromium和Android AOSP使用这些封装器来为Kythe提供编译信息。"


分享到:


相關文章: