首先談?wù)勥@個(gè)需求怎么來的铡买,為什么需要一個(gè)遠(yuǎn)程的項(xiàng)目開發(fā)環(huán)境延刘。
在日常開發(fā)中匹层,項(xiàng)目代碼總是需要在遠(yuǎn)程服務(wù)器上編譯運(yùn)行,直接在服務(wù)器上用VIM編輯效率太低蛾号;而如果在本地使用編輯器稠项、閱讀器、IDEA把代碼編輯好鲜结,然后通過scp等工具傳到遠(yuǎn)程的服務(wù)器上編譯運(yùn)行展运,這樣又需要幾個(gè)窗口來回切換,非常麻煩
有沒有一個(gè)工具可以將代碼放在遠(yuǎn)程服務(wù)器上精刷,在本地僅僅作為一個(gè)瀏覽的編輯器拗胜,所有修改可以直接同步到服務(wù)器上呢。答案是有的怒允,這就是VScode埂软,本篇博客就是分享下如何用VScode實(shí)現(xiàn)這種功能提高開發(fā)效率,以C/C++開發(fā)環(huán)境為例误算,展示多工程依賴關(guān)系時(shí),采用的是DPDK和OVS(OVS的編譯需要用到DPDK的庫(kù)迷殿,所以DPDK相當(dāng)于一個(gè)SDK儿礼,VScode可以實(shí)現(xiàn)在OVS代碼中根據(jù)函數(shù)定義跳轉(zhuǎn)到DPDK源碼中)。
VScode作為微軟推出一款輕量化開發(fā)工具庆寺,其本身很小蚊夫,只有幾十兆,然而豐富的插件使他的功能也非常強(qiáng)大懦尝。
首先在官網(wǎng)https://code.visualstudio.com/下載VScode知纷。
雙擊安裝完畢后,打開VScode陵霉,看到如下界面:
首先琅轧,安裝SSH和C語言環(huán)境插件,直接有一個(gè)“C/C++ Extension Pack”的插件全部都包含了踊挠。安裝插件:
插件安裝完成后乍桂,點(diǎn)擊左下角的綠色終端符號(hào)冲杀,選擇“Connect current window to Host”,第一次使用需要配置遠(yuǎn)程服務(wù)器的IP睹酌、用戶名和密碼等:
遠(yuǎn)程連接完成后权谁,在“文件”->“打開文件夾”中打開我們想要去編輯修改的項(xiàng)目文件夾,這時(shí)你會(huì)發(fā)現(xiàn)路徑已經(jīng)是遠(yuǎn)程服務(wù)器的文件系統(tǒng)了(這里是OVS的根目錄):
在資源管理器中憋沿,隨便打開一個(gè)文件旺芽,會(huì)發(fā)現(xiàn)里面有很多頭文件找不到,比如說屬于DPDK的頭文件:
這就需要在路徑中修復(fù)辐啄,點(diǎn)擊“快速修復(fù)”采章,跳轉(zhuǎn)如下界面:
點(diǎn)擊左邊的“C_cpp_properties.json”,進(jìn)入配置文件修改则披,在includePath中添加DPDK的頭文件共缕、源文件目錄,“**”代表遞歸以下子文件夾士复,保存:
返回剛才的源文件图谷,可以看到找不到頭文件的錯(cuò)誤消失了,隨便找一個(gè)DPDK中的函數(shù)阱洪,鼠標(biāo)放上去可以顯示函數(shù)的定義:
右鍵跳轉(zhuǎn)定義便贵,可以看到此時(shí)彈出的文件,已經(jīng)是打開了DPDK根目錄下的對(duì)應(yīng)文件冗荸,顯示了該函數(shù)的實(shí)現(xiàn):
這還沒完承璃,VScode的SSH插件還指出直接打開命令行,快捷鍵“ctrl+`”蚌本,打開遠(yuǎn)程服務(wù)器的終端盔粹,一邊改代碼一邊調(diào)試:
除此之外,如果怕遠(yuǎn)程連接突然斷開程癌,代碼隨著遠(yuǎn)程服務(wù)器一起down了舷嗡,還可以利用git插件,方便地將代碼同步到github上嵌莉。
Now, enjoy it~