VSCode C/C++ & Python 最小開發(fā)環(huán)境部署

簡介

因為項目需要丐膝,筆者經(jīng)常在多臺設備 (筆記本量愧、NUC、樹莓派) 和操作系統(tǒng) (Windows帅矗, Ubuntu) 之間切換工作環(huán)境偎肃。本教程基于 VSCode 環(huán)境感知,介紹如何在多設備/系統(tǒng)中快速配置穩(wěn)定的 C/C++ 和 Python 開發(fā)環(huán)境浑此。

基礎環(huán)境

基礎語言環(huán)境有多種安裝方式累颂,下表為筆者推薦

工具 Windows Linux
GCC 下載 MinGW-w64 內(nèi)置
make 下載 MinGW-w64 內(nèi)置
cmake 下載 CMake pip install cmake (>=3.21)
Python 官方 PythonAnaconda 內(nèi)置或 Anaconda

注:工具路徑需添加至環(huán)境變量

軟件部署

VS Code

安裝

官網(wǎng)下載對應的 Visual Studio Code 安裝包并安裝

sudo dpkg -i code_<version>_<system>.deb
vscode.png

功能性插件

對于簡單的開發(fā)和測試環(huán)境來說,VSCode 加上合適的插件能夠滿足大部分需求凛俱。以下是筆者推薦的插件:

  1. Code Runner —— 用于運行單文件的代碼谱俭,支持大多數(shù)主流語言峦甩。
  2. Chinese (Simplified) —— 簡體中文語言包
  3. Draw.io Integration —— 代替 Visio 的輕量化全能型畫圖工具
  4. Markdown All in One —— 用 Markdown 寫技術文檔
  5. Better Comments —— 用于高亮不同類型的注釋,幫助你在代碼中創(chuàng)建更加人性化的注釋。
    better-comments.png

C/C++ 環(huán)境配置

插件

安裝 C/C++ 插件摆碉。若有 CMake 編譯和 SSH 遠程開發(fā)的需求則安裝 C/C++ Extension Pack 插件

CPP.Icons.png

環(huán)境感知

利用 VSCode 的環(huán)境感知功能配置 C/C++ 生成 (build) 和運行 (run) 任務

  1. 新建或打開一個項目中的 .cpp 文件,在菜單欄中選擇 終端 -> 配置任務...

  2. 在彈出的窗口中選擇對應的編譯器务漩,并確認路徑無誤(來自系統(tǒng)環(huán)境變量)咱台,此處自動生成 .vscode/task.json

    task.png

  3. task.json 文件的 "args" 屬性可以修改 GCC 編譯參數(shù),例如 -I 搜索頭文件路徑或 -l 搜索函數(shù)庫

  4. 回到文件奋隶,在菜單欄中選擇 運行 -> 添加配置... -> 默認配置擂送,此處自動生成 .vscode/launch.json

  5. 回到文件,按 F5 即可觸發(fā)運行調(diào)試 (debug)

最小 CMakeLists.txt 文件編寫

  1. 若項目較為負復雜可以通過 CMake 工具調(diào)試唯欣,筆者以如下項目結構為例嘹吨,假設項目依賴 Eigen3 矩陣庫
    project
    ├── include
    │   ├── head1.h
    │   └── ...
    ├── src
    │   ├── main.cpp
    │   └── ...
    └── CMakeLists.txt
    
  2. CMakeLists.txt
    cmake_minimum_required(VERSION 3.12)    # CMake 最低版本要求
    project(NAME)                           # 項目名稱
    set(CMAKE_CXX_STANDARD 14)              # C++ 標準
    
    find_package(Eigen3 REQUIRED)               # 定位 Eigen3
    include_directories(${EIGEN3_INCLUDE_DIRS}) # 導入 Eigen3
    include_directories("include")              # 導入 include 文件夾
    
    file(GLOB_RECURSE SOURCES "src/*.cpp")  # 定位所有 cpp 文件
    add_executable(APP ${SOURCES})          # 此處只能包含一個 main()
    
  3. 編譯及運行
    mkdir build && cd "$_"
    cmake ..
    make
    ./APP
    

