• VSCode配置C和C++语言


    Mingw

    1.首先我们需要安装一下Mingw

    大概目录结构如下

     2.然后我们解压后就看到上面的一个页面,这时我们需要配置一下环境变量。

    在用户变量和系统变量都可以,只要是在path下就行。

    3.现在我们可以在cmd下测试一下。

    出现类似以下就代表成功了。

    现在我们再输入gcc -v -E -x c++ -,然后我们会出现下面的东西。

     我们可以看到 这几个路径,很重要。

    VSCode操作

    配置c语言

    然后我们应该已经安装好vscode了。打开之前我们要确定一下代码路径没有出现中文。(这个很重要)

    首先创建一个空的文件夹,在cscode中打开它。我们可以写一个c语言文件

     接下我们首先要安装几个插件。

    5.然后我们只需要配置一下文件即可。

     c_cpp_properties.json文件

    1. {
    2. "configurations": [
    3. {
    4. "name": "Win32",
    5. "includePath": [
    6. "${workspaceRoot}",
    7. //mingw安装位置的include
    8. "E:\\Mingw64\\include\\**",
    9. //在终端运行gcc -v -E -x c++ -得到下面
    10. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
    11. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
    12. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
    13. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
    14. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
    15. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
    16. ],
    17. "defines": [
    18. "_DEBUG",
    19. "UNICODE",
    20. "__GNUC__=6",
    21. "__cdecl=__attribute__((__cdecl__))"
    22. ],
    23. "intelliSenseMode": "msvc-x64",
    24. "browse": {
    25. "limitSymbolsToIncludedHeaders": true,
    26. "databaseFilename": "",
    27. "path": [
    28. "${workspaceRoot}",
    29. //mingw安装位置的include
    30. "E:\\Mingw64\\include\\**",
    31. //在终端运行gcc -v -E -x c++ -得到下面
    32. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
    33. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
    34. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
    35. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
    36. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
    37. "E:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
    38. ]
    39. }
    40. }
    41. ],
    42. "version": 4
    43. }

     launch.json

    1. {
    2. "version": "0.2.0",
    3. "configurations": [
    4. {
    5. "name": "(Windows) Launch",//windows终端版
    6. "type": "cppvsdbg",
    7. "request": "launch",
    8. "program": "cmd",
    9. "preLaunchTask": "echo",
    10. "args": [
    11. "/C",
    12. "${fileDirname}\\${fileBasenameNoExtension}.exe",
    13. "&",
    14. "echo.",
    15. "&",
    16. "pause"
    17. ],
    18. "stopAtEntry": false,
    19. "cwd": "${workspaceFolder}",
    20. "environment": [],
    21. "externalConsole": true
    22. },
    23. {
    24. "name": "(gdb) Launch",//本地版
    25. "type": "cppdbg",
    26. "request": "launch",
    27. "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",//运行的程序
    28. "args": [],
    29. "stopAtEntry": false,
    30. "cwd": "${workspaceFolder}",
    31. "environment": [],
    32. "externalConsole": false,//false表示用vscode运行,true表示用cmd终端运行。
    33. "MIMode": "gdb",
    34. "miDebuggerPath": "E:/Mingw64/bin/gdb.exe",//mingw的安装位置
    35. "preLaunchTask": "echo",
    36. "setupCommands": [
    37. {
    38. "description": "Enable pretty-printing for gdb",
    39. "text": "-enable-pretty-printing",
    40. "ignoreFailures": true
    41. }
    42. ]
    43. },
    44. {
    45. "name": "C/C++ Runner: Debug Session",
    46. "type": "cppdbg",
    47. "request": "launch",
    48. "args": [],
    49. "stopAtEntry": false,
    50. "externalConsole": true,
    51. "cwd": "e:/vscode代码/c/demo2",
    52. "program": "e:/vscode代码/c/demo2/build/Debug/outDebug",
    53. "MIMode": "gdb",
    54. "miDebuggerPath": "E:/Mingw64/bin/gdb.exe",//mingw的安装位置
    55. "setupCommands": [
    56. {
    57. "description": "Enable pretty-printing for gdb",
    58. "text": "-enable-pretty-printing",
    59. "ignoreFailures": true
    60. }
    61. ]
    62. }
    63. ]
    64. }

     tasks.json

    1. {
    2. "version": "2.0.0",
    3. "tasks": [
    4. {
    5. "label": "echo",
    6. "type": "shell",
    7. "command": "E:/Mingw64/bin/gcc", //mingw安装位置
    8. "args": [
    9. "-g",
    10. "${file}",
    11. "-o",
    12. "${fileBasenameNoExtension}.exe",
    13. "-fexec-charset=GBK" //解决中文乱码
    14. ]
    15. }
    16. ],
    17. "presentation": {
    18. "echo": true,
    19. "reveal": "always",
    20. "focus": false,
    21. "panel": "shared",
    22. "showReuseMessage": true,
    23. "clear": false
    24. }
    25. }

    配置c++

    基本也都不用变

    仅需修改一下launch.json和takes.json文件即可

    launch.json

    1. {
    2. "version": "0.2.0",
    3. "configurations": [
    4. {
    5. "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
    6. "type": "cppdbg", // 配置类型,这里只能为cppdbg
    7. "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
    8. "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
    9. "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
    10. "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
    11. "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
    12. "environment": [],
    13. "externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台
    14. "MIMode": "gdb",
    15. // 这里的路径需要修改。改成自己的路径
    16. "miDebuggerPath": "E:/mingw64/bin/gdb.exe",
    17. "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
    18. "setupCommands": [
    19. {
    20. "description": "Enable pretty-printing for gdb",
    21. "text": "-enable-pretty-printing",
    22. "ignoreFailures": true
    23. }
    24. ]
    25. }
    26. ]
    27. }

    takes.json

    1. {
    2. "version": "2.0.0",
    3. "command": "g++",
    4. "args": [
    5. "-g",
    6. "${file}",
    7. "-o",
    8. "${workspaceFolder}/${fileBasenameNoExtension}.exe"
    9. ], // 编译命令参数
    10. "problemMatcher": {
    11. "owner": "cpp",
    12. "fileLocation": [
    13. "relative",
    14. "\\"
    15. ],
    16. "pattern": {
    17. "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
    18. "file": 1,
    19. "line": 2,
    20. "column": 3,
    21. "severity": 4,
    22. "message": 5
    23. }
    24. }
    25. }

     

  • 相关阅读:
    计算机基础(一):面向CPU编程
    IT运维:利用数据分析平台采集Windows event log数据
    【Camera KMD ISP SubSystem笔记】CAM SYNC与DRQ③
    XILINX-FPGA下载工具--CH347FPGADownloader
    ElasticSearch(八)【过滤查询】
    程序员如何在职场上少走弯路?
    移远通信联合产业中坚力量共同发起倡议,推动5G RedCap技术演进和应用创新发展
    使用aggird组件实现下滑请求分页从而实现无限滚动的效果
    Qwt-QwtPlot类详解
    opengl函数加载和错误处理
  • 原文地址:https://blog.csdn.net/weixin_53011574/article/details/126728451