代码搜索引擎和代码浏览器 Sourcegraph 宣布开源

by admin on 2020年3月17日

知名流行的代码查看工具 Sourcegraph
日前已宣布开源(Apache
License),代码托管在 GitHub 上

澳门新葡亰网址下载 1

 

澳门新葡亰网址下载 2

以代码托管平台起家的 GitHub
网站,已然成为全球程序员工作和生活中不可或缺的一份子。从优秀的企业,到优秀的程序员,都将自己最优秀的代码作品存放在这片开源净土里,供彼此学习交流。\LS–20170713VTUHP
LaserJet Professional P1108
D:装机vs_Enterprise_2017.exe –layout
D:装机visualstudioenterprise2017 –lang zh-CN

Sourcegraph 被大众广为熟知正是因为它支持在 GitHub
上轻松浏览和搜索代码,Sourcegraph 这款 Chrome
插件称得上是开发者必备的插件,它可以让我们像使用 IDE 一样浏览和搜索
GitHub 代码。

GitHub Trending 栏目甚至已经成为 IT
从业人员的新闻日报,每日必读。在之前的一篇文章中,我也有讲到 GitHub
对于我们程序员个人的重要性:聊聊 GitHub
对于程序员的品牌价值。

搜索”insight.io”

Sourcegraph 是一款能够根据语义来把 Web
上的开源代码编入索引的代码搜索浏览工具。你可以从代码仓库和安装包,甚至是函数里搜索代码,同时也可以直接点击被完全创建了链接的代码来阅读文档、跳转到变量定义或者马上找到可用的
Demo。总而言之,你可以在你的 Web
浏览器上完成这一切,而不需要配置任何编辑器。由 Sourcegraph 出品的这款
Chrome 插件,可以非常方便地浏览和搜索 GitHub
上的代码,持跨仓库(repository)搜索、跳转到定义、查找引用等功能,宛若一个功能强大的
IDE。核心功能如跳转到定义(Go-to-definition) —— 浏览文件或查看 pull
请求时,将鼠标悬停在代码上可以查看文档提示,单击即可跳转到定义、查找引用或全文搜索。

既然 GitHub 这么重要,又被我们使用得这么频繁,那关于 GitHub
的一些优秀浏览器插件或者其他工具,我们就一定不可错过啦。本文就来整理一些,都是我平常使用最得心应手的东西,全都倾力推荐出来,绝对干货!

澳门新葡亰网址下载 3

官方表示,开源 Sourcegraph
是为了给更多的开发者和开发者生态系统提供代码搜索和代码语义智能感知,并帮助实现
Sourcegraph 总体规划:

Chrome 扩展程序

 

  • 使基本的代码语义智能感知无处不在(适用于所有语言、所有编辑器和代码主机等)

  • 使代码审查持续且智能化

  • 提升开源代码的数量和质量

备注:这个分类的部分均可以在 Chrome
应用商店 搜索得到,也可以直接点击小标题直接跳转至插件详情页。

 

事实上,Sourcegraph
的核心分析库早已开源,而且使用起来非常方便。它被称为 srclib(发音“Source
Lib”)。强大的 srclib 支撑着所有你在 Sourcegraph
上看到的和语义分析相关的特性,同时也支持能跳转到函数定义和语义感知功能的编辑器插件。

Octotree

很好奇的是,GitHub
作为代码托管平台,竟然没有提供项目目录,方便用户在线快速浏览项目结构。所以,在线分析项目源码就会变得很繁琐,必须一层一层点击,然后再一次一次地向上返回。要知道,本来
GitHub
网站在中国区的访问就已经很慢了。最无奈的做法就是,下载到本地,再使用
Sublime 等编辑器打开。

Octotree 作为 Chrome 浏览器的一款插件,刚好解决这个使用痛点。他能够像
IDE 一样提供项目目录,快捷导航,方便浏览。同时支持 GitHub 和 GitLab
两个常用的代码托管网站。更贴心的是,你可以自行选择是否显示目录。

澳门新葡亰网址下载 4

chrome://extensions/

本次开源除了开源 Sourcegraph 的代码之外,还开放了其他产品和公司流程。如
Sourcegraph
的产品路线图、浏览器扩展澳门新葡亰网址下载 ,、about.sourcegraph.com 网站等。Sourcegraph
的总体规划也一直是公开的。

