GitHub現在已支持函數定義跳轉,媽媽再也不怕我記性差了
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
看代碼和看書最怕的就是:看到后面,忘了前面。
在后面看到一個函數或方法,但是已經記不清它的定義了怎么辦?這就像看小說忘記了人名一樣讓人頭大。
沒關系!現在GitHub加入了這個功能,不僅可以看到函數原本的定義,還能看到同一代碼庫其他哪些地方使用了同樣的函數。
只要把鼠標停在函數名稱上,如果變成一只手的形狀,就可以點擊查看它的定義啦。
雖然很多代碼編輯器都有這一功能,但是能直接在GitHub上查看還是更方便。有Twitter網友表示:GitHub是要做一個完整的IDE嗎?
在GitHub上,代碼里函數和方法的導航通過使用開源語義庫semantic實現。目前這項新功能支持的語言有:Go、JavaScript、Python、PHP、Ruby、TypeScript等。
支持兩種跳轉
GitHub網頁上現在支持兩種跳轉:
1、跳轉到函數或方法的定義
對于公共存儲庫的子集,可以通過單擊文件中的函數或方法調用,來跳轉到同一存儲庫中的函數或方法的定義。
2、查找函數或方法的所有引用
對于公共存儲庫的子集,可以通過單擊文件中的函數或方法調用,然后單擊“ 引用”選項卡,就會顯示同一代碼存儲庫中所有該函數或方法的引用。
如何知道某個代碼庫是否支持這項新功能呢?在源代碼文件的開頭可以看到有提示字樣:
點擊“Try jump to definition”,就可以開啟跳轉到定義的功能了。開啟后,網頁的上方還會有這項新功能的示意圖:
因為“跳轉到定義”現在還是一項beta功能,支持的項目比較少,你可以去下面這個地址試試:
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php