原文链接:http://www.geeksense.cn/plugin/
GitHub上代码浏览和搜索的利器 —— 由chongzhe分享
GitHub是很多开发者远(tong)程(xing)协(jiao)作(you)的重要工具,其社交化编码的理念伴随着开源运动改变着整个开发社区的生态,无数优质项目依托GitHub在全球开源开发者的参与下蓬勃发展。
不过,讲真,你有在GitHub上好好读过代码吗?
对于大部分人来说恐怕是没有,GitHub作为一款基于Git的代码管理工具和协同工具是很优秀的,然而作为代码浏览和搜索工具,就和IDE差的很远了。不然为什么到今天GitHub连个侧栏的文件树没有,很多开发者要专门去下载浏览器插件才能有文件树?为什么你还是需要git clone到本地在把代码装到你的IDE里才能愉快的阅读代码?是不是有想过如果能像IDE那样在GitHub上浏览代码多好?
今天我们就来介绍一款Chrome浏览器插件Insight.io,让你能像在GitHub上像你的IDE里一样浏览和搜索代码,让你的Github就像穿上了钢铁侠的战衣。
功能总览
下载安装后,打开一个GitHub上的项目,会看到左边有个侧边栏,是不是已经有了自己在IDE里面的感觉了?插件提供以下功能
跳转到定义
查找引用
目录树功能
基于符号的代码搜索
交叉引用
用Apache Spark做例子,悬浮在某个节点(类,方法,变量等)上就可以看到相应的类型和文档说明。点击左边的结构(Structure)按钮就可以看到改文件的类结构,包括成员变量,成员函数等,点击也可以跳到相应的行。
查找引用
点击任何节点的用例就能跳到这个类,方法或者变量定义的地方(类似于IDE中的Ctrl + click)。
点击类,方法和变量的定义节点,则可以找出所有该节点的使用例子。其中使用例子又会以被引用(Referenced At), 继承 (Inherit), 被继承(Inherited By), 重写(Override)等类型进一步分类方便查找。如果结果太多,用例的右上方也会有支持regular expression的文本框可以用来过滤出感兴趣的文件。
目录树
点击文件(File)按钮你会看到树状的目录结构,忘记GitHub上切换文件的痛苦吧,文件树让你轻松的在项目之内的文件中自如切换。
对于私有项目需要点击下方的Sign In按钮并到insight.io上导入私有项目文件树才会生效。
代码搜索
GitHub只支持纯文本搜索,这时常让搜索代码变得很困难,特别是当你想搜的关键词是常用词的时候,大量的无用结果会让搜索功能完全不可用。而是用Insight.io插件,点击搜索(Search)按钮可以按类名,方法名,变量名,文件名等等搜索代码,并且有自动补全功能。试试在Insight.io和GitHub原生搜索上搜一下RDD.map对比下搜索结果吧?
跳转到Insight.io
你也可以一键点击跳转到Insight.io上获得更好的浏览体验。
提交项目给Insight.io
Insight.io目前收录了2000多个最活跃的开源项目,包括Apache Kafka, Linux-kernel这样的大型项目,也有像AndroidSwipeLayout这样优质的个人项目。如果你需要的项目并未被我们收录,点击Information栏下的Request Analyze就可以提交你目前正在浏览的项目了。
快捷键
用快捷键可以快速打开关闭插件功能:
文件树: ⌘+⇧+f
类结构: ⌘+⇧+o
信息: ⌘+⇧+i
搜索: ⌘+⇧+s
目前插件支持的语言有Java, C/C++, Scala, Python和Ruby。想跟开发团队吐个槽或者点个赞?想知道最好的编程语言PHP什么时候支持?想知道怎么让公司代码库也能用上Insight.io?欢迎邮件到support@insight.io或者在这里留言。
快来下载体验一下吧!
下载插件