原文链接: 如何在 GitHub 上高效阅读源码?

之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下。

结果就是一个月过去了,产出基本为零。

我发现,如果没有网,程序员基本上是写不出代码了。现在做什么功能之前,先到网上搜搜看,然后直接复制粘贴搞定。

最实用的技术就是这么朴实无华。

而大部分的代码都是在 GitHub 上找的,可以这么说,GitHub 基本上撑起了程序员一半的工资。

那如果不想把代码 clone 到本地,怎么在 GitHub 上高效阅读源码呢?

我最开始用的是一个插件,叫 Octotree

有了这个插件之后,在页面的最左侧会多一个目录树。这样的话,就可以快速查看项目的整体目录结构,而且在切换文件时也会更加流畅,再也不用来回刷新页面了。

细心的小伙伴可能也发现了,上面的截图还有一处不同,就是页面中央多了一个「GitHub1s」按钮。

没错,这就是我要介绍的第二个插件。

点击这个按钮之后呢,就会呼出在线版的 VS Code,然后使用 VS Code 打开代码仓库,直接享受 IDE 的体验。

如果想直接通过网址来打开也是可以的,比如我的项目地址是:

https://github.com/yongxinz/id-maker

只需要将地址稍稍改动,加一个 1s 即可:

https://github1s.com/yongxinz/id-maker

那么这个 1s 到底是什么意思呢?官方是这么说的:

One second to read GitHub code with VS Code.

当然了,我们也可以把代码拉下来,自己部署。然后根据服务响应的快慢,起个名字叫 2s 或者 3s 都可以。

虽然这种方式已经很方便了,但还有一个缺点,就是打开的代码是只读的,不能编辑。比如我只想改几个很小的点,那么不好意思,还是要把代码 clone 下来,走一遍提交流程。

那还有更好的方式吗?

当然有。

终于到重点了,隆重推出由官方支持的方式:只需要在代码仓库页面按一下 . 就可以直接使用 VS Code 打开,而且支持编辑。

Press the . key on any repository or pull request, or swap .com with .dev in the URL, to go directly to a VS Code environment in your browser.

也可以通过地址访问,把 .com 改成 .dev,比如:

https://github.dev/yongxinz/id-maker

太方便了,太优雅了。感觉好多操作都可以直接在浏览器里搞定了。

微软还是厉害。曾几何时,我记得微软在网上骂声一片,对其收购 GitHub 也持悲观态度。但人家现在开源项目已经上千个了,还在不断贡献。而且产品也越做越好,别的不说,单靠 VS Code 就俘获了多少程序员的芳心。

科技公司还是得踏踏实实搞技术,诚心诚意做产品,搞其他花里胡哨的东西没啥用。

我们程序员呢,努力提升技术,然后多给文章点在看,多转发,就挺好。


推荐阅读:

热情推荐:

  • 技术博客 硬核后端技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

