前言
今天是2021的第一天,新的开始,那就先从配置环境开始吧!
下载相关软件
先把要下载的东西丢出来(有的就可以不用下了):
- visual studio code这个不用我多说,今天的主体就是它了 官网链接:code.visualstudio.com
- minGW64这个主要是使用它的编译器,如果你有其他的也可以. 如果直接在官网下载的话下载的是 在线安装工具 ,直接在工具里安装下载的话可能会非常慢,我在sourceforge找到了mingw64的离线包,地址是sourceforge.net/projects/mingw-w64/files/, 下拉选择你想下载的版本, 我选择的是 MinGW-W64 GCC-8.1.0版的x86_64-posix-seh 如果在sourceforge.net下载也比较慢的话可以下载我下载下来的, 点击跳转
配置MinGW及环境变量
- 首先把MinGW放到到一个你方便的地方(在线安装工具安装的同学可以在"C:\Program Files (x86)")里找找.
- (选做,这个主要是为了方便在命令行使用或者没写visual studio code配置文件时可以按照默认配置编译运行) 快捷键Win+S,搜索 编辑系统环境变量,点开,在下面有一个环境变量 进入后在下面的系统变量里找到 path变量, 双击打开,在里面添加MinGW里bin目录的绝对路径, 如: D:\software\mingw64\bin , 添加完测试一下, 快捷键win+R输入cmd打开命令行,输入gcc, 查看是否有输出(没有提示'gcc'不是内部或外部命令,也不是可运行的程序 进入后在下面的系统变量里找到 path变量, 双击打开,在里面添加MinGW里bin目录的绝对路径, 如: D:\software\mingw64\bin , 添加完测试一下, 快捷键win+R输入cmd打开命令行,输入gcc, 查看是否有输出(没有提示'gcc'不是内部或外部命令,也不是可运行的程序
 或批处理文件).
配置visual studio code
安装需要的扩展
在应用商店搜索安装扩展, 应用商店在侧边栏(左边或者右边),可以快捷键打开,快捷键是 Ctrl+Shift+X
(界面可能有点不一样)
- Chinese首先是汉化, 在商店搜索 Chinese, 点击第一个, 然后点击install(安装),重启visual studio code.现在界面已经是中文界面了. 
- C/C++然后是C/C++的语言支持, 在商店搜索C/C++, 第一个就是, 安装. 
- Code Runner这个是支持我们单文件编译运行的, 在商店搜索 Code Runner 然后第一个就是了 - 我的理解: 这个插件的作用 是按下快捷键后会根据配置文件自动的在控制台执行一串命令, 命令包括了编译和运行, 所以看起来就像是一键单文件运行了 
安装完成后记得重启vs code
其他的插件可以在需要的时候再安装,盲目的安装大量插件反而会vs code 变慢变得不那么好用了.
编写配置文件
- 在你需要编写、运行代码的地方打开文件夹,在根目录新建两个文件夹 - .vs
- out
 .v文件夹主要是用来放在当前工程(vs是按照一个文件夹为一个工程的逻辑)的配置文件out文件夹是用来放存放编译完成后的exe文件,这个主要是为了防止当文件多了之后编译运行后文件夹里一堆文件,看着非常乱.
 
- 配置单文件运行配置文件(code runner配置文件) 
 在.vs里新建- settings.json,拷贝以下配置需要其他的自行修改- { "C_Cpp.errorSquiggles": "Enabled", "files.encoding":"gbk", "code-runner.runInTerminal": true, "code-runner.saveAllFilesBeforeRun": true, "code-runner.saveFileBeforeRun": true, "code-runner.executorMap": { "c": "cd $dir && gcc -Wall -std=c11 $fileName -o ./out/$fileNameWithoutExt.exe && ./out/$fileNameWithoutExt.exe", "cpp": "cd $dir && g++ -Wall -std=c++11 -g $fileName -o $dir$fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe" }, "files.associations": { "*.tcc": "cpp", "cctype": "cpp", "clocale": "cpp", "cmath": "cpp", "cstdarg": "cpp", "cstdint": "cpp", "cstdio": "cpp", "cstdlib": "cpp", "cwchar": "cpp", "cwctype": "cpp", "exception": "cpp", "initializer_list": "cpp", "iosfwd": "cpp", "iostream": "cpp", "istream": "cpp", "limits": "cpp", "new": "cpp", "ostream": "cpp", "streambuf": "cpp", "type_traits": "cpp", "typeinfo": "cpp", "deque": "cpp", "string": "cpp", "vector": "cpp", "list": "cpp", "algorithm": "c", "array": "c", "atomic": "c", "bitset": "c", "cassert": "c", "ccomplex": "c", "cerrno": "c", "cfenv": "c", "cfloat": "c", "chrono": "c", "cinttypes": "c", "ciso646": "c", "climits": "c", "complex": "c", "condition_variable": "c", "csetjmp": "c", "csignal": "c", "cstdalign": "c", "cstdbool": "c", "cstddef": "c", "cstring": "c", "ctgmath": "c", "ctime": "c", "forward_list": "c", "map": "c", "set": "c", "unordered_map": "c", "unordered_set": "c", "functional": "c", "iterator": "c", "memory": "c", "numeric": "c", "random": "c", "fstream": "c", "future": "c", "iomanip": "c", "ios": "c", "locale": "c", "mutex": "c", "queue": "c", "ratio": "c", "regex": "c", "scoped_allocator": "c", "sstream": "c", "stack": "c", "stdexcept": "c", "system_error": "c", "thread": "c", "tuple": "c", "utility": "c", "typeindex": "c", "valarray": "c" } }
- 配置调试运行配置文件 - 我的配置里的MinGW在D:\software\mingw64 注意根据你的MinGW位置替换, 注意路径要转义, 要两个反斜杠\ - 在.vs里新建 - tasks.json, 拷贝以下配置, 注意自己修改- { "version": "2.0.0", "tasks": [ { "label": "gcc_compile", // 任务名称,与launch.json的preLaunchTask相对应 "command": "D:\\software\\mingw64\\bin\\gcc.exe", // 要使用的编译器 "args": [ "${file}", "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out "${fileDirname}/out/${fileBasenameNoExtension}.exe", "-g", // 生成和调试有关的信息 "-Wall", // 开启额外警告 // "-static-libgcc", // 静态链接 // "-fcolor-diagnostics", // 彩色的错误信息?但貌似clang默认开启而gcc不接受此参数 // "--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;Linux下去掉这一条 "-std=c11" // C语言最新标准为c11,或根据自己的需要进行修改 ],// 编译命令参数 "type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令 "group": { "kind": "build", "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提 }, "presentation": { "echo": true, "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档 "focus": true, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义 "panel": "new" // 不同的文件的编译信息共享一个终端面板 } //"problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去) }, { "label": "g++_compile", // 任务名称,与launch.json的preLaunchTask相对应 "command": "D:\\software\\mingw64\\bin\\g++.exe", // 要使用的编译器 "args": [ "${file}", "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out "${workspaceFolder}/out/${fileBasenameNoExtension}.exe", "-g", // 生成和调试有关的信息 "-Wall", // 开启额外警告 // "-static-libgcc", // 静态链接 // "-fcolor-diagnostics", // 彩色的错误信息?但貌似clang默认开启而gcc不接受此参数 // "--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;Linux下去掉这一条 ],// 编译命令参数 "type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令 "group": { "kind": "build", "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提 }, "presentation": { "echo": true, "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档 "focus": true, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义 "panel": "new" // 不同的文件的编译信息共享一个终端面板 } //"problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去) } ] }- 在.vs里新建 - launch.json, 同样注意修改路径- // https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md { "version": "0.2.0", "configurations": [ //cpp的调试配置 { "name": "g++_compile", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "program": "${fileDirname}/out/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true "cwd": "${fileDirname}", // 调试程序时的工作目录 "environment": [], // 要添加到程序的环境变量 "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧? "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。 "miDebuggerPath": "D:\\software\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则去掉 "setupCommands": [ // 为了安装基础调试程序而执行的命令 // { // "description": "Enable pretty-printing for gdb", // "text": "-enable-pretty-printing", // "ignoreFailures": false // } { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "g++_compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应 }, //c的调试配置 { "name": "gcc_compile", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) "program": "${fileDirname}/out/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true "cwd": "${fileDirname}", // 调试程序时的工作目录 "environment": [], // 要添加到程序的环境变量 "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧? "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。 "miDebuggerPath": "D:\\software\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则去掉 "setupCommands": [ // 为了安装基础调试程序而执行的命令 // { // "description": "Enable pretty-printing for gdb", // "text": "-enable-pretty-printing", // "ignoreFailures": false // } { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "gcc_compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应 } ] }- 把MinGW路径都修改成自己的后随便写点什么输入输出测试一下吧!快捷键:调试:F5,单文件运行:Ctrl+Alt+N,在调试时注意选择一下是C还是cpp,我的配置文件里c叫gcc_compile,cpp叫g++_compile,选的位置在下图: 
  - 提示, 由于gun不支持中文路径, 所以你的路径不能有中文,否则不能正常调试,单文件是可以正常运行的. 
 
                             
                            
2 条评论
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
华纳公司合作开户所需材料?电话号码15587291507 微信STS5099
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com