【保姆級教程+配置源碼】在VScode配置C/C++環境

目錄

一、下載VScode

1. 在官網直接下載安裝即可

2. 安裝中文插件

二、下載C語言編譯器MinGW-W64

三、配置編譯器環境變量

1. 解壓下載的壓縮包,復制該文件夾下bin目錄所在地址

2. 在電腦搜索環境變量并打開

3. 點擊環境變量→選擇系統變量里的Path→點擊編輯按鈕

4. 點擊新建

5. 將剛剛復制的環境變量粘貼進去

四. 測試環境變量配置是否成功

1. win+R輸入cmd進入控制臺頁面

2. 輸入以下代碼

3. 運行結果如下則配置成功

五、配置VScode

1. 安裝插件C/C++

2. 新建文件夾C作為C語言項目文件

2.1 新建.vscode文件包括下列四個文件

2.2 c_cpp_properties.json

2.3?launch.json

2.4?settings.json

2.5?tasks.json

3. 新建C++文件夾作為C++項目文件

3.1 新建.vscode文件包括下列四個文件

3.2 c_cpp_properties.json

3.3?launch.json

3.4?settings.json

3.5?tasks.json

六、重啟VScode

七、編寫C語言程序測試

1. 編寫hello.c文件

2. 右鍵選擇run code(需下載插件)

3. 成功運行代碼!

八、編寫C++程序測試

1. 編寫hello.cpp

2.? 右鍵選擇run code成功運行代碼


一、下載VScode

1. 在官網直接下載安裝即可

Visual Studio Code - Code Editing. Redefined

2. 安裝中文插件

二、下載C語言編譯器MinGW-W64

在我上傳的資源中可以免費下載!!!

三、配置編譯器環境變量

1. 解壓下載的壓縮包,復制該文件夾下bin目錄所在地址

2. 在電腦搜索環境變量并打開

3. 點擊環境變量→選擇系統變量里的Path→點擊編輯按鈕

4. 點擊新建

5. 將剛剛復制的環境變量粘貼進去

記得添加之后一路點擊確認!!!

四. 測試環境變量配置是否成功

1. win+R輸入cmd進入控制臺頁面

2. 輸入以下代碼

gcc --versiong++ --version

3. 運行結果如下則配置成功

五、配置VScode

1. 安裝插件C/C++

點擊左上角第五個圖標搜索下載

2. 新建文件夾C作為C語言項目文件

2.1 新建.vscode文件包括下列四個文件

2.2 c_cpp_properties.json

{"configurations": [{"name": "windows-gcc-x64","includePath": ["${workspaceFolder}/**"],"compilerPath": "D:/ItApp/mingw64/bin/gcc.exe",  //替換自己電腦實際路徑"cStandard": "${default}","cppStandard": "${default}","intelliSenseMode": "windows-gcc-x64","compilerArgs": [""]}],"version": 4
}

2.3?launch.json

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"internalConsoleOptions": "neverOpen","MIMode": "gdb","miDebuggerPath": "gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": false}],"preLaunchTask": "Compile"},{"name": "C/C++: gcc.exe 生成和調試活動文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "D:\\ItApp\\mingw64\\bin\\gdb.exe", //替換自己電腦實際路徑"setupCommands": [{"description": "為 gdb 啟用整齊打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "將反匯編風格設置為 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe 生成活動文件"},{"name": "C/C++ Runner: Debug Session","type": "cppdbg","request": "launch","args": [],"stopAtEntry": false,"externalConsole": true,"cwd": "d:/VScode_WorkSpace/C", //替換自己電腦實際路徑"program": "d:/VScode_WorkSpace/C/build/Debug/outDebug", //替換自己電腦實際路徑"MIMode": "gdb","miDebuggerPath": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

2.4?settings.json

{"C_Cpp_Runner.cCompilerPath": "gcc","C_Cpp_Runner.cppCompilerPath": "g++","C_Cpp_Runner.debuggerPath": "gdb","C_Cpp_Runner.cStandard": "","C_Cpp_Runner.cppStandard": "","C_Cpp_Runner.msvcBatchPath": "","C_Cpp_Runner.useMsvc": false,"C_Cpp_Runner.warnings": ["-Wall","-Wextra","-Wpedantic","-Wshadow","-Wformat=2","-Wcast-align","-Wconversion","-Wsign-conversion","-Wnull-dereference"],"C_Cpp_Runner.msvcWarnings": ["/W4","/permissive-","/w14242","/w14287","/w14296","/w14311","/w14826","/w44062","/w44242","/w14905","/w14906","/w14263","/w44265","/w14928"],"C_Cpp_Runner.enableWarnings": true,"C_Cpp_Runner.warningsAsError": false,"C_Cpp_Runner.compilerArgs": [],"C_Cpp_Runner.linkerArgs": [],"C_Cpp_Runner.includePaths": [],"C_Cpp_Runner.includeSearch": ["*","**/*"],"C_Cpp_Runner.excludeSearch": ["**/build","**/build/**","**/.*","**/.*/**","**/.vscode","**/.vscode/**"],"C_Cpp_Runner.useAddressSanitizer": false,"C_Cpp_Runner.useUndefinedSanitizer": false,"C_Cpp_Runner.useLeakSanitizer": false,"C_Cpp_Runner.showCompilationTime": false,"C_Cpp_Runner.useLinkTimeOptimization": false
}

2.5?tasks.json

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活動文件","command": "D:\\ItApp\\mingw64\\bin\\gcc.exe", //替換自己電腦實際路徑"args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "調試器生成的任務。"}],"version": "2.0.0"
}

