1. 程式人生 > >linux環境下vscode 中C/C++編譯及除錯環境的搭建

linux環境下vscode 中C/C++編譯及除錯環境的搭建

0.確定安裝了GCC,沒有安裝的話sudo apt-get install gcc

1.下載vscode並安裝,建議deb包

2.開啟vscode,安裝擴充套件外掛,


其中C/C++為必裝,提供C/C++支援

Code Runner必裝,提供編譯後程序的執行環境

C/C++ Snippets建議 提供一些常用的C/C++片段,如for(;;){},安裝後寫程式碼方便(tip.如果想要新增自己寫的程式碼段可以點左下角齒輪->使用者程式碼片段)

EPITECH C/C++ Headers 為C/C++檔案新增頭部(包括作者、建立和修改日期等),併為.h標頭檔案新增防重複的巨集

File Templates 檔案模板,可以自己新增檔案模板

GBKtoUTF8 GBK編碼檔案轉換為UTF-8

Include Autocomplete 標頭檔案自動補全

One Dark Pro 一個好看的vscode主題

Easy C++ projects提供一個簡單的編譯模式,開啟後只要安裝了C/C++擴充套件就可以直接編譯執行,建議不用,因為不能自己配置引數

3.這時已經能夠編譯執行檔案但是還不能debug除錯

4.配置Code Runner設定,找到設定,搜尋Code Runner,找到

"code-runner.executorMap": {..."c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
","cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",...}

編輯,並修改為自己希望在構建執行時執行的命令,在此附上我比較喜歡的(輸出檔案命名為 檔名.out,輸出到./bin目錄下並新建終端執行),注意:這裡c和c++各自是一行,因為顯示問題我添加了新行

"c": "cd $dir && gcc $fileName -o bin/$fileNameWithoutExt.out && gnome-terminal --working-directory=$dir/bin ' 終端-$name' -x bash -c '$dir/bin/$fileNameWithoutExt.out;echo;
echo 按任意鍵繼續;read'","cpp": "cd $dir && g++ $fileName -o bin/$fileNameWithoutExt.out && gnome-terminal --working-directory=$dir/bin ' 終端-$name' -x bash -c '$dir/bin/$fileNameWithoutExt.out;echo;echo 按任意鍵繼續;read'",

5.配置debug除錯

轉到除錯選項卡,新增配置,選擇C++(GDB/LLDB)

此時,新建了一個名為launch.json的json檔案,根據你的習慣修改

            "program": "${workspaceFolder}/bin/${fileBasenameNoExtension}.debug.out",

一項,這裡指向要除錯的程式//標註:${workspaceFolder}為工作空間資料夾,${fileBasenameNoExtension}為當前開啟的檔案的檔名,不包括路徑和字尾名

新增一項引數(注意不要落下逗號),這指的是在除錯前要預先執行的任務(因為如果要使用gdb除錯需要在編譯時新增-g引數,所以不能直接使用執行時的檔案,建議兩個可執行檔案分開命名)

            "preLaunchTask": "build",

按F5除錯一次,會提示沒有找不到"build",點選配置任務,使用tasks.json模板新建一個Others任務

{    // See https://go.microsoft.com/fwlink/?LinkId=733558    // for the documentation about the tasks.json format    "version": "2.0.0",    "tasks": [        {            "label": "echo",            "type": "shell",            "command": "echo Hello"        }    ]}

引數label修改為build,根據需要修改編譯時使用的command,記得帶上-g引數

   "command": "g++ ${file} -o bin/${fileBasenameNoExtension}.debug.out -g"

每次除錯時選中要除錯的檔案然後按F5就可以愉快的除錯了

tips.0.如果建立多個檔案的project,建議使用makefile編譯和除錯

            1.設定常用且好記的快捷鍵會極大的提高工作效率