GitHub Plus

同样作为 Chrome 的插件,GitHub Plus
提供的功能也是非常实用。能够显示代码仓库的大小,以及其中每个文件的大小和下载链接。使用这款插件,我们再也不用因为需要某个单一文件而被迫下载整个项目源码,尤其是在网速不给力的时候。

澳门新葡亰网址下载 5

澳门新葡亰网址下载 6

澳门新葡亰网址下载 7

而成为 Sourcegraph 开源项目的 contributer 将可以:

GitHub Hovercard

使用这款插件,当你将鼠标停留在 GitHub
网站的用户头像或者仓库链接地址上时,会自动弹出一个悬浮框,带你提前预览基本信息。有点类似
StackOverflow 网站的用户头像的鼠标悬停效果。Hovercard
插件支持的悬停位置更多,包括用户头像,仓库地址,Issue
链接,个人主页等。咱们还是用图说话比较直接:

澳门新葡亰网址下载 8

澳门新葡亰网址下载 9

澳门新葡亰网址下载 10

澳门新葡亰网址下载 11

澳门新葡亰网址下载 12

 

  • 将 PR 提交给 Sourcegraph 开源项目

  • 在 Sourcegraph
    上搜索/浏览 sourcegraph/sourcegraph,并讨论代码和文档

  • 查看、讨论并提议对正在进行的产品路线图的更改

  • 添加和改进文档

  • 构建 Sourcegraph 扩展以增强 Sourcegraph 和 GitHub 上的查看/审查代码

Sourcegraph for GitHub

代码搜索,查看引用,自动跳转,项目目录导航,这些 IDE
上常用的功能操作,借助 Sourcegraph 插件,都能帮你直接在线使用。如图:

澳门新葡亰网址下载 13

澳门新葡亰网址下载 14

澳门新葡亰网址下载 15

GitHub是很多开发者远(tong)程(xing)协(jiao)作(you)的重要工具,其社交化编码的理念伴随着开源运动改变着整个开发社区的生态,无数优质项目依托GitHub在全球开源开发者的参与下蓬勃发展。

(文/开源中国)    

Octo Mate

这款插件提供的功能与前面提到的 GitHub Plus
有点类似,展示项目大小,任意文件点击下载等。如图:

澳门新葡亰网址下载 16

澳门新葡亰网址下载 17

不过,讲真,你有在GitHub上好好读过代码吗?

Awesome Autocomplete for GitHub

GitHub
智能搜索插件。有点类似自动补全功能,实时监听输入的搜索关键字,自动列出相关内容。正如官方介绍那样,致力于打造
GitHub 上最好的搜索引擎,助你在搜索仓库和用户方面,比以往更快人一步。

澳门新葡亰网址下载 18

澳门新葡亰网址下载 19

对于大部分人来说恐怕是没有,GitHub作为一款基于Git的代码管理工具和协同工具是很优秀的,然而作为代码浏览和搜索工具,就和IDE差的很远了。不然为什么到今天GitHub连个侧栏的文件树没有,很多开发者要专门去下载浏览器插件才能有文件树?为什么你还是需要git
clone到本地在把代码装到你的IDE里才能愉快的阅读代码?是不是有想过如果能像IDE那样在GitHub上浏览代码多好?

Isometric Contributions

3D 像素立体展示 GitHub
上的仓库提交记录。相比传统的方块图表,更有美感。当然,使用这款插件之后,你可以自由切换展示方式,而不是一刀切。

澳门新葡亰网址下载 20

高效率管理工具

前面提到的都是 Chrome 的插件系列,基本上可以解决平时我们使用 GitHub
在线搜索或者浏览某一仓库时所遇到的痛点问题。但是还有一个很重要的痛点没有解决,那就是我们
Star 过的仓库管理问题。

任何一个 IT 领域,GitHub
网站都有成千上万个优秀开源项目可供参考学习。所以,收藏关注几十几百个项目是再平常不过的一件事了。没有标签,没有便捷的检索功能,如何高效率地管理这些关注过的项目呢?也许你可以尝试这些网站提供的工具。

今天我们就来介绍一款Chrome浏览器插件Insight.io,让你能像在GitHub上像你的IDE里一样浏览和搜索代码,让你的Github就像穿上了钢铁侠的战衣。澳门新葡亰网址下载 21

OhMyStar2