3. 新建C++文件夾作為C++項目文件

3.1 新建.vscode文件包括下列四個文件

3.2 c_cpp_properties.json

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.17763.0","compilerPath": "D:\\ItApp\\mingw64\\bin\\g++.exe", /*修改成自己bin目錄下的g++.exe,這里的路徑和電腦里復制的文件目錄有一點不一樣,這里是兩個反斜杠\\*/"cStandard": "c11","cppStandard": "c++17","intelliSenseMode": "${default}"}],"version": 4
}

3.3?launch.json

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch","preLaunchTask": "build","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb",// 這里修改為你電腦上安裝(解壓的文件 mingw64) 上的路徑, bin 文件名加上 gdb.exe"miDebuggerPath": "D:\\ItApp\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

3.4?settings.json

{"files.defaultLanguage": "c", // ctrl+N新建文件后默認的語言"editor.formatOnType": true, // 輸入分號(C/C++的語句結束標識)后自動格式化當前這一行的代碼"editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳轉點,不用這個就必須手動觸發Intellisense了"editor.acceptSuggestionOnEnter": "off", // 我個人的習慣,按回車時一定是真正的換行,只有tab才會接受Intellisense// "editor.snippetSuggestions": "top", // (可選)snippets顯示在補全列表頂端,默認是inline"code-runner.runInTerminal": true, // 設置成false會在“輸出”中輸出,無法輸入"code-runner.executorMap": {"c": "cd $dir && gcc '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'","cpp": "cd $dir && g++ '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c++11 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'"// "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && $dir$fileNameWithoutExt",// "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c++17 -fexec-charset=GBK && $dir$fileNameWithoutExt"}, // 右鍵run code時運行的命令;未注釋的僅適用于PowerShell(Win10默認),文件名中有空格也可以編譯運行;注釋掉的適用于cmd(win7默認),PS和bash也能用,但文件名中有空格時無法運行"code-runner.saveFileBeforeRun": true, // run code前保存"code-runner.preserveFocus": true, // 若為false,run code后光標會聚焦到終端上。如果需要頻繁輸入數據可設為false"code-runner.clearPreviousOutput": false, // 每次run code前清空屬于code runner的終端消息,默認false"code-runner.ignoreSelection": true, // 默認為false,效果是鼠標選中一塊代碼后可以單獨執行,但C是編譯型語言,不適合這樣用"C_Cpp.clang_format_sortIncludes": true,"files.associations": {"array": "cpp","atomic": "cpp","*.tcc": "cpp","cctype": "cpp","clocale": "cpp","cmath": "cpp","cstdarg": "cpp","cstddef": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cwchar": "cpp","cwctype": "cpp","deque": "cpp","unordered_map": "cpp","vector": "cpp","exception": "cpp","algorithm": "cpp","memory": "cpp","memory_resource": "cpp","optional": "cpp","string": "cpp","string_view": "cpp","system_error": "cpp","tuple": "cpp","type_traits": "cpp","utility": "cpp","fstream": "cpp","initializer_list": "cpp","iosfwd": "cpp","iostream": "cpp","istream": "cpp","limits": "cpp","new": "cpp","ostream": "cpp","sstream": "cpp","stdexcept": "cpp","streambuf": "cpp","typeinfo": "cpp"}, // 格式化時調整include的順序(按字母排序)
}

?

3.5?tasks.json

