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