|
最近有消息說,編程將是有史以來最好的工作,可是輾轉(zhuǎn)于于各大主流操作系統(tǒng)的碼農(nóng)們都知道,作為一個(gè)程序員尤其是多種語言程序員,會(huì)因?yàn)殚_發(fā)環(huán)境而感到苦惱,傳統(tǒng)的SourceInsight又貴又老還不跨平臺(tái),Eclispe在性能方面不盡人意,Visual Studio 又大又不跨平臺(tái),Vim, Emacs由于門檻和視覺原因又不是所有人都用得習(xí)慣,還有一些類似SublimeText, Atom, SciTe, Notepad++等等,由于各種性能是否開源是否可擴(kuò)展都讓程序員各種猶豫,直到VS code從天而降,帶著微軟Visual Studio強(qiáng)大的智能卻又極小的體積,開源跨平臺(tái)可擴(kuò)展的流行,踏入編輯器的戰(zhàn)場(chǎng),感覺,要變天了。所以容小農(nóng)來介紹下Visual Studio Code的初步使用方法:
Visual Sutdio Code以及C/C++插件安裝
- 安裝VS Code:請(qǐng)打開官網(wǎng) https://code./ 下載編輯器,并一路默認(rèn)安裝。
- 安裝cpptools插件(安裝方式有兩種,任選一種,一種是點(diǎn)擊VS code的插件圖標(biāo)調(diào)出查找插件窗口然后搜索cpptools,另一種是Ctrl+p 調(diào)出VS code的shell,輸入ext install cpptools),用于代碼分析,編輯提示等等,具體可以參考介紹:https://marketplace./items?itemName=ms-vscode.cpptools

- 安裝 code runner插件,可以動(dòng)態(tài)運(yùn)行選中的代碼區(qū)塊,詳細(xì)介紹:
https://marketplace./items?itemName=formulahendry.code-runner

- 安裝 native debug 插件,用于gdb圖形化調(diào)試你的C/C++程序,詳細(xì)參考:
https://marketplace./items?itemName=webfreak.debug

- 重啟VS code,
安裝完以上插件后,重啟VS code,讓安裝的插件生效。
Visual Studio Code 和GCC共同調(diào)試C/C++程序
安裝GCC工具鏈
- 安裝C/C++ 的 GCC 工具鏈,windows上可以安裝cygwin或者M(jìn)inGW, linux/os x如果默認(rèn)未安裝,那安裝也非常簡單,根據(jù)使用的版本網(wǎng)上搜索相應(yīng)的命令行即可。
Cygwin 下載安裝網(wǎng)址: https:///install.html
MinGW 下載安裝網(wǎng)址:http:///
這里以cygwin為例,注意選擇適合你電腦系統(tǒng)的安裝文件,64位系統(tǒng)請(qǐng)選擇x86_64對(duì)應(yīng)的安裝文件。具體安裝過程可以自己百度,注意點(diǎn)是,安裝時(shí),一定要選中 gcc, g++, gdb, make 等開發(fā)工具包。

- 設(shè)置GCC環(huán)境變量,將GCC工具鏈路“c:/cygwin/bin”徑加入到windows系統(tǒng)環(huán)境變量中

調(diào)試C/C++程序
- 在操作系統(tǒng)中新建一個(gè)工程目錄,如 “hello”,然后啟動(dòng)vs code,打開這個(gè)空目錄:

用vs code 在hello目錄新建一個(gè)源文件 hello.c:

