欢迎大家来到《好工具》专栏,这个专栏面向所有希望获得高效生产力工具的朋友。在这个专栏里,我们会和大家聊聊那些狂拽酷霸炫的生产力工具!

相信大家一定我一样,茫然于庞大的工具海洋,却仍找不到称心的它来使用,这也是《好工具》专栏存在的意义 —— 发掘、折腾,为你带来真正满足需求的产品或产品组合,提高生产效率、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』获取本文介绍的插件

今日话题

你有用过什么好用的浏览器插件?可以安利出来嘛~

转载文章请后台联系

侵权必究

  • 【好工具】强烈安利的文献管理软件 Mendeley

  • 【好工具】网页剪藏+免费云端笔记+一键变博客 | 我这样使用『语雀』

  • 【好工具】读论文治头秃,放大招啦!|『Kami+沙拉查词』

【好工具】Sourcegraph助你网页端快速浏览项目代码相关推荐

  1. B站网页端视频旋转JS代码

    有时b站up主上传的视频不是横屏的,电脑端看起来费脖子,可以用如下代码解决. F12打开浏览器console 粘贴下列代码并回车 其中-90(负数)是逆时针旋转的度数,正数是顺时针旋转,可以改成180 ...

  2. 如何用bat文件快速计算项目代码行数

    在项目文件夹根目录新建一个txt文档,把下面的代码复制到txt文档里面,然后txt的后缀名改为bat,双击这个文件即可 REM 放到项目根目录双击获取代码总行数.bat @echo off for / ...

  3. 如何在Github网页端处理不同分支之间的冲突

    今天我工作在一个issue branch时,遇到一个错误消息:this branch has conflicts that must be resolved. 点击web editor超链接后: 下图 ...

  4. 美摄云非编系统——网页端实时编辑渲染方案

    美摄云非编是一款新型网页端非线性编辑工具,应用WebAssembly技术实现网页端直接渲染图像.本次LiveVideoStackCon 2020线上峰会我们邀请到了北京美摄网络科技有限公司的研发总监黄 ...

  5. 微信开放平台开发第三方授权登陆(二):PC网页端

    微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平 ...

  6. 电子琴节奏包制作_XR情报局:如何在网页端轻松制作Beat Saber关卡?

    小青|编辑 大家好,"XR情报局"第六期又和大家见面啦!今天将向大家分享:如何快速简单地制作<Beat Saber>关卡. 我要分享的方法对于不熟悉游戏mod制作的小白 ...

  7. 应用市场高速下载以及网页端调起APP页面研究与实现

    Github博文地址,此处更新可能不是很及时. 好久没写博客了,好大一个坑.正好,最近刚做完应用市场的高速下载功能,便拿来填了这个坑. 话说产品为了增加用户量,提升用户活跃度以及配合推广,更坑爹的是看 ...

  8. fps测试网页_对话斗鱼云游戏负责人:做强网页端,近3成为新增用户

    核心要点: 产品形态:现阶段是网页端,避免跨端的体验问题. 用户规模:高峰时占用几百台服务器,并在持续考虑扩容 商业模式:测试期间免费,后端持续接入优质的内容和技术解决方案. 直播平台与云游戏结合的想 ...

  9. 支付宝H5 与网页端支付开发

    在日常生活中,我们基本上都是进行微信与支付宝的支付方式尽心支付,这种方式确实大大便利了我们的生活,那么如何在我们的产品中进行微信与支付宝支付的植入开发呢? 我们先进行支付宝的H5与网页端支付开发,这里 ...

最新文章

  1. 搭建git for windows服务器(100%可以成功)【转】
  2. 深入理解WMS(三):剖析Activity,View,Window之间的关系
  3. 移植uboot第二步:分析uboot
  4. jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)
  5. 10.19 qbxt国庆day3
  6. KAFKA介绍(分布式架构)
  7. 【Guava】Google Guava本地高效缓存
  8. Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
  9. -1.#IND,1.#INF 的判断
  10. R语言 多元方差分析|单因素方差分析
  11. MySqL数据库监听命令_Mysql数据库监听binlog
  12. android版幻灯片软件,手机幻灯片制作器
  13. Flask框架初学-03-模板
  14. 【树莓派】刷机、基础配置及多种方式登录
  15. mysqli mysql assoc_mysqli_fetch_assoc()期望参数1为mysqli_result或如何获取MySQLi
  16. 52单片机课程设计——利用52单片机的智能窗帘设计论文+源码
  17. Windows系统扩充C盘空间系列方法总结
  18. Fiddler:限制网速,模拟弱网
  19. SSL证书是什么?为什么需要SSL证书?
  20. 【数据结构原理】系统生命周期 | 算法规范 | 笔记

热门文章

  1. Linux下怎么让挂起的(suspend or stopped)进程恢复执行(resume)
  2. 第三周作业 产品同质化问题
  3. Windows 鼠标右键注册表位置
  4. 数据分析入门——Matplotlib数据可视化
  5. 7-5 快乐的尽头 (17 分)
  6. 关于三角恒等变换与正余弦定理的学习总结
  7. 支持流畅运行win10的最低配置是什么
  8. 计算机教师工作事迹介绍,先进个人 信息技术老师先进事迹.doc
  9. 有几个ZUCC (20分)
  10. 梦幻西游 python.dll_GitHub - 10508zhl/mhxy: tensorflow实践:梦幻西游人物弹窗识别