有很多技巧可以帮助你提高阅读GitHub代码的效率。
比如浏览器插件Octotree:
安装Octotree插件后,进入github项目页面,浏览器侧边栏会多出一个小按钮,如下图所示:
点击后会显示代码库的树形结构,让你可以更方便地查看和导航代码文件
再比如:
直接在github项目页面上按下
句号键,就会在浏览器中打开一个VS Code工具来展示项目代码。
这样看起来是不是更舒服?
虽然这些方式都能很好的辅助阅读源码,但也有一个共同的缺点,那就是都不能进行代码调试和修改。
我们知道阅读源码最好的方式,其实就是把代码run起来,然后去debug它,这样我们能跟踪代码执行的流程,同时也能观测代码中运行时变量,或者尝试对代码进行一些修改,这对我们理解代码的原理是有非常有用的。
那么怎么去debug源码了?通常我们会把源码checkout或者download到本地,然后搭建环境,用本地ide打开源码项目,编译并运行,然后才能debug。
这种方式,如果你只研究一两个开源项目还好,如果研究的项目多了,开发语言也各不相同的话,那就比较费事了,你需要在本地搭建各种运行环境。这听起来是不是很让人头痛,但是没关系,我们有更好的办法去解决这个问题。
Gitpod
Gitpod是一个在线集成开发环境(IDE),部署于Kubernetes集群,它为每个工作区创建一个独立的Pod容器。
它可以使开发人员能够轻松地在浏览器中编写、构建和测试他们的代码,使用Gitpod可以提高开发效率、减少环境配置时间和节省计算资源。
Gitpod支持从github打开或者从gitpod打开两种应用方式。
从github打开IDE来调试源码非常方便,在项目网址前面加上gitpod.io/就可以了
首次使用时,如果没有gitpod帐号,它会出现提示界面,让你选择用什么帐号授权登录,如下图所示
这里选择用github连接,然后需要你确认授权:
授权成功后,Gitpod上会注册一个帐户,并与GitHub账户进行关联。
接下来选择使用哪种IDE,默认选择是浏览器版的VS Code。这里就使用默认选项即可,反正后面想改,随时都可以。
点击继续,就会在浏览器中用VS Code打开刚才的源码项目了。打开会提示项目需要哪些依赖插件,然后进入自动编译状态。
gitpod默认安装的jdk版本是11,如果需要修改,可以参考下面的链接: www.gitpod.io/guides/cust…
我因为打开的是elasticsearch的最新源码,需要Java 17,所以不得不修改容器安装的Java版本。
使用Gitpod的好处在于,它已经预配置了开发环境,你不需要在自己的计算机上安装或配置任何软件或依赖项,所有的依赖项和环境都在Gitpod容器中进行管理。
Gitpod会预先配置VS Code、Docker、Node.js等常用的开发工具。由于编译ElasticSearch需要安装docker环境,所以这对于我来说是一个非常好的特性。
使用本地VS Code
如果想使用本地VS Code打开项目源代码,可以点击左上角菜单,选择【GitPod:Open in VS Code】
首次使用需要先安装gitpod插件。
虽然是用本地VS Code打开的,但是环境使用的GITPOD远程环境,IDE的配置和插件不是本地的,代码也是存储在远程容器中的。
使用终端查看环境信息,可以看到gitpod容器中有许多预置常用开发工具,非常方便。
使用IDEA
打开Dashboard
进入Dashboard页面,点击左上角用户图标,进入User Settings.
点击左侧最下方的Preferences菜单,再选择IDEA
然后回到Workspace,重新打开,就会自动用IDEA打开项目源码了。用IDEA打开,需要预先安装 JetBrains Gateway
打开后的效果如下: