天天看點

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

目錄

DES:

Steps

11.配置launch.json

12.tasks.json

13. c_cpp_properties.json

補充:使用第三方庫

總結&筆記:

背景知識

ref

​​​​​​​

DES:

安裝配置VS code C++ 編譯器,運作helloworld

Steps

1.VS Code 僅為文本編輯器,沒有編譯執行功能,要安裝編譯器。

2. 下載下傳安裝MinGW-w64

3. 打開vpn連接配接,啟動安裝

4.安裝完啟動,左側all package,選擇

  • mingw32-gcc.bin(c語言檔案編譯器)
  • mingw32-gcc-g++.bin(c++語言編譯器)
  • mingw32-gdb.bin(調試編譯後檔案)

或者直接選擇相應的編譯配置,注意看description

5.選擇好後選擇applychange,等待下載下傳完畢

6.配置環境變量:

右鍵我的電腦->屬性->右邊欄進階系統設定

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

環境變量->

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

 系統變量->path->編輯->

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

 選擇MinGW/bin->确定

重新開機電腦

7.驗證

打開cmd 輸入g++ -v

有出現版本資訊

 則安裝成功

8.打開vscode,下載下傳c++插件

9.建立.cpp檔案,helloworld

10.按快捷鍵Ctrl+Shift+P調出指令面闆,輸入C/C++,選擇“Edit Configurations(UI)

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref
【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

修改位址

11.配置launch.json

左邊欄選擇運作和調試->launch.json 

launch.json 是用于運作 ( run ) 和調試 ( debug ) 的配置檔案,可以指定語言環境,指定調試類型等等内容。

{  
    "version": "0.2.0",  
    "configurations": [  
        {  
            "name": "(gdb) Launch", // 配置名稱,将會在啟動配置的下拉菜單中顯示  
            "type": "cppdbg",       // 配置類型,這裡隻能為cppdbg  
            "request": "launch",    // 請求配置類型,可以為launch(啟動)或attach(附加)  
            "program": "${workspaceFolder}//${fileBasenameNoExtension}.exe",// 将要進行調試的程式的路徑  
            "args": [],             // 程式調試時傳遞給程式的指令行參數,一般設為空即可  
            "stopAtEntry": false,   // 設為true時程式将暫停在程式入口處,一般設定為false  
            "cwd": "${workspaceFolder}", // 調試程式時的工作目錄,一般為${workspaceFolder}即代碼所在目錄  
            "environment": [],  
            "externalConsole": true, // 調試時是否顯示控制台視窗,一般設定為true顯示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "D:/MinGW/bin/gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應  
            "preLaunchTask": "g++", // 調試會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc  
            "setupCommands": [  
                {   
		    "description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }  
    ]  
}
           

12.tasks.json

tasks.json 是在 vscode 中輔助程式編譯的子產品,可以代你執行類似于在指令行輸入 “gcc hello.c -o hello” 指令的操作,你隻要在圖形界面下操作即可生成可執行檔案。

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",//預設配置,實質為在win的端口使用shell指令
			"label": "g++",//任務的名稱,可以修改,但一定要和launch中的"preLaunchTask"項保持一緻
			"command": "D:/MinGw/bin/g++.exe",//
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe",
				"-std=c++17"//支援C++17的版本
			],
			"options": {
				"cwd": "D:/MinGw/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "編譯器: D:/MinGw/bin/g++.exe"//一些描述性資訊
		}
	]
}
           

13. c_cpp_properties.json

c_cpp_properties.json 主要用來設定包含頭檔案的路徑,設定 C/C++ 支援的版本号等等

{
    "configurations": [
        {
            "name": "Win32",               //   配置名稱可随意更改
            "includePath": [             //運作項目包含.h頭檔案的目錄,
                "${workspaceFolder}/**"
                                        //此處會比對工作檔案下的所有檔案
            ],                      //添加"compilerPath"後,系統include路徑可不寫明
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/MinGw/bin/g++.exe",//編譯器的路徑
            "cStandard": "c17",//C标準的版本
            "cppStandard": "c++17",//C++标準的版本
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}
           

14.按F5啟動編譯和運作

運作結果

【學習筆記】VS code 安裝配置C++環境&使用第三方庫DES:Steps11.配置launch.json12.tasks.json13. c_cpp_properties.json補充:使用第三方庫總結&筆記:背景知識ref

補充:使用第三方庫

在vscode使用中如果想使用自定義的函數庫或者第三方庫需要對tasks和c_cpp_properties.json中的路徑進行配置。

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",               //   配置名稱可随意更改
            "includePath": [             //運作項目包含.h頭檔案的目錄,在此處添加外部頭檔案路徑
                "${workspaceFolder}/**",
                "C:/test"  //外部路徑
                                        //此處會比對工作檔案下的所有檔案
            ],                      //添加"compilerPath"後,系統include路徑可不寫明
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/MinGw/bin/g++.exe",//編譯器的路徑
            "cStandard": "c17",//C标準的版本
            "cppStandard": "c++17",//C++标準的版本
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}
           

 tasks.json

使用  “-I” include 頭檔案以及源檔案路徑(若函數定義與聲明不在一起)。

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "g++build",
			"command": "D:/MinGw/bin/g++.exe",
			"args": [
				"-g",
				"${file}",
				"-I",//引入外部頭檔案
				"F:\\C++\\headfile",
				"F:\\C++\\headfile\\hello.cpp",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe",
				"-std=c++17"
			],
			"options": {
				"cwd": "D:/MinGw/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "編譯器: D:/MinGw/bin/g++.exe"
		}
		
	]
}
           

參數解讀:

gcc帶不同參數的含義:"-g"産生調試資訊,"-c"編譯中間目标檔案,"-I"指定連結庫,"-o"生成指定命名的可執行檔案

總結&筆記:

相關代碼:

${workspaceFolder} :表示目前workspace檔案夾路徑,也即/home/Coding/Test

${workspaceRootFolderName}:表示workspace的檔案夾名,也即Test

${file}:檔案自身的絕對路徑,也即/home/Coding/Test/.vscode/tasks.json

${relativeFile}:檔案在workspace中的路徑,也即.vscode/tasks.json

${fileBasenameNoExtension}:目前檔案的檔案名,不帶字尾,也即tasks

${fileBasename}:目前檔案的檔案名,tasks.json

${fileDirname}:檔案所在的檔案夾路徑,也即/home/Coding/Test/.vscode

${fileExtname}:目前檔案的字尾,也即.json

${lineNumber}:目前檔案光标所在的行号

${env:PATH}:系統中的環境變量

背景知識

gcc

GCC:GNU Compiler Collection(GUN 編譯器集合),它可以編譯C、C++、JAV、Fortran、Pascal、Object-C、Ada等語言。

g++

g++是GCC中的GUN C++ Compiler(C++編譯器)

ref

【c++】VSCode配置 c++ 環境(小白教程)

g++以及gcc的差別

GCC 參數詳解

使用 VS Code 搭建輕量美觀的 C/C++開發環境

launch.json / tasks.json / c_cpp_properties.json 解析 配置檔案 C++ VSCode

VSCode配置C/C++并添加非工作區頭檔案

繼續閱讀