强力推荐 OhMyStar2 客户端,号称是管理 GitHub Stars 最好的方式。自动同步
GitHub 账号的
Stars,拥有标签和评分两种分类方式助你分组管理项目,根据名称、日期等指标自动排序,三方分享功能,甚至提供每日
Trending 浏览,说是最好,名符其实!

澳门新葡亰网址下载 22

功能总览

下载安装后,打开一个GitHub上的项目,会看到左边有个侧边栏,是不是已经有了自己在IDE里面的感觉了?插件提供以下功能

  • 跳转到定义
  • 查找引用
  • 目录树功能
  • 基于符号的代码搜索

澳门新葡亰网址下载 23

Astral

也是提供标签式的方式管理 GitHub
账号关注的项目。只不过,通过网站在线管理,没有提供 PC
版客户端。免费试用。

澳门新葡亰网址下载 24

交叉引用

用Apache
Spark做例子,悬浮在某个节点(类,方法,变量等)上就可以看到相应的类型和文档说明。点击左边的结构(Structure)按钮就可以看到改文件的类结构,包括成员变量,成员函数等,点击也可以跳到相应的行。

澳门新葡亰网址下载 25

Insight.io

这个工具使用起来有点类似
IDE,提供开发中常用的快速导航、代码搜索功能、查看引用和点击跳转等功能。

澳门新葡亰网址下载 26

我想,有了这些工具,一定能大幅提高我们程序员使用 GitHub
时的效率。工欲善其事,必先利其器。站在巨人的肩膀上,更容易事半功倍。利用好工具,换种角度来看,也是一种不可忽视的能力。

从事 IT
行业以来,越发觉得,互联网对于我们每个人来说,都是公平的,如何开拓视野,利用网络平台提升自己的学习能力和工作效率,显得尤为重要。很庆幸,我们都在这个最潮流的行业,共同学习,一起进步。

备注:更多开发中的优秀 Chrome 插件,可访问我的 GitHub
仓库地址:

查找引用

点击任何节点的用例就能跳到这个类,方法或者变量定义的地方(类似于IDE中的Ctrl

  • click)。

点击类,方法和变量的定义节点,则可以找出所有该节点的使用例子。其中使用例子又会以被引用(Referenced
At), 继承 (Inherit), 被继承(Inherited By),
重写(Override)等类型进一步分类方便查找。如果结果太多,用例的右上方也会有支持regular
expression的文本框可以用来过滤出感兴趣的文件。

澳门新葡亰网址下载 27

目录树

点击文件(File)按钮你会看到树状的目录结构,忘记GitHub上切换文件的痛苦吧,文件树让你轻松的在项目之内的文件中自如切换。

对于私有项目需要点击下方的Sign
In
按钮并到insight.io上导入私有项目文件树才会生效。

澳门新葡亰网址下载 28

代码搜索

GitHub只支持纯文本搜索,这时常让搜索代码变得很困难,特别是当你想搜的关键词是常用词的时候,大量的无用结果会让搜索功能完全不可用。而是用Insight.io插件,点击搜索(Search)按钮可以按类名,方法名,变量名,文件名等等搜索代码,并且有自动补全功能。试试在Insight.io和GitHub原生搜索上搜一下RDD.map对比下搜索结果吧?

澳门新葡亰网址下载 29

跳转到Insight.io

你也可以一键点击跳转到Insight.io上获得更好的浏览体验。

澳门新葡亰网址下载 30

提交项目给Insight.io

Insight.io目前收录了2000多个最活跃的开源项目,包括Apache
Kafka, Linux-kernel这样的大型项目,也有像AndroidSwipeLayout这样优质的个人项目。如果你需要的项目并未被我们收录,点击Information栏下的Request
Analyze
就可以提交你目前正在浏览的项目了。

澳门新葡亰网址下载 31

快捷键

用快捷键可以快速打开关闭插件功能:

  • 文件树⌘+⇧+f
  • 类结构⌘+⇧+o
  • 信息⌘+⇧+i
  • 搜索⌘+⇧+s

目前插件支持的语言有Java, C/C++, Scala,
Python和Ruby。想跟开发团队吐个槽或者点个赞?想知道最好的编程语言PHP什么时候支持?想知道怎么让公司代码库也能用上Insight.io?欢迎邮件到support@insight.io或者在这里留言。

快来下载体验一下吧!

下载插件

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图