vscode 配置C++環(huán)境 基于Deepin/Linux

若文中圖片無(wú)法加載允睹,請(qǐng)?jiān)L問(wèn)圖片備份地址

為了避免下次配置環(huán)境時(shí)踩坑,現(xiàn)將正確的配置過(guò)程記錄下來(lái)

1. 版本環(huán)境

Deepin 20.1 社區(qū)版

VScode October 2020 (version 1.51)

版本只要是最近的弱卡,影響不大

2. 配置過(guò)程

2.1 安裝vscode

此處各顯神通即可,Deepin可直接在應(yīng)用商店中安裝荧库,其他Linux版本可去官網(wǎng)下載.deb文件后安裝汁果。

2.2 安裝依賴

在終端依次執(zhí)行下列命令:

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gdb

若已安裝,升級(jí)至最新版即可

sudo apt-get upgrade

2.3 vscode內(nèi)的配置

2.3.1 安裝擴(kuò)展

安裝C/C++擴(kuò)展 id:ms-vscode.cpptools

C/C++擴(kuò)展

有需要的話可安裝中文語(yǔ)言包擴(kuò)展 id:ms-ceintl.vscode-language-pack-zh-hans

中文語(yǔ)言包擴(kuò)展

2.3.2 json文件配置

先展示文件目錄結(jié)構(gòu)


文件目錄結(jié)構(gòu)
  1. 首先創(chuàng)建一個(gè)工作文件夾疼电,并用vscode打開(kāi)(此處為cpp_file文件夾)

  2. 創(chuàng)建一個(gè)新的文件做測(cè)試用例(此處為test.cxx)

    #include <iostream>
    using namespace std;
    
    int main(){
        int a;
        cin>>a;
        cout<<a<<endl;
        return 0;
    }
    
  3. 創(chuàng)建一個(gè)文件夾用來(lái)存放編譯輸出的可執(zhí)行文件嚼锄,類似于windows下的.exe文件(此處為out文件夾)

此處為個(gè)人喜好,比較喜歡將輸出文件放置在一起蔽豺,如不需要区丑,可略過(guò)此步驟

  1. F5進(jìn)行調(diào)試,選擇 C++(GDB/LLDB),繼續(xù)選擇 g++ 生成和調(diào)試活動(dòng)文件
    此時(shí)會(huì)生成一個(gè).vscode文件夾沧侥,里面包含launch.json和tasks.json

    生成.vscode文件夾

    此時(shí)處于調(diào)試狀態(tài)可霎,可點(diǎn)擊頂部橙色方塊停止調(diào)試。

  2. 編輯launch.json文件

    自動(dòng)生成的launch.json文件中的參數(shù)若有中文宴杀,建議改為英文癣朗,tasks.json同理
    請(qǐng)注意下方j(luò)son文件中所寫的一些注釋信息

    {
        // 使用 IntelliSense 了解相關(guān)屬性。 
        // 懸停以查看現(xiàn)有屬性的描述旺罢。
        // 欲了解更多信息旷余,請(qǐng)?jiān)L問(wèn): https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceRoot}/out/${fileBasenameNoExtension}",
                // 此處若可執(zhí)行文件不想放在一個(gè)文件夾中,則把 /out 刪去即可
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceRoot}",
                // 此處${workspaceRoot}與${workspaceFolder}應(yīng)該類似扁达,但網(wǎng)上資料大部分用的前者
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "C/C++: g++ build active file",
                // 此處要與tasks.json中的label相同
                "miDebuggerPath": "/usr/bin/gdb"
            }
        ]
    }
    
  3. 編輯tasks.json文件

    {
        "tasks": [
            {
                "type":"shell",
                // 此處type的屬性問(wèn)題下面詳說(shuō)
                "label": "C/C++: g++ build active file",
                "command": "/usr/bin/g++",
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": false,
                    "panel": "shared",
                    "showReuseMessage": true,
                    "clear": false
                },
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${workspaceRoot}/out/${fileBasenameNoExtension}"
                ],
                // 此處與launch.json中類似正卧,若不需要?jiǎng)t刪去 /out
                "options": {
                    "cwd": "${workspaceFolder}"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "Task generated by Debugger."
            }
        ],
        "version": "2.0.0"
    }
    

    tasks.json中的type包含兩種屬性,shellprocess跪解,二選一炉旷。經(jīng)嘗試,兩種都可成功運(yùn)行惠遏。

    但stackoverflow上關(guān)于此問(wèn)題的回答中砾跃,有人說(shuō)在運(yùn)行多個(gè)cpp項(xiàng)目時(shí),將process改成shell后才成功運(yùn)行

    因此綜合考慮节吮,此處用了shell屬性

    3. 調(diào)試運(yùn)行

    不出意外的話抽高,此時(shí)就可以編譯運(yùn)行c++了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末透绩,一起剝皮案震驚了整個(gè)濱河市翘骂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帚豪,老刑警劉巖碳竟,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狸臣,居然都是意外死亡莹桅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門烛亦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诈泼,“玉大人,你說(shuō)我怎么就攤上這事煤禽☆泶铮” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵檬果,是天一觀的道長(zhǎng)瓮孙。 經(jīng)常有香客問(wèn)我唐断,道長(zhǎng),這世上最難降的妖魔是什么杭抠? 我笑而不...
    開(kāi)封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任脸甘,我火速辦了婚禮,結(jié)果婚禮上祈争,老公的妹妹穿的比我還像新娘斤程。我一直安慰自己,他們只是感情好菩混,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布忿墅。 她就那樣靜靜地躺著,像睡著了一般沮峡。 火紅的嫁衣襯著肌膚如雪疚脐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天邢疙,我揣著相機(jī)與錄音棍弄,去河邊找鬼。 笑死疟游,一個(gè)胖子當(dāng)著我的面吹牛呼畸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颁虐,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蛮原,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了另绩?” 一聲冷哼從身側(cè)響起儒陨,我...
    開(kāi)封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笋籽,沒(méi)想到半個(gè)月后蹦漠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡车海,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年笛园,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侍芝。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喘沿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出竭贩,到底是詐尸還是另有隱情,我是刑警寧澤莺禁,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布留量,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏楼熄。R本人自食惡果不足惜忆绰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望可岂。 院中可真熱鬧错敢,春花似錦、人聲如沸缕粹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)平斩。三九已至亚享,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绘面,已是汗流浹背欺税。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揭璃,地道東北人晚凿。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瘦馍,于是被迫代替她去往敵國(guó)和親歼秽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容