vscode配置編譯運行c程序的環境

vscode配置編譯運行c程序的環境

背景:

1、VS Code只是一個代碼編輯器,編譯、運行這些活需要其他程序完成。

2、C/C++ 編譯器的選擇,GCC/G++(MinFGW-w64)

3、MinGW和MinGW-w64是兩個不同的項目。MinGW本身已經很久沒有更新了,故不推薦。為了方便,本文中的MinGW指的其實都是MinGW-w64。

4、命令行的使用、系統變量的添加。

安裝vs code

vscode配置編譯運行c程序的環境

插件安裝

1、必要插件

C/C++(ms-vscode.cpptools,微軟官方出品):功能最全的C/C++插件,而且是微軟官方的插件,可以放心下載

Code Runner(formulahendry.code-runner):快速編譯運行單個文件,方便。

vscode配置編譯運行c程序的環境

2、推薦插件

Bracket Pair Colorizer:彩虹括號,匹配的括號會用相同的顏色標注出來。

Material Icon Theme:圖標包插件,“花里胡哨”,推薦。

One Dark Pro:主題插件,推薦Chinese Language Pack:中文語言包。

配置環境:

一鍵配置:

win7/10有效:不想折騰的話,下載一鍵配置壓縮包,解壓后,打開vscode_onesrc/,找到start.bat 右鍵->以管理員身份運行

vscode配置編譯運行c程序的環境

安裝成功,顯示如下:

vscode配置編譯運行c程序的環境

手動配置:

配置編譯器:

用VS Code運行C/C++前,需要先能夠在命令行編譯C/C++。

這里我們需要用到GCC去編譯。

下載地址:https://sourceforge.net/projects/mingw-w64/

MinGW-W64 GCC-8.1.0

x86_64-win32-seh

i686-win32-dwarf

64位電腦選擇x86_64,32位選擇i686。

下載解壓完成后,添加系統變量?當前路徑mingw64in?到path里面。設置好變量后,重啟電腦。在命令行中輸入gcc?或者g++

如果顯示如下界面:

vscode配置編譯運行c程序的環境

配置成功,進行下一步。

配置json

以下配置文件需要放在.vscode文件夾里面(注意有個點),如果工作目錄為workSpace.需要將.vscode放在workSpace目錄里面。

下面的C:Usersm91MyFileDevelopmingw64include(一共四個),需要換成你自己的gcc編譯器安裝路徑,如果你的路徑為C:mingw64你可以換成C:mingw64include

c_cpp_properties.json

{ 	"configurations":?[{ 		"name":?"Win32", 		"defines":?[ 			"_DEBUG", 			"UNICODE", 			"_UNICODE" 		], 		"includePath":?[ 			"${workspaceFolder}", 			"C:Users15591MyFileDevelopmingw64include" 		], 		"browse":?{ 			"path":?[ 				"${workspaceFolder}", 				"C:Users15591MyFileDevelopmingw64include" 			], 			"limitSymbolsToIncludedHeaders":?true, 			"databaseFilename":?"" 		}, 		"windowsSdkVersion":?"10.0.17134.0", 		"compilerPath":?"C:Users15591MyFileDevelopmingw64bingcc.exe", 		"cStandard":?"c11", 		"cppStandard":?"c++17" 	}], 	"version":?4 }

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":?true, 			"internalConsoleOptions":?"neverOpen",? 			//?如果不設為neverOpen,調試時會跳到“調試控制臺”選項卡,你應該不需要對gdb手動輸命令吧? 			"MIMode":?"gdb", 			"miDebuggerPath":?"C:Users15591MyFileDevelopmingw64bingdb.exe", 			"setupCommands":?[{ 				"description":?"Enable?pretty-printing?for?gdb", 				"text":?"-enable-pretty-printing", 				"ignoreFailures":?true 			}], 			"preLaunchTask":?"CppCompile"? 			//?調試會話開始前執行的任務,一般為編譯程序。與tasks.json的label相對應 		} 	] }

