最近重温C语言,因为很多练习只是小程序,并不需要Clion和Codeblocks这样工程导向的编译软件,所以下载了vs code,并试图搜索相应的环境,在此过程中发现,网上许多vs code 的c/c++环境配置都是以c++为目标的,不能直接编译C语言,在参考了许多前辈的文章后,才有了本文,如有不妥之处,还望各位前辈海涵。
0.参考资料
https://blog.csdn.net/bat67/article/details/76095813
https://hk.saowen.com/a/9598540e9e5ae7838bdd78c4cd6a19ffb167f374c811e92fdf0e595b71ad13db
1.安装编译器
https://sourceforge.net/projects/mingw/
2.安装VS code
https://code.visualstudio.com/Download
3.安装插件
4.配置编译文件
launch.json
请注意,这一条请务必填写你自己的路径,让编译器找到gdb.exe。
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
1 {
2 // 使用 IntelliSense 了解相关属性。
3 // 悬停以查看现有属性的描述。
4 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0"
,
6 "configurations"
: [
7 {
8 "name": "C Launch (GDB)",
// 配置名称,将会在启动配置的下拉菜单中显示
9 "type": "cppdbg",
// 配置类型,这里只能为cppdbg
10 "request": "launch",
// 请求配置类型,可以为launch(启动)或attach(附加)
11 //"launchOptionType": "Local", // 調試器啟動類型,這裏只能為Local
12 "targetArchitecture": "x86",
// 生成目標架構,一般為x86或x64
13
14 "program": "${cwd}\\${fileBasenameNoExtension}.exe",
// 将要进行调试的程序的路径
15 "args": [],
// 程序调试时传递给程序的命令行参数,一般设为空即可
16 "stopAtEntry":
false,
// 设为true时程序将暂停在程序入口处,一般设置为false
17 "cwd": "${workspaceRoot}",
// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
18 "environment"
: [],
19 "externalConsole":
true,
// 调试时是否显示控制台窗口,一般设置为true显示控制台
20 "MIMode": "gdb"
,
21
22 "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
// miDebugger的路径,注意这里要与MinGw的路径对应
23
24 "preLaunchTask": "gcc",
// 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
25 "setupCommands"
: [
26 {
27 "description": "Enable pretty-printing for gdb"
,
28 "text": "-enable-pretty-printing"
,
29 "ignoreFailures":
true
30 }
31 ]
32 }
33 ]
34 }
tasks.json
{
"version": "2.0.0"
,
"command": "gcc",
// 編譯C++用g++,用MinGW和clang的自行修改。
"args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"],
// 編譯命令參數,C++可用-std=c++14
"problemMatcher"
: {
"owner": "c"
,
"fileLocation": ["relative", "${workspaceRoot}"
],
"pattern"
: {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$"
,
"file": 1
,
"line": 2
,
"column": 3
,
"severity": 4
,
"message": 5
}
}
}
c_cpp_properties.json
{
"configurations"
: [
{
"name": "Win32"
,
"includePath"
: [
"${workspaceFolder}/**"
],
"defines"
: [
"_DEBUG"
,
"UNICODE"
,
"_UNICODE"
],
"compilerPath": "C:\\MinGW\\bin\\gcc.exe"
,
"cStandard": "c11"
,
"cppStandard": "c++17"
,
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
settings.json(该项是用于无缝切换C语言和c++的,但是博主现在没有搞懂,而且直接照搬前辈的配置会导致报错,暂时不建议添加此配置文件)
// 將設置放入此文檔中以覆蓋默認值和用户設置。
{
"files.defaultLanguage": "c"
,
"code-runner.runInTerminal":
false,
"code-runner.executorMap"
: {
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt"
,
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"
}
}
5.大功告成
转载于:https://www.cnblogs.com/FlyDangerFox/p/9896655.html
相关资源:垃圾分类数据集及代码