Python 環(huán)境配置

得益于 Python 解釋器,其最小調(diào)試環(huán)境配置相對較為簡單

插件

安裝 Python 插件境氢。如果需要更好的自動感知體驗 (如顯示官方文檔) 可以追加 Pylance 插件

python.Icons.png

環(huán)境感知

如果一個項目同時需要用到 C++ 和 Python蟀拷, 那么對 Python 的感知最好放在最后,否則對 C++ 的感知時 launch.json 可能不完整

  1. 新建或打開一個項目中的 .py 文件

  2. 在界面左下角選擇該項目應使用的解釋器


    interpreter.png
  3. 在菜單欄中選擇 運行 -> 添加配置...

  4. 在彈出的窗口中選擇對應的 Python 運行方式 (文件或模塊)产还, 此處自動在 .vscode/launch.json 中添加 Python 的運行配置

  5. 回到文件匹厘,按 F5 即可觸發(fā)運行調(diào)試 (debug)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脐区,隨后出現(xiàn)的幾起案子愈诚,更是在濱河造成了極大的恐慌,老刑警劉巖牛隅,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炕柔,死亡現(xiàn)場離奇詭異,居然都是意外死亡媒佣,警方通過查閱死者的電腦和手機匕累,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來默伍,“玉大人欢嘿,你說我怎么就攤上這事衰琐。” “怎么了炼蹦?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵羡宙,是天一觀的道長。 經(jīng)常有香客問我掐隐,道長狗热,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任虑省,我火速辦了婚禮匿刮,結果婚禮上,老公的妹妹穿的比我還像新娘探颈。我一直安慰自己熟丸,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布伪节。 她就那樣靜靜地躺著虑啤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪架馋。 梳的紋絲不亂的頭發(fā)上狞山,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音叉寂,去河邊找鬼萍启。 笑死,一個胖子當著我的面吹牛屏鳍,可吹牛的內(nèi)容都是我干的勘纯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼钓瞭,長吁一口氣:“原來是場噩夢啊……” “哼驳遵!你這毒婦竟也來了?” 一聲冷哼從身側響起山涡,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤堤结,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鸭丛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竞穷,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年鳞溉,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘾带。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡熟菲,死狀恐怖看政,靈堂內(nèi)的尸體忽然破棺而出朴恳,到底是詐尸還是另有隱情,我是刑警寧澤允蚣,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布菜皂,位于F島的核電站,受9級特大地震影響厉萝,放射性物質發(fā)生泄漏。R本人自食惡果不足惜榨崩,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一谴垫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧母蛛,春花似錦翩剪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秫逝,卻和暖如春恕出,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背违帆。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工浙巫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刷后。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓的畴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尝胆。 傳聞我的和親對象是個殘疾皇子丧裁,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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

  • 在疫情影響下,我印象最深刻的已經(jīng)不是出門戴口罩了含衔,而是經(jīng)過一趟長途旅行或其他任何出站口煎娇,突如其來的一場核酸檢測。 ...
    梁歡歡閱讀 350評論 0 0
  • 同事之間的關系 有人總是說和同事嗯在一起的時間贪染,要多于和家人在一起的時間逊桦。事實確實如此,每天和同事一起上班抑进,在工作...
    wangshi清零123閱讀 416評論 0 0
  • 元旦假期一下子就過啦 實在是太宅了强经,就和朋友們出去玩了一會就回了,其余時間都宅家了 腦袋也暈乎乎的寺渗,不知道在想些什...
    不完整的藍閱讀 213評論 0 0
  • 跨年匿情,越來越像一場夾雜自我催眠與集體狂歡的宗教儀式兰迫。時間的信徒只要這一刻的靈魂覺醒,那364天的渾噩平庸悲慟懶惰敷...
    張貞浩閱讀 598評論 0 0
  • 想象你漫步在一個風景秀麗的小路上炬称,你心情放松汁果,在小路上漫步,在小路上玲躯,你可以自由的欣賞周圍的景色据德,觸目盡是你喜歡的...
    敘事成長日志閱讀 300評論 0 0