Sourcegraph 简介

Sourcegraph 号称通过分析全球的开源项目来真正地展现相关项目之间的关联。它主要提供以下两个功能:

  1. 根据代码查找文档与使用用例。
  2. 选择正确的库或函数来使用。

那么,如何才能开始使用呢?首页一个孤零零的搜索框对于新手来说确实显得有些寂寥。不得不承认,当下的 Sourcegraph 还只能进行针对性比较强的搜索,还未达到很高层次的模糊搜索。不过,官方给出了三个新手可以考虑使用的方面:

  1. 查找您已经熟悉的库或函数。
  2. 通过 Sourcegraph 的功能来学习如何使用某个库或函数。
  3. 在 Sourcegraph 上比较两个库或函数,来决定哪个更好用一些。

官方给出的建议还是比较抽象的。下面,我就以 beego 为例,展示如何开始使用 Sourcegraph 这个网站来作为 Go 语言学习和开发的辅助工具。

搜索库

在首页搜索框,我们输入 beego 后,可看到一个即时提示的下拉框列表:

  • 第一行有一本书的图标的,表示这是一个项目,即 beego 这个项目。
  • 第二行有一个用户图标的,则是以 beego 为名的用户项目,在这个例子中,是一个组织的名称。
  • 其它行则是与 beego 关键字有关的函数或方法。

敲击回车,则可进入完整的搜索结果列表:https://sourcegraph.com/search?q=beego

项目首页

进入 beego 的项目主页 可以看到一系列数据:

顶部

  • beego 的贡献者数量
  • beego 的使用者数量
  • 使用 beego 的项目数量
  • beego 的依赖包

左侧

beego 在 GitHub 上的 README 文件。

右侧

beego 的函数、类型和方法的列表和统计数据,可进行项目内搜索。

具体信息页面

现在,我们进入 beego.Controller.GetString() 方法的具体信息页面:https://sourcegraph.com/github.com/astaxie/beego/symbols/go/github.com/astaxie/beego/Controller:type/GetString

  • 首先出现的是其它项目使用这个方法的一些示例,具有非常完善的鼠标悬浮提示和单击跳转功能。
  • 接着是使用者的一些统计信息。
  • 最后是该方法的定义。

当您单击任意其它函数、类型或方法的时候,也会跳转到相应的具体信息页面。

当您的鼠标悬浮在某个示例的时候,左侧会出现 More 按钮,单击之后即可加载相应的整个源文件进行浏览;如果您想要某个单独页面来浏览一个源文件,则可以单击文件图标右侧的 XXX.go 链接,例如:GetString

总结

当初我写 Go Walker 时的初衷就是在线源码快速浏览,加上强大的直接跳转功能。很高兴 sourcegraph 正在朝着这个方向努力并且做得很好,不可谓不是一个强大的在线源码浏览工具!

本文来自:无闻的博客

感谢作者:无闻

查看原文:Sourcegraph 简介

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。