【好工具】Sourcegraph助你网页端快速浏览项目代码
欢迎大家来到《好工具》专栏,这个专栏面向所有希望获得高效生产力工具的朋友。在这个专栏里,我们会和大家聊聊那些狂拽酷霸炫的生产力工具!
相信大家一定我一样,茫然于庞大的工具海洋,却仍找不到称心的它来使用,这也是《好工具》专栏存在的意义 —— 发掘、折腾,为你带来真正满足需求的产品或产品组合,提高生产效率、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助你网页端快速浏览项目代码相关推荐
- B站网页端视频旋转JS代码
有时b站up主上传的视频不是横屏的,电脑端看起来费脖子,可以用如下代码解决. F12打开浏览器console 粘贴下列代码并回车 其中-90(负数)是逆时针旋转的度数,正数是顺时针旋转,可以改成180 ...
- 如何用bat文件快速计算项目代码行数
在项目文件夹根目录新建一个txt文档,把下面的代码复制到txt文档里面,然后txt的后缀名改为bat,双击这个文件即可 REM 放到项目根目录双击获取代码总行数.bat @echo off for / ...
- 如何在Github网页端处理不同分支之间的冲突
今天我工作在一个issue branch时,遇到一个错误消息:this branch has conflicts that must be resolved. 点击web editor超链接后: 下图 ...
- 美摄云非编系统——网页端实时编辑渲染方案
美摄云非编是一款新型网页端非线性编辑工具,应用WebAssembly技术实现网页端直接渲染图像.本次LiveVideoStackCon 2020线上峰会我们邀请到了北京美摄网络科技有限公司的研发总监黄 ...
- 微信开放平台开发第三方授权登陆(二):PC网页端
微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平 ...
- 电子琴节奏包制作_XR情报局:如何在网页端轻松制作Beat Saber关卡?
小青|编辑 大家好,"XR情报局"第六期又和大家见面啦!今天将向大家分享:如何快速简单地制作<Beat Saber>关卡. 我要分享的方法对于不熟悉游戏mod制作的小白 ...
- 应用市场高速下载以及网页端调起APP页面研究与实现
Github博文地址,此处更新可能不是很及时. 好久没写博客了,好大一个坑.正好,最近刚做完应用市场的高速下载功能,便拿来填了这个坑. 话说产品为了增加用户量,提升用户活跃度以及配合推广,更坑爹的是看 ...
- fps测试网页_对话斗鱼云游戏负责人:做强网页端,近3成为新增用户
核心要点: 产品形态:现阶段是网页端,避免跨端的体验问题. 用户规模:高峰时占用几百台服务器,并在持续考虑扩容 商业模式:测试期间免费,后端持续接入优质的内容和技术解决方案. 直播平台与云游戏结合的想 ...
- 支付宝H5 与网页端支付开发
在日常生活中,我们基本上都是进行微信与支付宝的支付方式尽心支付,这种方式确实大大便利了我们的生活,那么如何在我们的产品中进行微信与支付宝支付的植入开发呢? 我们先进行支付宝的H5与网页端支付开发,这里 ...
最新文章
- 搭建git for windows服务器(100%可以成功)【转】
- 深入理解WMS(三):剖析Activity,View,Window之间的关系
- 移植uboot第二步:分析uboot
- jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)
- 10.19 qbxt国庆day3
- KAFKA介绍(分布式架构)
- 【Guava】Google Guava本地高效缓存
- Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
- -1.#IND,1.#INF 的判断
- R语言 多元方差分析|单因素方差分析
- MySqL数据库监听命令_Mysql数据库监听binlog
- android版幻灯片软件,手机幻灯片制作器
- Flask框架初学-03-模板
- 【树莓派】刷机、基础配置及多种方式登录
- mysqli mysql assoc_mysqli_fetch_assoc()期望参数1为mysqli_result或如何获取MySQLi
- 52单片机课程设计——利用52单片机的智能窗帘设计论文+源码
- Windows系统扩充C盘空间系列方法总结
- Fiddler:限制网速,模拟弱网
- SSL证书是什么?为什么需要SSL证书?
- 【数据结构原理】系统生命周期 | 算法规范 | 笔记
热门文章
- Linux下怎么让挂起的(suspend or stopped)进程恢复执行(resume)
- 第三周作业 产品同质化问题
- Windows 鼠标右键注册表位置
- 数据分析入门——Matplotlib数据可视化
- 7-5 快乐的尽头 (17 分)
- 关于三角恒等变换与正余弦定理的学习总结
- 支持流畅运行win10的最低配置是什么
- 计算机教师工作事迹介绍,先进个人 信息技术老师先进事迹.doc
- 有几个ZUCC (20分)
- 梦幻西游 python.dll_GitHub - 10508zhl/mhxy: tensorflow实践:梦幻西游人物弹窗识别