標(biāo)題:可能是 GitHub 上迄今為止最奈斯的源碼瀏覽插件
大家好,我是沉默王二。
今天來給大家介紹一個(gè) GitHub 上的騷操作,簡直了!
眾所周知,GitHub 是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С?Git 作為唯一的版本庫格式進(jìn)行托管,故名 GitHub。
GitHub 社交化的編碼理念讓它成為了國內(nèi)外開發(fā)者眼中神圣而不可侵犯的尤物,無數(shù)優(yōu)質(zhì)的開源項(xiàng)目依托于 GitHub,并在全球開發(fā)者的共同參與下蓬勃發(fā)展。
不過,講真,你有在 GitHub 上好好的讀過源碼嗎?
不用謙虛,我估計(jì)大多數(shù)人沒有這個(gè)習(xí)慣(包括我啦)。GitHub 再優(yōu)秀,和 IDE 還是有差距的,在上面閱讀代碼實(shí)在是不夠方便。我有嘗試為 Chrome 瀏覽器裝過 Octotree、Sourcegraph 這樣的幫助插件,但仍然感覺用起來不夠愉快。
在我遇到今天分享的豬腳之前,用得最多的還是把倉庫克隆到本地,然后再通過 IDE 打開后去瀏覽。雖然我不是一名技術(shù)極客,但總覺得這種方法有點(diǎn)不夠潮。
如果能在瀏覽器中像 IDE 那樣閱讀 GitHub 源碼,該多好呢?
那今天我就來給大家介紹這個(gè)騷到天際的騷操作,只需要在GitHub 倉庫域名后面加上 1s(1 秒內(nèi)),比如:
就能在瀏覽器里面使用 VS Code 環(huán)境來閱讀這個(gè)倉庫的源碼!

真的是大開眼界啊!
就在倉庫的域名后加個(gè) 1s,就能用支持語法高亮、代碼重構(gòu)的 VS Code 來閱讀源碼,大家服不服我不知道,反正我是服了!
這是為什么呢?背后發(fā)生了什么呢?
答案很簡單,這依賴于 GitHub 上星標(biāo) 15.3k 的一個(gè)倉庫——名叫 Github1s,基于 VS Code 1.52.1,一個(gè)支持在瀏覽器里面直接工作的版本。
Github1s 的靈感主要借鑒了 code-server 這個(gè)優(yōu)秀的開源項(xiàng)目,星標(biāo)有 40.6K,可以將 VS Code 運(yùn)行在任何支持瀏覽器的機(jī)器上??梢哉f,Github1s 是站在了巨人的肩膀上。
多虧了 VS Code 強(qiáng)大而又靈活的可擴(kuò)展性,使我們可以借助它的 FileSystemProvider 接口實(shí)現(xiàn)自定義的文件 IO 擴(kuò)展。
另一方面,GitHub 也提供了強(qiáng)有力的 REST API,使得我們可以自由地讀取倉庫的目錄和文件。
也就是說,VS Code 的可擴(kuò)展性和 GitHub 的 REST API 成就了 Github1s 的強(qiáng)大功能。

由于 Github1s 是部署在 GitHub Pages 上的,所以它是一個(gè)純靜態(tài)的 Web 應(yīng)用程序,也就意味著它并不需要一臺(tái)專門為其提供服務(wù)的服務(wù)器。赤裸裸的白嫖啊,還非??煽?,因?yàn)?GitHub Pages 就非常可靠,我的個(gè)人博客也是部署在 GitHub Pages 上的。

美中不足的一點(diǎn)是,只能閱讀源碼,不能編輯,文件是只讀的——希望 Github1s 的作者能在未來實(shí)現(xiàn)這一點(diǎn),那簡直就不要太舒服了。
大家對這個(gè)騷操作感興趣的話,不妨去試一下。如果有時(shí)間的話,可以順帶閱讀一下 Github1s 的源碼學(xué)習(xí)下。
給「沉默王二」公眾號(hào)加個(gè)星標(biāo)吧,從此你是風(fēng)兒我是傻,我們下期見!