安裝C/C 外掛程式
開啟外掛程式頁面,搜尋輸入C/C 搜尋C/C 外掛程式。
安裝該外掛程式後,使用vscode開啟包含cpp檔案的資料夾時,vscode會新增.vscode子資料夾到目錄中。
新增c_cpp_properties.json設定
透過快速鍵⇧⌘P執行C/Cpp: Edit configurations,新增缺少的c_cpp_properties.json檔案。預設的新增的檔案如下:
{ "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "macFrameworkPath": [ "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks" ], "compilerPath": "/usr/bin/clang", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }
這個部分沒有做什麼調整。採用的是預設添加的檔案。
新增tasks.json設定檔
透過快速鍵⇧⌘P選擇執行的指令,選擇Task: Configure Task指令,選擇Create tasks.json from templates,選擇Others來建立一個外部指令。根據自己的編譯器更換commnd選項。
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "cpp", "type": "shell", "command": "g++", "args": [ "-g", "${file}", "-o", "a.out" ], "group": { "kind": "build", "isDefault": true } } ] }
這裡需要說一點,希望對目前標籤頁的程式碼進行編譯執行,因此args參數中用的是${file}。另外需要說的一點是,如果不指定輸出的編譯文件,會影響除錯。
>> g++ -g question.cpp -o a.out
當然也可以把args中的a.out替換為${file}保持和檔名的對應。
新增launch.json設定檔
在偵錯介面點擊運行,會提示新增launch.json設定檔。其定義了啟動調試檔案的相關屬性。
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(lldb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "lldb", "preLaunchTask": "cpp" } ] }
這裡需要說明的有三個參數:
1、program參數,這裡的檔名要和之前的保持對應,如果前面用的a.out,這裡也應該是a .out。
2、externalConsole參數,懸停在上面會有說道,如果是linux等系統,將其置為false時,將會在vscode集成內輸出打印內容。如果是true的話,會在外部的終端輸出。為了在vscode看輸出,這裡設定其為false.另一個需要留意的是參數externalConsole,懸停在上面會有說道,如果是linux等系統,將其置為false時,將會在vscode集成內輸出打印內容。如果是true的話,會在外部的終端輸出。為了在vscode看輸出,這裡設定其為false。
3、preLaunchTask參數,因為每次偵錯都需要預先對程式碼進行編譯,這裡可以透過preLaunchTask參數指定編譯任務。這裡將其指定為先前的任務: cpp. 即之前task的label中的內容。
相關文章教學推薦:vscode教學
#以上是vscode怎麼配置cpp偵錯環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!