Ubuntu16.04下配置VScode的C/C++開(kāi)發(fā)環(huán)境
1. Vscode安裝
Visual studio code是微軟發(fā)布的一個(gè)運(yùn)行于 Mac OS X、Windows和 Linux 之上的,針對(duì)于編寫現(xiàn)代 Web 和云應(yīng)用的跨平臺(tái)源代碼編輯器。第一種方式是從VScode官網(wǎng)下載.deb文件,然后雙擊該文件會(huì)打開(kāi)軟件中心進(jìn)行安裝。
另一種方式是通過(guò)Terminal進(jìn)行安裝,首先輸入下面三條語(yǔ)句安裝umake
:
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make
然后通過(guò)umake來(lái)安裝VScode:
umake web visual-studio-code
安裝完畢后即可打開(kāi)VScode,主界面如下:
2. Vscode環(huán)境配置
(1)安裝c/c++插件
首先通過(guò)左邊欄的Extension欄目安裝C++插件,操作如下圖:
(2)建立工程
由于VScode是以文件夾的形式管理工程的,因此我們首先新建一個(gè)文件夾,我這里取名叫hello
。
然后通過(guò)VScode打開(kāi)此文件夾:
新建main.cpp文件并輸入程序:
(3)更改配置文件(launch.json)
點(diǎn)擊左側(cè)的Debug按鈕,選擇添加配置(Add configuration),然后選擇C++(GDB/LLDB),將自動(dòng)生成launch.json文件,具體操作如下:
生成的默認(rèn)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": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "enter program name, for example ${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
注意:這里需要將program
項(xiàng)的內(nèi)容改為調(diào)試時(shí)運(yùn)行的程序,將其改為main.out
即可。具體更改如下:
"program": "enter program name, for example ${workspaceFolder}/a.out",
改為
"program": "${workspaceFolder}/main.out",
該語(yǔ)句指的是當(dāng)前工作文件夾下的main.out
文件,更改完畢的launch.json
文件見(jiàn)附錄。
(4)添加構(gòu)建(編譯、鏈接等)任務(wù)(tasks.json)
為了方便在VScode里編譯C++代碼,我們可以將類似g++ -g main.cpp
等g++命令寫入VScode的任務(wù)系統(tǒng)。首先,利用快捷鍵ctrl+shift+p打開(kāi)命令行,輸入Tasks: Run task
,會(huì)出現(xiàn)如下提示:
No task to run found. configure tasks...
回車,然后依次選擇如下:
Create tasks.json file from template
Others Example to run an arbitrary external command.
生成默認(rèn)的tasks.json
文件如下:
{ // 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
為任務(wù)名,我們將”label"= "echo"
改為”label"= "build"
。由于我們的指令是g++
,這里將”command“=”echo Hello“
改為”command“=”g++“
。然后添加g++
的參數(shù)args
。如果我們的g++指令為:g++ -g main.cpp
,這里可以把參數(shù)設(shè)置為如下:
{ "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": ["-g", "${file}"] } ] }
如果我們想配置g++指令為:g++ -g main.cpp -std=c++11 -o main.out
,則參數(shù)可設(shè)置為:
{ "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"] } ] }
我們可以通過(guò)舉一反三來(lái)配置不同的g++指令。完整的tasks.json文件可參考附錄。
(5)簡(jiǎn)單斷點(diǎn)調(diào)試
經(jīng)過(guò)上述配置之后就可以對(duì)我們寫的程序進(jìn)行簡(jiǎn)單的配置。在進(jìn)行下面的操作前,我們應(yīng)當(dāng)保證launch.json
和tasks.json
的正確性并且已經(jīng)成功保存。
使用快捷鍵ctrl+shift+p調(diào)出命令行,選擇執(zhí)行我們的build
任務(wù),build成功后,點(diǎn)擊開(kāi)始調(diào)試。具體操作如下:
值得注意的是,這里如果每次更改了程序需要重新build,然后再進(jìn)行調(diào)試;如果直接進(jìn)行調(diào)試則運(yùn)行的是上次build的結(jié)果。通過(guò)在launc.json作如下更改可以使得每次調(diào)試之前會(huì)自動(dòng)進(jìn)行build:
這里在launch.json文件中添加了”preLaunchTask“=”build"
,也就是添加一個(gè)launch之間的任務(wù),任務(wù)名為build
,這個(gè)build
就是我們?cè)趖asks.json中設(shè)置的任務(wù)名。
3.總結(jié)及注意事項(xiàng)
本文對(duì)Ubuntu16.04系統(tǒng)下配置基于VScode的C/C++開(kāi)發(fā)環(huán)境進(jìn)行了簡(jiǎn)單的介紹,主要步驟為:
1.安裝VScode,可以通過(guò)在官網(wǎng)下載和命令行的方式進(jìn)行安裝。(順便提一下,在命令行安裝的過(guò)程中可能會(huì)讓你輸入a)
2.新建C/C++工程,VScode以文件夾為管理工程的方式,因此需要建立一個(gè)文件夾來(lái)保存工程。
3.配置launch.json文件,它是一個(gè)啟動(dòng)配置文件。需要進(jìn)行修改地方的是指定運(yùn)行的文件,其次我們還可以在里面添加build任務(wù)。
4.配置tasks.json文件,這個(gè)文件用來(lái)方便用戶自定義任務(wù),我們可以通過(guò)這個(gè)文件來(lái)添加g++/gcc或者是make命令,方便我們編譯程序。
5.上述四個(gè)流程完了之后我們就可以進(jìn)行基礎(chǔ)的C/C++開(kāi)發(fā)與調(diào)試了。
4. 附錄
這里給出一個(gè)較完整的配置文件和任務(wù)文件,筆者的系統(tǒng)的Ubuntu16.04 LTS,測(cè)試時(shí)間是2018/11/14。由于版本不同可能會(huì)有所變化,因此該配置僅供參考!
(1)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": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/${fileBasenameNoExtension}.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "preLaunchTask": "build", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
(2)tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"] } ] }
總結(jié)
到此這篇關(guān)于Ubuntu16.04下配置VScode的C/C++開(kāi)發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)Ubuntu16.04下配置VScode的C/C++開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c++動(dòng)態(tài)內(nèi)存管理與智能指針的相關(guān)知識(shí)點(diǎn)
為了更容易同時(shí)也更安全地使用動(dòng)態(tài)內(nèi)存,新的標(biāo)準(zhǔn)庫(kù)提供了兩種智能指針(smart pointer)類型來(lái)管理對(duì)象,下面這篇文章主要給大家介紹了關(guān)于c++動(dòng)態(tài)內(nèi)存管理與智能指針的相關(guān)知識(shí)點(diǎn),需要的朋友可以參考下2022-03-03C語(yǔ)言中十六進(jìn)制轉(zhuǎn)十進(jìn)制兩種實(shí)現(xiàn)方法
這篇文章主要介紹了C語(yǔ)言中十六進(jìn)制轉(zhuǎn)十進(jìn)制兩種實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-01-01C++?OpenCV實(shí)現(xiàn)之實(shí)現(xiàn)紅綠燈識(shí)別
本文以實(shí)現(xiàn)行車過(guò)程當(dāng)中的紅綠燈識(shí)別為目標(biāo),核心的內(nèi)容包括:OpenCV輪廓識(shí)別原理以及OpenCV紅綠燈識(shí)別的實(shí)現(xiàn)具體步驟,感興趣的可以了解一下2022-08-08C++可變參數(shù)函數(shù)的實(shí)現(xiàn)方法示例
這篇文章主要給大家介紹了關(guān)于C++可變參數(shù)函數(shù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12用C/C++代碼檢測(cè)ip能否ping通(配合awk和system可以做到批量檢測(cè))
今天小編就為大家分享一篇關(guān)于用C/C++代碼檢測(cè)ip能否ping通(配合awk和system可以做到批量檢測(cè)),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04深入分析Linux下如何對(duì)C語(yǔ)言進(jìn)行編程
本篇文章介紹了,如何在Linux下對(duì)C語(yǔ)言進(jìn)行編程的詳細(xì)概述。需要的朋友參考下2013-05-05