vscode + linux 配置 c/c++

看過一些教程,linux下沒有有關(guān)對整個(gè)工作區(qū)的任何c/c++文件的通用配置。這個(gè)是通用的,希望能為大家節(jié)省配置時(shí)間,當(dāng)然,最終你們還是會(huì)像我這樣,選擇重新看官方文檔。

?gdb + clang++? ?有坑,調(diào)試時(shí)無法顯示stl容器內(nèi)容,絕對不要這么搭配、、

最佳搭配是:

方案1:gdb +?gcc/g++?

或者

方案2:lldb + clang/clang++

上面2選1,自己安裝gcc/g++ ,gdb 或lldb ,clang/clang++

插件自行安裝

方案1就不需要codelldb這插件

直接放配置文件:

看自己選什么方案,可以刪去不需要的搭配

launch.json

{

? ? // Use IntelliSense to learn about possible attributes.

? ? // Hover to view descriptions of existing attributes.

? ? // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

? ? "version": "0.2.0",

? ? "configurations": [

? ? ? ? {

? ? ? ? ? ? "name": "clang++ lldb",

? ? ? ? ? ? "type": "lldb",

? ? ? ? ? ? "request": "launch",

? ? ? ? ? ? "program": "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? "args": [],

? ? ? ? ? ? "cwd": "${workspaceFolder}",

? ? ? ? ? ? "preLaunchTask": "clang++ build active file",

? ? ? ? ? ? "terminal": "integrated"

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "name": "clang lldb", // 配置名稱,將會(huì)在啟動(dòng)配置的下拉菜單中顯示

? ? ? ? ? ? "type": "lldb",

? ? ? ? ? ? "request": "launch",

? ? ? ? ? ? "program": "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? "args": [],

? ? ? ? ? ? "cwd": "${workspaceFolder}",

? ? ? ? ? ? "preLaunchTask": "clang++ build active file",

? ? ? ? ? ? "terminal": "integrated",

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "name": "gcc gdb", // 配置名稱,將會(huì)在啟動(dòng)配置的下拉菜單中顯示

? ? ? ? ? ? "type": "cppdbg", // 配置類型,這里只能為cppdbg

? ? ? ? ? ? "request": "launch", // 請求配置類型,可以為launch(啟動(dòng))或attach(附加)

? ? ? ? ? ? "program": "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? "args": [], // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可

? ? ? ? ? ? "stopAtEntry": false, // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,我一般設(shè)置為true

? ? ? ? ? ? "cwd": "${workspaceFolder}", // 調(diào)試程序時(shí)的工作目錄

? ? ? ? ? ? "environment": [], // 環(huán)境變量

? ? ? ? ? ? "externalConsole": false, // 調(diào)試時(shí)是否顯示控制臺(tái)窗口,一般設(shè)置為true顯示控制臺(tái)

? ? ? ? ? ? "internalConsoleOptions": "neverOpen", // 如果不設(shè)為neverOpen,調(diào)試時(shí)會(huì)跳到“調(diào)試控制臺(tái)”選項(xiàng)卡,你應(yīng)該不需要對gdb手動(dòng)輸命令吧?

? ? ? ? ? ? "MIMode": "gdb", // 指定連接的調(diào)試器,可以為gdb或lldb。但我沒試過lldb

? ? ? ? ? ? "miDebuggerPath": "/usr/bin/gdb", // 調(diào)試器路徑,Windows下后綴不能省略,Linux下則不要

? ? ? ? ? ? "setupCommands": [ // 用處未知,模板如此

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? "description": "Enable pretty-printing for gdb",

? ? ? ? ? ? ? ? ? ? "text": "-enable-pretty-printing",

? ? ? ? ? ? ? ? ? ? "ignoreFailures": false

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ],

? ? ? ? ? ? "preLaunchTask": "gcc build active file" // 調(diào)試會(huì)話開始前執(zhí)行的任務(wù),一般為編譯程序。與tasks.json的label相對應(yīng)

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "name": "g++ gdb", // 配置名稱,將會(huì)在啟動(dòng)配置的下拉菜單中顯示

? ? ? ? ? ? "type": "cppdbg", // 配置類型,這里只能為cppdbg

? ? ? ? ? ? "request": "launch", // 請求配置類型,可以為launch(啟動(dòng))或attach(附加)

? ? ? ? ? ? "program": "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? "args": [], // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可

? ? ? ? ? ? "stopAtEntry": false, // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,我一般設(shè)置為true

? ? ? ? ? ? "cwd": "${workspaceFolder}", // 調(diào)試程序時(shí)的工作目錄

? ? ? ? ? ? "environment": [], // 環(huán)境變量

? ? ? ? ? ? "externalConsole": false, // 調(diào)試時(shí)是否顯示控制臺(tái)窗口,一般設(shè)置為true顯示控制臺(tái)

? ? ? ? ? ? "internalConsoleOptions": "neverOpen", // 如果不設(shè)為neverOpen,調(diào)試時(shí)會(huì)跳到“調(diào)試控制臺(tái)”選項(xiàng)卡,你應(yīng)該不需要對gdb手動(dòng)輸命令吧?

? ? ? ? ? ? "MIMode": "gdb", // 指定連接的調(diào)試器,可以為gdb或lldb。但我沒試過lldb

? ? ? ? ? ? "miDebuggerPath": "/usr/bin/gdb", // 調(diào)試器路徑,Windows下后綴不能省略,Linux下則不要

? ? ? ? ? ? "setupCommands": [ // 用處未知,模板如此

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? "description": "Enable pretty-printing for gdb",

? ? ? ? ? ? ? ? ? ? "text": "-enable-pretty-printing",

? ? ? ? ? ? ? ? ? ? "ignoreFailures": false

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ],

? ? ? ? ? ? "preLaunchTask": "g++ build active file" // 調(diào)試會(huì)話開始前執(zhí)行的任務(wù),一般為編譯程序。與tasks.json的label相對應(yīng)

? ? ? ? }

? ? ]

}