文件內(nèi)容如下:
#include <stdio.h>
int g_var = 0;
void print_line(char *str)
{
if (str != NULL)
printf("%s\r\n", str);
else
printf("null string\r\n");
}
int main (int argc, char **argv)
{
int l_var = 1;
print_line("hello world!");
printf("g_var = %d, l_var = %d.\r\n", g_var, l_var);
return 0;
}
*3. 添加頭文件索引路徑。在hello.c中,你會(huì)發(fā)現(xiàn)include頭文件那一行下面有綠色的波浪線,代表vs code的cpptools插件找不到相應(yīng)路徑,將鼠標(biāo)移到這一行點(diǎn)擊。
左邊會(huì)出現(xiàn)一個(gè)提示的黃色小燈泡符號(hào),點(diǎn)擊它,然后點(diǎn)擊“Add include path to settings”按鈕, 將生成并打開一c_cpp_properties.json 文件,編輯這個(gè)json文件,添加c/c++頭文件的路徑進(jìn)去:
這里cygwin的頭文件路徑為: “C:/cygwin/usr/include/*”,將它添加到”includePath”這個(gè)變量中。
4. 設(shè)置編譯構(gòu)建環(huán)境。
在vs code中點(diǎn)擊hello.c回到hello.c文件,調(diào)用快捷鍵 Ctrl+Shift+B 構(gòu)建可執(zhí)行文件。
此時(shí)vs code會(huì)報(bào)錯(cuò),在vs code的頂欄顯示“No task runner configured”,你只需要點(diǎn)擊右邊的藍(lán)色按鈕“Configure task runner”來生成編輯task.jason即可:
點(diǎn)擊后,在彈出的選擇欄中選擇”O(jiān)thers“:
選擇后會(huì)創(chuàng)建并打開一個(gè)task.jason的配置文件, 修改其中的command 和 args變量并保存:
"command": "gcc ",
"args": ["-g", "${file}", "-o", "${workspaceRoot}/hello.exe"],

*5. 構(gòu)建hello.exe。
直接快捷鍵 Ctrl+Shift+B將hello.c編譯構(gòu)建為hello.exe,
這時(shí)你會(huì)發(fā)現(xiàn)vs code的左邊欄中多了一個(gè)hello.exe文件。
6. 運(yùn)行和調(diào)試hello.exe。
快捷鍵 Ctrl+Shift+D 或者點(diǎn)擊左邊Debug按鈕調(diào)出debug窗口。
按快捷鍵F5準(zhǔn)備調(diào)試這個(gè)程序,此時(shí)會(huì)彈出選擇debug的環(huán)境,選擇 “GDB”即可。
之后會(huì)創(chuàng)建并打開launch.jason配置文件,修改一下“target”這個(gè)變量內(nèi)容為”./hello.exe”:
使用gdb調(diào)試,添加監(jiān)控變量(在WATCH欄中添加變量名)和斷點(diǎn)(鼠標(biāo)在hello.c的左邊欄點(diǎn)擊顯示紅色即可添加斷點(diǎn)),如:
快捷鍵F5運(yùn)行調(diào)試,運(yùn)行到斷點(diǎn)后觀察左邊DEBUG欄目中顯示的各種信息,然后
繼續(xù)按綠色按鈕(或快捷鍵F5)繼續(xù)運(yùn)行,如:
點(diǎn)擊右下方DEBUG輸出欄中的 ”DEBUG CONSOLE” 將看到程序運(yùn)行時(shí)打印的信息:
7. 至此,一個(gè)簡單的在WINDOWS上用VS Code編輯和調(diào)試C程序的例子完畢。
Visual Studio Code編輯時(shí)的常用快捷鍵
| 快捷鍵 |
作用 |
| F1或Ctrl+Shift+P |
打開VS Code的命令Shell |
| Ctrl+P |
打開VS code文件/符號(hào)查詢窗口,輸入”>”可以進(jìn)入F1同樣的Shell |
| Ctrl+Shift+O |
查找符號(hào),函數(shù),屬性 |
| Ctrl+G |
跳轉(zhuǎn)到某行 |
| Ctrl+[ |
代碼縮進(jìn) |
| Ctrl+] |
代碼往前移進(jìn) |
| Ctrl+F |
查找文本 |
| Ctrl+H |
查找替換 |
| Ctrl+Shift+F |
整文件夾中查找 |
| Ctrl+ + |
放大文本 |
| Ctrl+ - |
縮小文本 |
| Ctrl+ Home |
移動(dòng)到文件頭 |
| Ctrl+ End |
移動(dòng)到文件尾 |
| Ctrl+ Tab |
在多個(gè)文件之間切換 |
| Ctrl+ / |
注釋/解注釋鼠標(biāo)選中的代碼塊 |
| Ctrl+ \ |
切分當(dāng)前窗口 |
| Ctrl+ N |
新建文件 |
| F12 |
跳轉(zhuǎn)到變量,函數(shù),類型定義 |
| Alt+鼠標(biāo)點(diǎn)擊 |
連續(xù)選中多個(gè)文本,同時(shí)編輯 |
| Alt+F12 |
查找所有對(duì)當(dāng)前變量,函數(shù),類型的引用 |
| Alt+<-方向鍵 |
跳回到上一視圖 |
| Alt+上下方向鍵 |
上下移動(dòng)當(dāng)前光標(biāo)所在行 |
| Shift+Alt+上下方向鍵 |
向上/向下復(fù)制一行 |
| Ctrl+Enter |
在當(dāng)前行下邊插入一行 |
| Ctrl+Shift+Enter |
在當(dāng)前行上方插入一行 |
| Alt+Shift+鼠標(biāo)左鍵 |
列編輯 |
|