vscode擴(kuò)展代碼定位實(shí)現(xiàn)步驟詳解
前言
歡迎來(lái)到 vscode 的世界,本文目標(biāo)為科普 vscode 中關(guān)于【代碼定位】的一些設(shè)計(jì)理念,其實(shí)就是查詢,但查詢是個(gè)很龐大的話題,想想自己找半天還找不到正確位置的煩惱?
想想我們的日常搜索,基本上就是cmd/ctrl + F在當(dāng)前文件根據(jù)關(guān)鍵詞進(jìn)行搜索,或者cmd/ctrl + shift + F在整個(gè)項(xiàng)目進(jìn)行搜索,這其實(shí)搜索里最簡(jiǎn)單的功能,舉下面幾個(gè)例子吧
- 報(bào)錯(cuò)信息中存在文件路徑和行號(hào),改怎么定位
- 關(guān)鍵詞在文件多處出現(xiàn),限定查找
函數(shù),該怎么縮小范圍 - 模塊化下,搜索函數(shù)的調(diào)用處或被調(diào)用函數(shù)的定義處
這些問(wèn)題,如果只采用搜索關(guān)鍵詞,就會(huì)變得很低效而且結(jié)果不精確
整體思路
在 vscode 中,功能的支持大體分為三個(gè)層面:文件查詢、內(nèi)容查詢、語(yǔ)言層面查詢;
文件查詢主要關(guān)注范圍:項(xiàng)目?jī)?nèi)、已打開(kāi)文件中;
內(nèi)容查詢主要關(guān)注條件:根據(jù)內(nèi)容查詢、根據(jù)所在行數(shù)(+文件名)查詢;
語(yǔ)言層面查詢主要關(guān)注邏輯:符號(hào)(變量)查詢、函數(shù)、類、接口的聲明與實(shí)現(xiàn)(調(diào)用)
接下來(lái),讓我們開(kāi)始逐一解釋吧!
文件查詢
項(xiàng)目?jī)?nèi)查詢
項(xiàng)目?jī)?nèi)最常見(jiàn)的是根據(jù)文件名或項(xiàng)目相對(duì)路徑進(jìn)行查詢,對(duì)應(yīng)命令是cmd+p喚起命令面板,然后輸入文件路徑即可

已打開(kāi)文件中
如果打開(kāi)文件過(guò)多,想找其中的一個(gè)文件就比較麻煩了,這是我們可以Ctrl+Tab,就可以打開(kāi)一個(gè)文件列表,這個(gè)列表羅列了當(dāng)前打開(kāi)的所有文件。接下來(lái),你可以通過(guò)按下 “Tab”鍵在這個(gè)列表里跳轉(zhuǎn),選擇你想要打開(kāi)的文件。

內(nèi)容查詢
根據(jù)內(nèi)容查詢
| 需求 | 快捷鍵 for mac | 快捷鍵 for win |
|---|---|---|
| 文件內(nèi)搜索內(nèi)容 | cmd + F | ctrl + F |
| 項(xiàng)目?jī)?nèi)搜索內(nèi)容 | cmd + shift + F (這個(gè)快捷鍵很容易被搜狗輸入法占用,請(qǐng)留意) | ctrl + shift + F |

關(guān)鍵詞查找還支持三個(gè)功能項(xiàng)
- 第一個(gè)是大小寫敏感:默認(rèn)忽略,搜索的結(jié)果是否要跟關(guān)鍵詞大小寫完全一致

- 全單詞匹配:默認(rèn)忽略,勾選時(shí)會(huì)排除搜索的單詞恰好是別的某個(gè)單詞中間一部分的情況

- 正則表達(dá)式匹配:勾選時(shí)會(huì)開(kāi)啟正則匹配

根據(jù)所在行數(shù)(+文件名)查詢
| 需求 / 對(duì)應(yīng)命令 | 快捷鍵 for mac | 快捷鍵 for win |
|---|---|---|
| 打開(kāi)指定文件的指定行,不指定 filename 默認(rèn)當(dāng)前文件 / [filename]?:[行數(shù)] | ctrl + g |

