欢迎大家来到《好工具》专栏,这个专栏面向所有希望获得高效生产力工具的朋友。在这个专栏里,我们会和大家聊聊那些狂拽酷霸炫的生产力工具!
相信大家一定我一样,茫然于庞大的工具海洋,却仍找不到称心的它来使用,这也是《好工具》专栏存在的意义 —— 发掘、折腾,为你带来真正满足需求的产品或产品组合,提高生产效率、get 好心情:)
作者 & 编辑 | 台胖 & Dasein
今天给大家推荐一款浏览器插件
可以让大家更加方便快捷浏览 Github 代码
相信我们的读者中已经有一些在用这个工具
不过还是希望把它推荐给更多小伙伴们!~
相信不少小伙伴在习惯了常用开发环境的使用和界面后第一次使用 Github 浏览代码多少会有一些不适,Github 的默认浏览方式类似我们平常在浏览系统文件的列表模式,在每个文件右侧显示其最近一次提交的时间和 commit message。如果只想大致的浏览一下项目结构或是查找某个特定的模块 / 类就会变得异常麻烦,这个时候 Sourcegraph 便可以派上用场。
1. 安装 Sourcegraph
作为一个浏览器插件,Sourcegraph 的安装自然也很简单,打开 Chrome 浏览器 -> 右上角自定义 -> 更多工具 -> 扩展程序 -> 左上角扩展程序主菜单 -> 打开网上应用程序市场,搜索 Sourcegraph 并安装。(文末有领取方式)
安装完成后,可以打开 Github,当在项目旁边出现 Sourcegraph 的图标时,说明插件安装成功了。点击这个图标便可以进入到 Sourcegraph 模式。
2. Sourcegraph 基本功能使用
1. 初识界面
进入到 Sourcegraph 模式,我们会发现左侧有一个列表列出了当前项目的所有文件,是不是觉得很熟悉了?没错,在这种模式下我们就可以查看项目代码树状结构了。
上图小编帮大家框出了 Sourcegraph 模式下几个主要的功能块,左边便是刚刚提到的项目树状结构,中间部分分为上中下三块,第一部分主要是项目的 commit、branch 等的跳转以及搜索框;第二部分是所有文件的列表,第三部分是最近提交的相关信息。
2. 搜索功能
我们来尝试一下搜索功能,比如我现在要搜索 Caffe 项目中的 bn 层相关代码:
可以看到在我输入 batch_norm 之后搜索框的联想提示速度还是比较快的,而且成功帮我定位到了头文件、cpp 实现和 cuda 文件,看来搜索功能基本可以满足需求。
3. 跳转功能
Sourcegraph 中另一个类似于 IDE 的功能便是他的跳转功能,也就是查找变量定义的位置和引用的位置,我们再一起来尝试一下。
在我们刚刚进入的 batch_norm 层实现中,看到了一个叫 channels_的变量,在谷歌的 C++ 代码规范中,变量名后加下划线一般是类内变量,我们来确认下这个项目是不是也遵循了这个命名规范呢?在 channels_这个变量上稍事停留一下鼠标或单击这个变量,便可以看到弹窗,选择 Go to definition:
可以看到浏览界面直接跳转到了 batch_norm 的头文件,发现 channels_这个变量确实是 BatchNormLayer 这个类的类内变量,跳转速度十分迅速。
同样的,如果想知道有哪些地方用到了 channels_这个变量,可以点击弹窗的另外一个选项 Find references:
由于引用这个变量的肯定不止一处,此时便不会直接跳转,而是在界面下方弹出一个新窗口,用户可以自行选择跳转到哪一个引用。另外在 reference 旁边还有一个 history 标签,切换过去可以看到与该变量相关的所有 commit history,怎么样是不是很方便?
3. Sourcegraph 扩展
在 Sourcegrah 模式下,可以看到右上角有一个 Explore 选项,点进去可以看到 Sourcegraph 也是有很多扩展功能可以使用的,如下图:
可以看到主要是对众多语言的支持,根据官网说明,确认了 Sourcegraph 可以支持 24 种编程语言,同时实现了多平台嵌入支持(Chrome、Firefox、VSCode 等),可见 Sourcegraph 还是比较强大的。
除此之外呢,也有很多其他功能的扩展。例如 token-highlights 这个扩展,可以更好的支持同一个变量的高亮显示:
那么更多 Sourcegraph 的相关功能也等待小伙伴们自己发掘咯,如果有发现十分好用的插件,欢迎在评论区留言~
后台回复『Sourcegraph』获取本文介绍的插件
今日话题
你有用过什么好用的浏览器插件?可以安利出来嘛~
转载文章请后台联系
侵权必究