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

時夢發表於2018-03-25

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.設定常用且好記的快捷鍵會極大的提高工作效率


參考:https://blog.csdn.net/bailsong/article/details/77527773

            https://www.cnblogs.com/lidabo/p/5888997.html

相關文章