VSCode的第一個C++程式(Linux)
引言
VSCode作為微軟推出的一款免費的輕量級的整合開發環境,可謂是良心之作。它擁有VS的高顏值,而且像瑞士軍刀一樣,擁有豐富的外掛,c/c++、java、python、js、html等等,它都能輕鬆駕馭。
目錄
安裝
VSCode的安裝
在linux系統下安裝VSCode的命令:
# 在安裝包所在目錄開啟終端。
# .deb檔案
$ sudo dpkg -i xxxx.deb
GCC的安裝
首先檢視系統是否安裝了GCC.如果出現了GCC的版本資訊就表明系統中已經安裝了GCC.
# 檢視GCC版本
$ gcc -v
# 安裝gcc
$ sudo apt-get install gcc
Get Started
開啟VSCode,我們可以看到它的歡迎介面。
安裝外掛
在VSCode編寫和除錯程式是需要安裝相關的外掛才能進行的。
在這裡我們選擇安裝C/C++
、C++ Intellisense
、Code Runner
和Include Autocomplete
這四外掛。
我們點選擴充套件
的圖示,在搜尋欄裡搜尋外掛的名稱。
點選安裝
,在安裝完成之後,點選重新載入
,這個外掛就會生效。
其它的外掛的安裝也是如此。
helloworld
新建一個helloword
資料夾,作為我們此次的工作區。在資源管理器中開啟這個資料夾。
開啟這個資料夾後,會發現資料夾沒有原始檔。這時我們需要新建一個helloworld.cpp原始檔
這時我們可以編寫helloworld程式了。
配置智慧感知
由於資料夾的配置資訊不完整,我們需要自己新增缺少的配置資訊。通過快捷方式Ctrl+Shift+P
執行C/CPP: Edit configuration ...
命令新增缺少的資訊並生成c_cpp_properties.json檔案。
在Linux系統中,主要是注意"compilerPath": "/usr/bin/gcc",
,如果你的gcc路徑不是這個的話就需要在終端裡使用whereis gcc
去檢視gcc的路徑。
構建程式碼
如果你想從VS Code構建你的應用程式,你需要生成一個tasks.json檔案;
開啟命令面板(Ctrl + Shift + P)。選擇Tasks:Configure Tasks ...
命令,單擊從模板建立tasks.json檔案
,您將看到任務執行模板列表,選擇Others。
最終生成tasks.json檔案
將檔案內容修改如下:
程式的輸出在終端中顯示,要在終端向程式輸入資料,那麼還需要進行一點配置。
在命令面板(Ctrl+Shift+P)搜尋使用者配置
,在使用者配置檔案中,找到Run Code configuration
下的code-runner.runInTerminal
的值改為true
,更改後的結果在右邊。
我們將當前頁面調整到我們的源程式編輯頁面,點選右上角的小三角形,即可執行我們的程式了。到目前為止,helloworld程式就這樣順利運行了。
除錯程式碼
為了能夠除錯,我們還需要生成launch.json
檔案。
瀏覽到除錯的視窗,去新增配置。選擇C++(GDB/LIDB)
,生成launch.json
檔案。
將launch.json檔案內容更改如下:
在進行除錯(F5)的時候,一定要將當前頁面調整到我們的源程式編輯頁面。不然會出錯。
寫在最後
萬事開頭難,其實也不難,只要掌握了方法,一切都不是問題,在寫完helloworld程式之後,再寫其他的程式就可以把.vscode
直接拿來用,略作修改即可。
附:json檔案原始碼
//tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build", //在launch.json檔案中有用到
"type": "shell",
"command": "g++",
"args": [
"-g", "helloworld.cpp"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
//launch.json
{
// 使用 IntelliSense 瞭解相關屬性。
// 懸停以檢視現有屬性的描述。
// 欲瞭解更多資訊,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", //配置名稱,會在啟動配置的下拉選單中顯示
"type": "cppdbg", //配置型別,只能為cppdbg
"request": "launch", //請求型別,可以為launch或attach
"program": "${workspaceFolder}/a.out", //將要除錯的程式的路徑
"args": [], //除錯時傳遞給程式的命令列引數
"stopAtEntry": false, //設為true程式會暫停在入口處
"cwd": "${workspaceFolder}", //除錯程式時的工作目錄
"environment": [], //環境變數
"externalConsole": true, //除錯時是否顯示控制檯視窗
"MIMode": "gdb", //指定連線的偵錯程式,可以為gdb或lldb
"miDebuggerPath": "/usr/bin/gdb", //gdb路徑
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build" //除錯開始前執行的任務,一般為編譯程式
}
]
}