天天看點

我丢,GitHub 上竟然還有這種騷操作,這下閱讀源碼舒服了

CSDN 的小夥伴們,大家好,我是沉默王二。

今天來給大家介紹一個 GitHub 上的騷操作,簡直了!

衆所周知,GitHub 是一個面向開源及私有軟體項目的托管平台,因為隻支援 Git 作為唯一的版本庫格式進行托管,故名 GitHub。

GitHub 社交化的編碼理念讓它成為了國内外開發者眼中神聖而不可侵犯的尤物,無數優質的開源項目依托于 GitHub,并在全球開發者的共同參與下蓬勃發展。

不過,講真,你有在 GitHub 上好好的讀過源碼嗎?

不用謙虛,我估計大多數人沒有這個習慣(包括我啦)。GitHub 再優秀,和 IDE 還是有差距的,在上面閱讀代碼實在是不夠友善。我有嘗試為 Chrome 浏覽器裝過 Octotree、Sourcegraph 這樣的幫助插件,但仍然感覺用起來不夠愉快。

在我遇到今天分享的豬腳之前,用得最多的還是把倉庫克隆到本地,然後再通過 IDE 打開後去浏覽。雖然我不是一名技術極客,但總覺得這種方法有點不夠潮。

如果能在浏覽器中像 IDE 那樣閱讀 GitHub 源碼,該多好呢?

那今天我就來給大家介紹這個騷到天際的騷操作,隻需要在GitHub 倉庫域名後面加上 1s(1 秒内),比如:

https://github1s.com/itwanger/JavaBooks

就能在浏覽器裡面使用 VS Code 環境來閱讀這個倉庫的源碼!

我丢,GitHub 上竟然還有這種騷操作,這下閱讀源碼舒服了

真的是大開眼界啊!

就在倉庫的域名後加個 1s,就能用支援文法高亮、代碼重構的 VS Code 來閱讀源碼,大家服不服我不知道,反正我是服了!

這是為什麼呢?背後發生了什麼呢?

答案很簡單,這依賴于 GitHub 上星标 15.3k 的一個倉庫——名叫 Github1s,基于 VS Code 1.52.1,一個支援在浏覽器裡面直接工作的版本。

Github1s 的靈感主要借鑒了 code-server 這個優秀的開源項目,星标有 40.6K,可以将 VS Code 運作在任何支援浏覽器的機器上。可以說,Github1s 是站在了巨人的肩膀上。

多虧了 VS Code 強大而又靈活的可擴充性,使我們可以借助它的 FileSystemProvider 接口實作自定義的檔案 IO 擴充。

另一方面,GitHub 也提供了強有力的 REST API,使得我們可以自由地讀取倉庫的目錄和檔案。

也就是說,VS Code 的可擴充性和 GitHub 的 REST API 成就了 Github1s 的強大功能。

由于 Github1s 是部署在 GitHub Pages 上的,是以它是一個純靜态的 Web 應用程式,也就意味着它并不需要一台專門為其提供服務的伺服器。赤裸裸的白嫖啊,還非常可靠,因為 GitHub Pages 就非常可靠,我的個人部落格也是部署在 GitHub Pages 上的。

我丢,GitHub 上竟然還有這種騷操作,這下閱讀源碼舒服了

美中不足的一點是,隻能閱讀源碼,不能編輯,檔案是隻讀的——希望 Github1s 的作者能在未來實作這一點,那簡直就不要太舒服了。

大家對這個騷操作感興趣的話,不妨去試一下。如果有時間的話,可以順帶閱讀一下 Github1s 的源碼學習下。

繼續閱讀