如何在 GitHub 上高效阅读源码?的更多相关文章

  1. 如何从github上clone项目源码-linux

    前言 github是目前较为流行的代码托管网站,linux系统是目前开发人员较为常用的操作系统.项目实现的过程中用到一些经典好用的源代码,可以从github上clone,本文主要介绍linux系统命令 ...

  2. 将github上的项目源码导入eclipse详细教程

    将github上的项目源码导入eclipse详细教程 学习了: http://blog.csdn.net/itbiggod/article/details/78462720

  3. 如何从Eclipse导入github上的项目源码

    1.首先在github.com上申请一个账号,比如笔者的账号为puma0072.Eclipse需要安装egit插件,在Eclipse中选择help->Marketplace,在search中输入 ...

  4. 在Eclipse上通过插件获取github上的spring源码

    spring源码开始的时候是通过SVN来管理代码的,后来是转移到github上管理源码的,可以通过在github上直接下载spring的源码. 下面讲解如何通过在eclipse上的插件git来获取sp ...

  5. 如何从Eclipse导入github上的项目源码--转载

    [转载出处声明:hil2000的专栏] 1.首先在github.com上申请一个账号,比如笔者的账号为puma0072.Eclipse需要安装egit插件,在Eclipse中选择help->Ma ...

  6. 下载GitHub上的dnSpy源码

    一.方法 下载GitHub上项目的方法,目前我知道的有四种: 1.用svn软件checkout下载 2.安装git,然后git命令下载 3.直接下载项目压缩包 4.安装GitHub的客户端,然后下载项 ...

  7. github上的QT源码,必要的时候还是应该看一下,仅凭猜测很容易出错

    QCoreApplication::processEvents 他处理的时候拿的是current不是qAppqApp的话,才是和主线程密切相关的 一直觉得QT源码复杂,有点怕,所以没怎么看 我也看不懂 ...

  8. 将github上的项目源码导入到eclipse中

    1.注册github帐号 在github上注册一个自己的帐号. 2.安装git插件egit 在eclipse中安装git插件egit,安装方法可以参考这篇文章: http://www.cnblogs. ...

  9. 阅读github上的项目源码

    1.基础资料 函数手册,类库函数手册2.和程序相关的专业资料 高数,linux文件系统3.相关项目的文档资料4.留备份,构造可运行的环境,找开始的地方 main(),5.分层次阅读,写注解,编程思想, ...

随机推荐

  1. [luogu4747]Intrinsic Interval

    有一个结论,答案一定是所有包含其合法区间中$l$最大且$r$最小的 证明比较容易,考虑两个合法区间有交,那么交必然合法,同时交也必然包含该区间,因此这个区间一定是合法的(取$l$最大的和$r$最小的两 ...

  2. Redis | 第7章 Redis 服务器《Redis设计与实现》

    目录 前言 1. 命令请求的执行过程 1.1 发送命令请求 1.2 读取命令请求 1.3 命令执行器(1):查找命令实现 1.4 命令执行器(2):执行预备操作 1.5 命令执行器(3):调用命令的实 ...

  3. NOIp2021 原地退役记

    JS-0013 Day -2 - 2021.11.17 打了场 cmd_blk 出的模拟赛,T2 T3 都是做过的原题(AGC010C & ARC092D),于是直接摆烂交暴力垫底,成功为我的 ...

  4. 【AGC052A】

    题目 \(有T组询问\) \(每次给一个n\) \(3个01串\),\(这三个串每个都有n个0\),\(n个1\),\(求一个2*n + 1的字符串\),\(使他成为S1+S1,S2+S2,S3+S3 ...

  5. Codeforces 1491G - Switch and Flip(构造题)

    Codeforces 题目传送门 & 洛谷题目传送门 obviously,难度高一点的构造题对我来说都是不可做题 首先考虑将排列拆成一个个置换环,也就是 \(\forall i\) 连边 \( ...

  6. Codeforces Round #683 (Div. 1) Solution

    A. Knapsack 猜个结论--先把所有的东西加起来,如果小于 \(\frac{1}{2}m\) 就输出不合法:如果在 \([\frac{1}{2}m, m]\)之间直接全部输出:若大于 \(m\ ...

  7. R 语言实战-Part 4 笔记

    R 语言实战(第二版) part 4 高级方法 -------------第13章 广义线性模型------------------ #前面分析了线性模型中的回归和方差分析,前提都是假设因变量服从正态 ...

  8. 类成员函数调用delete this会发生什么呢?

    有如下代码 class myClass { public: myClass(){}; ~myClass(){}; void foo() { delete this; } }; int main() { ...

  9. 【Penetration】红日靶场(一)

    nmap探查存活主机 nmap -sP 10.10.2.0/24 图片: https://uploader.shimo.im/f/cfuQ653BEvyA42FR.png!thumbnail?acce ...

  10. [Windows编程]模块遍历

    模块遍历 整体思路 1.创建进程快照 2.遍历首次模块 3.继续下次遍历 4.模块信息结构体 相关API的调用 创建进程快照API HANDLE WINAPI CreateToolhelp32Snap ...