{"version": "2.0.0","tasks": [{"label": "build","type": "shell","group": "build","presentation": {"echo": true,"reveal": "always","focus": false,"panel": "shared"},"windows": {"command": "g++","args": ["-ggdb","${file}","--std=c++11","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"]}},{"type": "cppbuild","label": "C/C++: g++.exe 生成活動文件","command": "D:\\ItApp\\mingw64\\bin\\g++.exe",  //替換自己電腦實際路徑"args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "調試器生成的任務。"}]
}

?

六、重啟VScode

配置完成之后一般重啟一下才會生效。

七、編寫C語言程序測試

1. 編寫hello.c文件

// hello.c#include <stdio.h>
int main()
{printf("hello world\n");return 0;
}

2. 右鍵選擇run code(需下載插件)

3. 成功運行代碼!

八、編寫C++程序測試

1. 編寫hello.cpp

#include <iostream>using namespace std;int main()
{cout << "hello world" << endl;return 0;
}

2.? 右鍵選擇run code成功運行代碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37045.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習筆記: 最詳盡解釋邏輯回歸 Logistic Regression

歡迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有問題可以隨時與我交流, 謝謝大家&#xff01; 邏輯回歸概述 邏輯回歸類似于線性回歸&#xff0c;但預測的是某事物是否為真&#xff0c;而不是像大小這…

K8S 集群節點縮容

環境說明&#xff1a; 主機名IP地址CPU/內存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233&#xff08;需下線&#xff09;192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群節點縮容 當集群中有…

爬蟲中如何創建Beautiful Soup 類的對象

在使用 lxml 庫解析網頁數據時&#xff0c;每次都需要編寫和測試 XPath 的路徑表達式&#xff0c;顯得非常 煩瑣。為了解決這個問題&#xff0c; Python 還提供了 Beautiful Soup 庫提取 HTML 文檔或 XML 文檔的 節點。 Beautiful Soup 使用起來很便捷&#xff0c;…

計算機中的浮點數 - 為什么十進制的 0.1 在計算機中是一個無限循環小數

計算機中的浮點數 - 為什么十進制的 0.1 在計算機中是一個無限循環小數 flyfish 用 float 或 double 來存儲小數時不是精確值 浮點數在計算機中是以二進制形式存儲的&#xff0c;通常使用 IEEE 754 標準。浮點數由三個部分組成&#xff1a;符號位、指數位和尾數位。 先看一個…

【2024】LeetCode HOT 100——圖論

目錄 1. 島嶼數量1.1 C++實現1.2 Python實現1.3 時空分析2. 腐爛的橘子2.1 C++實現2.2 Python實現2.3 時空分析3. 課程表3.1 C++實現3.2 Python實現3.3 時空分析4. 實現 Trie (前綴樹)4.1 C++實現4.2 Python實現4.3 時空分析1. 島嶼數量 ?? 原題鏈接:200. 島嶼數量 經典的Fl…

鴻蒙應用開發之OpenGL的EGL

要開發OpenGL程序,那么這個程序就需要與操作系統進行交流,由于存在不同的操作系統,這樣就面臨著開發不同的程序的困難,為了解決這個問題,就引入了一個中間層的軟件庫,這個軟件庫叫做EGL。 眾所周知,Opengl是跨平臺的,那么面對各種平臺的差異性,Opengl是如何抹平而做到…

CleanMyMacX2024讓你的蘋果電腦重獲生機!

在電腦使用過程中&#xff0c;你是否遇到過這樣的問題&#xff1a;運行速度變慢、磁盤空間不足、系統出現故障……這些問題不僅影響你的工作效率&#xff0c;還會讓電腦的使用壽命大大縮短。那么&#xff0c;如何輕松解決這些問題呢&#xff1f;答案就是CleanMyMac X。 CleanM…

蘇州大廠面試題JAVA 面試集

基礎知識1、強引用、軟引用、弱引用、幻象引用有什么區別?(java基礎) 答案參考:https://time.geekbang.org/column/article/6970 2、 對比Hashtable、HashMap、TreeMap有什么不同?(數據結構) 答案參考:https://time.geekbang.org/column/article/8053 3、一個線程調用兩次…

ubuntu20.04安裝kazam桌面屏幕錄制工具

在Ubuntu 20.04上安裝Kazam可以通過以下步驟進行&#xff1a; 1.打開終端&#xff1a;可以通過按下Ctrl Alt T組合鍵來打開終端。 2.添加PPA源&#xff1a;Kazam不再在官方Ubuntu倉庫中&#xff0c;但可以通過PPA源進行安裝。在終端中輸入以下命令來添加PPA&#xff1a; su…

AI繪畫:P圖如此絲滑,OpenAI上線ChatGPT圖像編輯功能,DallE-3繪畫如此簡單

大家好我是極客菌&#xff0c;用ChatGPT的DallE-3進行AI繪畫對很多人來說是一個門檻很低的選擇&#xff0c;現在OpenAI又重磅上線了圖像編輯器功能(DallE editor)&#xff0c;可以很方便的對圖片的局部進行修改&#xff0c;而且支持中文&#xff0c;主打一個功能強大且好用&…

Jquery 獲得Form下的所有text、checkbox等表單的值

Jquery使用表單我主要是想獲得某一個表單下的所有text獲得checkbox的值: 可以這樣寫: var parameter{}; $("input[typetext]",document.forms[0]).each(function(){ alert(this.name); }); 獲得所有名為hobby的選中的checkbox的值和form2下的所有text的值 function s…

【云原生】Prometheus 使用詳解

目錄 一、前言 二、服務監控概述 2.1 什么是微服務監控 2.2 微服務監控指標 2.3 微服務監控工具 三、Prometheus概述 3.1 Prometheus是什么 3.2 Prometheus 特點 3.3 Prometheus 架構圖 3.3.1 Prometheus核心組件 3.3.2 Prometheus 工作流程 3.4 Prometheus 應用場景…

Elasticsearch 配置

Elasticsearch提供良好的默認設置&#xff0c;并且只需要很少的配置。可以使用群集更新設置API在正在運行的群集上更改大多數設置。 配置文件應包含特定于節點的設置&#xff08;如node.name和paths&#xff09;&#xff0c;或節點為了能夠加入集群而需要的設置&#xff0c;如…

webrtc-m120編譯 (m126)

WebRTC實時互動入門 環境 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammyuname -a Linux yqw-Lenovo-XiaoXinPro-13ARE-2020

Agent技術在現代軟件開發與應用中的探索

一、引言 隨著計算機科學的快速發展&#xff0c;Agent技術作為人工智能和分布式計算領域的重要分支&#xff0c;已經滲透到軟件開發的各個方面。Agent技術通過賦予軟件實體自主性和交互性&#xff0c;使得軟件系統能夠更加智能、靈活地響應環境變化和用戶需求。本文將對Agent技…

java基于ssm+jsp 個人交友網站

1前臺首頁功能模塊 個人交友網站&#xff0c;在系統首頁可以查看首頁、交友信息、線下活動、系統公告、論壇信息、我的、跳轉到后臺、客服等內容&#xff0c;如圖1所示。 圖1系統功能界面圖 用戶注冊&#xff0c;在用戶注冊頁面可以填寫用戶賬號、密碼、用戶姓名、年齡等信息進…

深入理解 Spring MVC:原理與架構解析

文章目錄 前言一、MVC二、Spring MVC三、Spring MVC 工作流程四、小結推薦閱讀 前言 Spring MVC 是一種基于 Java 的 Web 應用開發框架&#xff0c;它通過模型-視圖-控制器&#xff08;Model-View-Controller, MVC&#xff09;的設計模式來組織和管理 Web 應用程序。本文將深入…

java基于ssm+jsp 二手車交易網站

1用戶功能模塊 定金支付管理&#xff0c;在定金支付管理頁面可以填寫訂單編號、車型、品牌、分類、車身顏色、售價、訂金金額、付款日期、備注、用戶名、姓名、聯系方式、是否支付等信息&#xff0c;進行詳情、修改&#xff0c;如圖1所示。 圖1定金支付管理界面圖 預約到店管…

1.搭建篇——帝可得后臺管理系統

目錄 前言項目搭建一、搭建后端項目1.初始化項目Maven構建 2.MySQL相關導入sql配置信息 3. Redis相關啟動配置信息 4.項目運行 二、 搭建前端項目1.初始化項目2.安裝依賴3.項目運行 三、問題 前言 提示&#xff1a;本篇講解 帝可得后臺管理系統 項目搭建 項目搭建 一、搭建后…

單段時間最優S型速度規劃算法

一&#xff0c;背景 在做機械臂軌跡規劃的單段路徑的速度規劃時&#xff0c;除了參考《Trajectory Planning for Automatic Machines and Robots》等文獻之外&#xff0c;還在知乎找到了這位大佬 韓冰 寫的在線規劃方法&#xff1a; https://zhuanlan.zhihu.com/p/585253101/e…