語(yǔ)言層面查詢
符號(hào)(變量)查詢
VS Code 提供了一套 API 給語(yǔ)言服務(wù)插件,它們可以分析代碼,告訴 VS Code 項(xiàng)目或者文件里有哪些類、哪些函數(shù)或者標(biāo)識(shí)符(我們把這些統(tǒng)稱為符號(hào))。
| 需求 / 對(duì)應(yīng)命令 | 快捷鍵 for mac | 快捷鍵 for win |
|---|---|---|
| 模糊查詢當(dāng)前文件符號(hào),不填默認(rèn)展示所有(如果加上:會(huì)分類展示)/ @[:]? | Cmd + Shift + O | Ctrl + Shift + O |
| 模糊查詢當(dāng)前打開(kāi)的文件列表中的符號(hào) ,不填默認(rèn)為空 / # | cmd + T |

函數(shù)、類、接口的聲明與實(shí)現(xiàn)(調(diào)用)
很簡(jiǎn)單,一個(gè)F12解決一切。光標(biāo)在使用者上時(shí),按下F12會(huì)跳轉(zhuǎn)到定義的位置;光標(biāo)在定義上時(shí),按下F12,vscode 會(huì)打開(kāi)一個(gè)引用列表,點(diǎn)擊引用即會(huì)跳轉(zhuǎn)到指定位置(目前跨文件的引用是不會(huì)被檢索到的)。

以上就是vscode擴(kuò)展代碼定位實(shí)現(xiàn)步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于vscode擴(kuò)展代碼定位的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于HTTP協(xié)議的一些實(shí)時(shí)數(shù)據(jù)獲取技術(shù)詳解
HTTP 協(xié)議是一個(gè)標(biāo)準(zhǔn),定義了web客戶端如何與服務(wù)器對(duì)話,以及數(shù)據(jù)如何從服務(wù)器傳回客戶端,下面這篇文章主要給大家介紹了關(guān)于基于HTTP協(xié)議的一些實(shí)時(shí)數(shù)據(jù)獲取技術(shù)的相關(guān)資料,需要的朋友可以參考下2018-07-07
使用idea 去除 html 代碼前的行號(hào)和空行的方法詳解
這篇文章主要介紹了使用idea 去除 html 代碼前的行號(hào)和空行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
PostMan接口測(cè)試用例自動(dòng)轉(zhuǎn)成Python的測(cè)試腳本
PosMan做服務(wù)端的自動(dòng)化測(cè)試中,我們可以把Collection里面的測(cè)試用例導(dǎo)入出來(lái),它是JSON的文件,然后我們解析這些JSON文件,讓它自動(dòng)的轉(zhuǎn)成Python測(cè)試代碼,實(shí)現(xiàn)了PostMan里面的接口測(cè)試用例自動(dòng)的轉(zhuǎn)成了Python的測(cè)試腳本,而且?guī)Я藬嘌?/div> 2024-06-06
Unity開(kāi)發(fā)VR項(xiàng)目問(wèn)題總結(jié)分析
本篇文章主要對(duì)Unity開(kāi)發(fā)VR項(xiàng)目會(huì)遇到的一些問(wèn)題總結(jié),針對(duì)這些問(wèn)題進(jìn)行分析解決,有需要的朋友可以借鑒參考下,希望對(duì)大家有所幫助2021-09-09
BERT vs GPT自然語(yǔ)言處理中的關(guān)鍵差異詳解
這篇文章主要為大家介紹了BERT vs GPT自然語(yǔ)言處理中的關(guān)鍵差異詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
如何使用Git優(yōu)雅的回滾實(shí)現(xiàn)
這篇文章主要介紹了如何使用Git優(yōu)雅的回滾實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07最新評(píng)論

