vscode擴展代碼定位實現(xiàn)步驟詳解
前言
歡迎來到 vscode 的世界,本文目標為科普 vscode 中關(guān)于【代碼定位】的一些設(shè)計理念,其實就是查詢,但查詢是個很龐大的話題,想想自己找半天還找不到正確位置的煩惱?
想想我們的日常搜索,基本上就是cmd/ctrl + F
在當前文件根據(jù)關(guān)鍵詞進行搜索,或者cmd/ctrl + shift + F
在整個項目進行搜索,這其實搜索里最簡單的功能,舉下面幾個例子吧
- 報錯信息中存在文件路徑和行號,改怎么定位
- 關(guān)鍵詞在文件多處出現(xiàn),限定查找
函數(shù)
,該怎么縮小范圍 - 模塊化下,搜索函數(shù)的調(diào)用處或被調(diào)用函數(shù)的定義處
這些問題,如果只采用搜索關(guān)鍵詞,就會變得很低效而且結(jié)果不精確
整體思路
在 vscode 中,功能的支持大體分為三個層面:文件查詢、內(nèi)容查詢、語言層面查詢;
文件查詢主要關(guān)注范圍:項目內(nèi)、已打開文件中;
內(nèi)容查詢主要關(guān)注條件:根據(jù)內(nèi)容查詢、根據(jù)所在行數(shù)(+文件名)查詢;
語言層面查詢主要關(guān)注邏輯:符號(變量)查詢、函數(shù)、類、接口的聲明與實現(xiàn)(調(diào)用)
接下來,讓我們開始逐一解釋吧!
文件查詢
項目內(nèi)查詢
項目內(nèi)最常見的是根據(jù)文件名或項目相對路徑進行查詢,對應命令是cmd+p
喚起命令面板,然后輸入文件路徑即可
已打開文件中
如果打開文件過多,想找其中的一個文件就比較麻煩了,這是我們可以Ctrl+Tab
,就可以打開一個文件列表,這個列表羅列了當前打開的所有文件。接下來,你可以通過按下 “Tab”鍵在這個列表里跳轉(zhuǎn),選擇你想要打開的文件。
內(nèi)容查詢
根據(jù)內(nèi)容查詢
需求 | 快捷鍵 for mac | 快捷鍵 for win |
---|---|---|
文件內(nèi)搜索內(nèi)容 | cmd + F | ctrl + F |
項目內(nèi)搜索內(nèi)容 | cmd + shift + F (這個快捷鍵很容易被搜狗輸入法占用,請留意) | ctrl + shift + F |
關(guān)鍵詞查找還支持三個功能項
- 第一個是大小寫敏感:默認忽略,搜索的結(jié)果是否要跟關(guān)鍵詞大小寫完全一致
- 全單詞匹配:默認忽略,勾選時會排除搜索的單詞恰好是別的某個單詞中間一部分的情況
- 正則表達式匹配:勾選時會開啟正則匹配
根據(jù)所在行數(shù)(+文件名)查詢
需求 / 對應命令 | 快捷鍵 for mac | 快捷鍵 for win |
---|---|---|
打開指定文件的指定行,不指定 filename 默認當前文件 / [filename]?:[行數(shù)] | ctrl + g |
語言層面查詢
符號(變量)查詢
VS Code 提供了一套 API 給語言服務插件,它們可以分析代碼,告訴 VS Code 項目或者文件里有哪些類、哪些函數(shù)或者標識符(我們把這些統(tǒng)稱為符號)。
需求 / 對應命令 | 快捷鍵 for mac | 快捷鍵 for win |
---|---|---|
模糊查詢當前文件符號,不填默認展示所有(如果加上:會分類展示)/ @[:]? | Cmd + Shift + O | Ctrl + Shift + O |
模糊查詢當前打開的文件列表中的符號 ,不填默認為空 / # | cmd + T |
函數(shù)、類、接口的聲明與實現(xiàn)(調(diào)用)
很簡單,一個F12
解決一切。光標在使用者上時,按下F12
會跳轉(zhuǎn)到定義的位置;光標在定義上時,按下F12
,vscode 會打開一個引用列表,點擊引用即會跳轉(zhuǎn)到指定位置(目前跨文件的引用是不會被檢索到的)。
以上就是vscode擴展代碼定位實現(xiàn)步驟詳解的詳細內(nèi)容,更多關(guān)于vscode擴展代碼定位的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于HTTP協(xié)議的一些實時數(shù)據(jù)獲取技術(shù)詳解
HTTP 協(xié)議是一個標準,定義了web客戶端如何與服務器對話,以及數(shù)據(jù)如何從服務器傳回客戶端,下面這篇文章主要給大家介紹了關(guān)于基于HTTP協(xié)議的一些實時數(shù)據(jù)獲取技術(shù)的相關(guān)資料,需要的朋友可以參考下2018-07-07PostMan接口測試用例自動轉(zhuǎn)成Python的測試腳本
PosMan做服務端的自動化測試中,我們可以把Collection里面的測試用例導入出來,它是JSON的文件,然后我們解析這些JSON文件,讓它自動的轉(zhuǎn)成Python測試代碼,實現(xiàn)了PostMan里面的接口測試用例自動的轉(zhuǎn)成了Python的測試腳本,而且?guī)Я藬嘌?/div> 2024-06-06BERT vs GPT自然語言處理中的關(guān)鍵差異詳解
這篇文章主要為大家介紹了BERT vs GPT自然語言處理中的關(guān)鍵差異詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01最新評論