当前位置:   article > 正文

VS code搭建C/C++运行环境简单易上手_cppdbg

cppdbg

1.下载c/c++插件;

2.下载c/c++编译器MinGW;

3.配置编译器全局环境;

4.配置VS code配置文件;

5.c/c++运行测试;

工欲善其事,必先利其器。想要优雅且高效的编写代码,必须熟练使用一款前端开发工具。但前端开发工具数不胜数,像HBuilder、Sublime Text、WebStorm、Visual Studio Code......等等,其中VSCode以其轻量且强大的代码编辑功能和丰富的插件生态系统,独受程序员的青睐。

1.下载c/c++插件;

打开VS code扩展界面如图,搜索c/c++下载对应插件;

2.下载c/c++编译器:MinGW-w64 - for 32 and 64 bit Windows

官方下载链接:https://sourceforge.net/projects/mingw-w64/

ps:由于是国外的网站下载可能有点慢;

3.配置编译器全局环境

在桌面【选择此电脑右键】【点击属性】【点击高级系统设置】【点击环境变量】在系统变量下方【点击path】新建【输入刚刚MinGW的安装路径bin目录】如图:

 连续【确定】保存更改;

ps:测试全局配置是否生效:桌面Win+R键输入cmd打开命令符窗口,输入gcc -v;如果显示如下内容则配置成功;

4.配置VS code c/c++运行配置文件

打开VS code选择【打开任意文件夹】在文件夹下【新建.vscode配置文件夹】【在.vscode文件夹下新建文件】命名为:c_cpp_properties.json;launch.json;tasks.json;

 依次写入以下内容;

c_cpp_properties.json

这里所有的【D:/Program/MinGW/bin】路径需要改为自己的安装路径;

  1. {
  2. "configurations": [
  3. {
  4. "name": "Win32",
  5. "includePath": [
  6. "${workspaceRoot}",
  7. "D:/Program/MinGW/include/**",
  8. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
  9. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
  10. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
  11. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
  12. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
  13. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
  14. ],
  15. "defines": [
  16. "_DEBUG",
  17. "UNICODE",
  18. "__GNUC__=6",
  19. "__cdecl=__attribute__((__cdecl__))"
  20. ],
  21. "intelliSenseMode": "msvc-x64",
  22. "browse": {
  23. "limitSymbolsToIncludedHeaders": true,
  24. "databaseFilename": "",
  25. "path": [
  26. "${workspaceRoot}",
  27. "D:/Program/MinGW/include/**",
  28. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
  29. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
  30. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
  31. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
  32. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
  33. "D:/Program/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
  34. ]
  35. }
  36. }
  37. ],
  38. "version": 4
  39. }

launch.json

修改【D:\\Program\\MinGW\\bin】为自己的安装路径;

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. { /*这个大括号里是我们的‘调试(Debug)’配置,这里我解释下为什么写了两个,
  5. 因为有时VSCode会有闪现的问题,也就是运行程序后窗口控制台可能会一闪而过,
  6. 看不到结果,因此可以通过搭建configution的办法来解决,也就是搭建一个cmd的配置。*/
  7. "name": "(Windows) Launch", // 配置名称
  8. "type": "cppvsdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
  9. "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
  10. "program": "cmd", // 将要进行调试的程序的路径
  11. "preLaunchTask": "echo", // 调试开始前执行的任务,我们在调试前要编译构建。与tasks.json的label相对应,名字要一样
  12. "args": [ // 程序调试时传递给程序的命令行参数
  13. "/C",
  14. "${fileDirname}\\${fileBasenameNoExtension}.exe",
  15. "&",
  16. "echo."
  17. ],
  18. "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
  19. "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此处为源码文件所在目录
  20. "environment": [], // 环境变量,这里设为空即可
  21. "console": "externalTerminal", //使用单独的cmd窗口输出
  22. },
  23. { //这个大括号里是我们的‘调试(Debug)’配置
  24. "name": "(gdb) Launch", // 配置名称
  25. "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
  26. "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
  27. "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
  28. "args": [], // 程序调试时传递给程序的命令行参数,
  29. "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
  30. "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此处为源码文件所在目录
  31. "environment": [], // 环境变量,这里设为空即可
  32. "console": "externalTerminal", // 使用单独的cmd窗口输出
  33. "MIMode": "gdb", //指定连接的调试器,gdb是minGW中的调试程序
  34. "miDebuggerPath": "D:\\Program\\MinGW\\bin\\gdb.exe", //指定调试器所在路径,如果你的minGW装在别的地方,则要改成你自己的路径,注意间隔是\\
  35. "preLaunchTask": "echo", //调试开始前执行的任务,这里和task.json的label相对应
  36. }
  37. ]
  38. }

 tasks.json

不需要做更改;

  1. {
  2. // See https://go.microsoft.com/fwlink/?LinkId=733558
  3. // for the documentation about the tasks.json format
  4. "version": "2.0.0",
  5. "tasks": [
  6. { //这个大括号里是‘构建’任务
  7. "label": "echo", //这个大括号里是‘构建’任务
  8. "type": "shell", //任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
  9. "command": "gcc", //编译命令
  10. "args": [ //传给gcc命令的一系列参数
  11. "-g", //生成和调试有关的信息
  12. "${file}", //指定要编译的是当前文件
  13. "-o", //指定输出文件的路径和名称
  14. "${fileBasenameNoExtension}.exe", //让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
  15. "-fexec-charset=GBK" //解决中文乱码
  16. ]
  17. }
  18. ],
  19. "presentation": { //执行这个任务时的一些其他设定
  20. "echo": true, //表示在执行任务时在终端要有输出
  21. "reveal": "always", //执行任务时是否跳转到终端面板,可以为always,silent,never
  22. "focus": false, //设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入
  23. "panel": "new", //每次执行这个task时都新建一个终端面板
  24. "showReuseMessage": true, //控制是否显示“终端将被任务重用, 按任意键关闭”提示.
  25. "clear": false
  26. }
  27. }

5.c/c++运行测试

测试代码:

  1. #include<stdio.h>
  2. int main(){
  3. printf("Hello World!\n");
  4. system("pause");
  5. }

运行展示;

 配置完成!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/65877
推荐阅读
相关标签
  

闽ICP备14008679号