tasks.json

{ 	"version":?"2.0.0", 	"tasks":?[{ 			"label":?"CppCompile",? 			//?任務名稱,與launch.json的preLaunchTask相對應???????????? 			"command":?"g++",?//?要使用的編譯器,我們主要針對cpp文件調試,亦可以改成其他的???????????? 			"args":?[???????????????? 			"${file}",???????????????? 			"-o",?//?指定輸出文件名,不加該參數則默認輸出a.exe,Linux下默認a.out???????????????? 			"${fileDirname}/${fileBasenameNoExtension}.exe",???????????????? 			"-g",?//?生成和調試有關的信息???????????????? 			"-Wall",?//?開啟額外警告???????????????? 			"-static-libgcc",?//?靜態鏈接???????????????? 			"-std=c++17"?//?C語言最新標準為c11,或根據自己的需要進行修改 		],?//?編譯命令參數???????????? 		"type":?"shell",?//?可以為shell或process,前者相當于先打開shell再輸入命令,后者是直接運行命令???????????? 		"group":?{???????????????? 		"kind":?"build",???????????????? 		"isDefault":?true?//?設為false可做到一個tasks.json配置多個編譯指令,需要自己修改本文件,我這里不多提 	}, 	"presentation":?{ 		"echo":?false, 		"reveal":?"always",? 		//?在“終端”中顯示編譯信息的策略,可以為always,silent,never。具體參見VSC的文檔???????????????? 		"focus":?false,?//?設為true后可以使執行task時焦點聚集在終端,但對編譯c和c++來說,設為true沒有意義???????????????? 		"panel":?"shared"?//?不同的文件的編譯信息共享一個終端面板 	}, 	"problemMatcher":?"$gcc" }] }

settings.json

{???? "workbench.colorTheme":?"One?Dark?Pro",//主題One?Dark?Pro,如不需要刪除本行???? "git.enabled":?false,//關閉git???? "git.ignoreMissingGitWarning":?true,//忽略git缺失警告???? "terminal.integrated.rendererType":?"dom",???? "breadcrumbs.enabled":?true,???? "workbench.iconTheme":?"material-icon-theme",//圖標主題,如不需要刪除本行???? ????"files.defaultLanguage":?"cpp",?//?ctrl+N新建文件后默認的語言???? "editor.formatOnType":?true,?//?輸入時就進行格式化,默認觸發字符較少,分號可以觸發???? "editor.snippetSuggestions":?"top",?//?snippets代碼優先顯示補全???? "code-runner.runInTerminal":?true,?//?設置成false會在“輸出”面板中輸出,無法輸入,建議設true???? "code-runner.executorMap":?{???????? "c":?"cd?$dir?&&?gcc?$fileName?-o?$fileNameWithoutExt.exe?-Wall?-g?-Og?-static-libgcc?-std=c11? &&?$dir$fileNameWithoutExt",???????? "cpp":?"cd?$dir?&&?g++?$fileName?-o?$fileNameWithoutExt.exe?-Wall?-g?-Og?-static-libgcc?-std=c++17? &&?$dir$fileNameWithoutExt" ????},???? "code-runner.saveFileBeforeRun":?true,?//?run?code前保存???? "code-runner.preserveFocus":?false,?//?若為false,run?code后光標會聚焦到終端上。如果需要頻繁輸入數據可設為false???? "code-runner.clearPreviousOutput":?true,?//?每次run?code前清空屬于code?runner的終端消息???? "code-runner.ignoreSelection":?true,? }

HelloWorld:

file->open folder->vscode_onesrc

找到并打開我們的文件夾vscode_onesrc,打開HelloWorld.c點擊右上角的三角形,編譯運行!

Hello World!

vscode配置編譯運行c程序的環境

vscode配置編譯運行c程序的環境

vscode配置編譯運行c程序的環境

相關文章教程推薦:https://sourceforge.net/projects/mingw-w64/

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享