tasks.json

{

? ? // See https://go.microsoft.com/fwlink/?LinkId=733558

? ? // for the documentation about the tasks.json format

? ? "version": "2.0.0",

? ? "tasks": [

? ? ? ? {

? ? ? ? ? ? "type": "shell",

? ? ? ? ? ? "label": "clang++ build active file",

? ? ? ? ? ? "command": "/usr/bin/clang++",

? ? ? ? ? ? "args": [

? ? ? ? ? ? ? ? "-g",

? ? ? ? ? ? ? ? "${file}",

? ? ? ? ? ? ? ? "-Wall",

? ? ? ? ? ? ? ? "-o",

? ? ? ? ? ? ? ? "${fileDirname}/${fileBasenameNoExtension}.o"

? ? ? ? ? ? ],

? ? ? ? ? ? "options": {

? ? ? ? ? ? ? ? "cwd": "/usr/bin"

? ? ? ? ? ? },

? ? ? ? ? ? "group": {

? ? ? ? ? ? ? ? "kind": "build",

? ? ? ? ? ? ? ? "isDefault": true

? ? ? ? ? ? },

? ? ? ? ? ? "presentation": {

? ? ? ? ? ? ? ? "echo": true,

? ? ? ? ? ? ? ? "reveal": "always",

? ? ? ? ? ? ? ? "focus": false,

? ? ? ? ? ? ? ? "panel": "shared"

? ? ? ? ? ? },

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "type": "shell",

? ? ? ? ? ? "label": "clang build active file",

? ? ? ? ? ? "command": "/usr/bin/clang",

? ? ? ? ? ? "args": [

? ? ? ? ? ? ? ? "${file}",

? ? ? ? ? ? ? ? "-g",

? ? ? ? ? ? ? ? "-Wall",

? ? ? ? ? ? ? ? "-o",

? ? ? ? ? ? ? ? "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? ],

? ? ? ? ? ? "options": {

? ? ? ? ? ? ? ? "cwd": "/usr/bin"

? ? ? ? ? ? },

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "type": "shell",

? ? ? ? ? ? "label": "g++ build active file",

? ? ? ? ? ? "command": "/usr/bin/g++",

? ? ? ? ? ? "args": [

? ? ? ? ? ? ? ? "${file}",

? ? ? ? ? ? ? ? "-g",

? ? ? ? ? ? ? ? "-Wall",

? ? ? ? ? ? ? ? "-o",

? ? ? ? ? ? ? ? "${fileDirname}/${fileBasenameNoExtension}.o"

? ? ? ? ? ? ],

? ? ? ? ? ? "options": {

? ? ? ? ? ? ? ? "cwd": "/usr/bin"

? ? ? ? ? ? },

? ? ? ? ? ? "group": {

? ? ? ? ? ? ? ? "kind": "build",

? ? ? ? ? ? ? ? "isDefault": true

? ? ? ? ? ? },

? ? ? ? ? ? "presentation": {

? ? ? ? ? ? ? ? "echo": true,

? ? ? ? ? ? ? ? "reveal": "always",

? ? ? ? ? ? ? ? "focus": false,

? ? ? ? ? ? ? ? "panel": "shared"

? ? ? ? ? ? },

? ? ? ? ? ? "problemMatcher": [

? ? ? ? ? ? ? ? "$gcc"

? ? ? ? ? ? ] // 如果你不使用clang,去掉前面的注釋符

? ? ? ? },

? ? ? ? {

? ? ? ? ? ? "type": "shell",

? ? ? ? ? ? "label": "gcc build active file",

? ? ? ? ? ? "command": "/usr/bin/gcc",

? ? ? ? ? ? "args": [

? ? ? ? ? ? ? ? "${file}",

? ? ? ? ? ? ? ? "-g",

? ? ? ? ? ? ? ? "-Wall",

? ? ? ? ? ? ? ? "-o",

? ? ? ? ? ? ? ? "${fileDirname}/${fileBasenameNoExtension}.o",

? ? ? ? ? ? ],

? ? ? ? ? ? "options": {

? ? ? ? ? ? ? ? "cwd": "/usr/bin"

? ? ? ? ? ? },

? ? ? ? ? ? "problemMatcher": [

? ? ? ? ? ? ? ? "$gcc"

? ? ? ? ? ? ] // 如果你不使用clang,去掉前面的注釋符

? ? ? ? }

? ? ]

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS應(yīng)用架構(gòu)談 網(wǎng)絡(luò)層設(shè)計(jì)方案 前言 網(wǎng)絡(luò)層在一個(gè)App中也是一個(gè)不可缺少的部分,工程師們在網(wǎng)絡(luò)層能夠發(fā)揮的空間...
    iYeso閱讀 415評論 0 0
  • Deepin Linux 下用 vscode 調(diào)試 C/C++ 程序 現(xiàn)在網(wǎng)上的大部分類似博客都是錯(cuò)的、有問題的、...
    仰望星空的先生閱讀 13,420評論 7 13
  • [轉(zhuǎn)]淺談LLDB調(diào)試器文章來源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc閱讀 2,734評論 2 6
  • 一張圖測出你的情商?10句話提高你的財(cái)務(wù)自由度?回答幾個(gè)問題就能看出你性格、看一下面相就知道未來走勢、世間有很多科...
    一個(gè)記者的心靈烈酒閱讀 1,184評論 0 0
  • “羨慕你還沒有結(jié)婚,如果時(shí)光可以倒流,我一定不會(huì)嫁給愛情!” 人們常說善解人意、溫柔體貼的女孩,都會(huì)擁有一個(gè)幸福美...
    YSiSi閱讀 413評論 0 0

友情鏈接更多精彩內(nèi)容