可能是迄今為止最好的 GitHub 程式碼瀏覽外掛

發表於2017-07-28

【伯樂線上轉註】:以前曾介紹過一個 Chrome 外掛 Octotree。安裝之後,瀏覽託管在 Github上的專案,可看到左側的樹形結構,更方便檢視程式碼。今天這篇文章介紹另外一個同類插接。


GitHub是很多開發者遠(tong)程(xing)協(jiao)作(you)的重要工具,其社交化編碼的理念伴隨著開源運動改變著整個開發社群的生態,無數優質專案依託GitHub在全球開源開發者的參與下蓬勃發展。

不過,講真,你有在GitHub上好好讀過程式碼嗎?

對於大部分人來說恐怕是沒有,GitHub作為一款基於Git的程式碼管理工具和協同工具是很優秀的,然而作為程式碼瀏覽和搜尋工具,就和IDE差的很遠了。不然為什麼到今天GitHub連個側欄的檔案樹沒有,很多開發者要專門去下載瀏覽器外掛才能有檔案樹?為什麼你還是需要git clone到本地在把程式碼裝到你的IDE裡才能愉快的閱讀程式碼?是不是有想過如果能像IDE那樣在GitHub上瀏覽程式碼多好?

今天我們就來介紹一款Chrome瀏覽器外掛Insight.io,讓你能像在GitHub上像你的IDE裡一樣瀏覽和搜尋程式碼,讓你的Github就像穿上了鋼鐵俠的戰衣。

可能是迄今為止最好的 GitHub 程式碼瀏覽外掛

功能總覽

下載安裝後,開啟一個GitHub上的專案,會看到左邊有個側邊欄,是不是已經有了自己在IDE裡面的感覺了?外掛提供以下功能

  • 跳轉到定義
  • 查詢引用
  • 目錄樹功能
  • 基於符號的程式碼搜尋

Glance

 

交叉引用

Apache Spark做例子,懸浮在某個節點(類,方法,變數等)上就可以看到相應的型別和文件說明。點選左邊的結構(Structure)按鈕就可以看到改檔案的類結構,包括成員變數,成員函式等,點選也可以跳到相應的行。

Cross Reference

查詢引用

點選任何節點的用例就能跳到這個類,方法或者變數定義的地方(類似於IDE中的Ctrl + click)。

點選類,方法和變數的定義節點,則可以找出所有該節點的使用例子。其中使用例子又會以被引用(Referenced At), 繼承 (Inherit), 被繼承(Inherited By), 重寫(Override)等型別進一步分類方便查詢。如果結果太多,用例的右上方也會有支援regular expression的文字框可以用來過濾出感興趣的檔案。

Find References

目錄樹

點選檔案(File)按鈕你會看到樹狀的目錄結構,忘記GitHub上切換檔案的痛苦吧,檔案樹讓你輕鬆的在專案之內的檔案中自如切換。

對於私有專案需要點選下方的Sign In按鈕併到insight.io上匯入私有專案檔案樹才會生效。

Directory Tree

程式碼搜尋

GitHub只支援純文字搜尋,這時常讓搜尋程式碼變得很困難,特別是當你想搜的關鍵詞是常用詞的時候,大量的無用結果會讓搜尋功能完全不可用。而是用Insight.io外掛,點選搜尋(Search)按鈕可以按類名,方法名,變數名,檔名等等搜尋程式碼,並且有自動補全功能。試試在Insight.io和GitHub原生搜尋上搜一下RDD.map對比下搜尋結果吧?

Code Search

跳轉到Insight.io

你也可以一鍵點選跳轉到Insight.io上獲得更好的瀏覽體驗。

View on insight.io

提交專案給Insight.io

Insight.io目前收錄了2000多個最活躍的開源專案,包括Apache KafkaLinux-kernel這樣的大型專案,也有像AndroidSwipeLayout這樣優質的個人專案。如果你需要的專案並未被我們收錄,點選Information欄下的Request Analyze就可以提交你目前正在瀏覽的專案了。

Request Analyze

快捷鍵

用快捷鍵可以快速開啟關閉外掛功能:

  • 檔案樹⌘+⇧+f
  • 類結構⌘+⇧+o
  • 資訊⌘+⇧+i
  • 搜尋⌘+⇧+s

外掛下載傳送門

目前外掛支援的語言有Java, C/C++, Scala, Python和Ruby。想跟開發團隊吐個槽或者點個贊?想知道最好的程式語言PHP什麼時候支援?想知道怎麼讓公司程式碼庫也能用上Insight.io?歡迎郵件到 support@insight.io 。想實時吐槽的也可以加入我們的gitter房間

Gitter chat

相關文章