VS Code 配置C++ 详解

Posted bigyellowdog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS Code 配置C++ 详解相关的知识,希望对你有一定的参考价值。

VS Code 配置C++ 详解

  • 我太难了一开始对配置一窍不通各种坑都踩过了,最后被逼无奈去学习了lauch.json还有tasks.json等文件的含义,才配置好了C++

  • 下面我写一个小白配置教程

  • 首先下载VS Code还有MinGW,在VS Code商店里下载插件:Chinese、C/C++、CodeRunner、Include Autocomplete

  • 然后创建一个HelloWorld.cpp然后点击调试,发现它要你选择环境,选择C++(GDB/LLDB),再选g++.exe,生成和调试活动文件,你会发现你的目录下多了一个.vscode文件,这就是配置文件夹,然后你进入到lauch.json里,把我这一段拷进去:

  • {  
       "version": "0.2.0",  
       "configurations": [  
          {  
             "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  
             "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
             "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
             "program": "${fileDirname}/${fileBasenameNoExtension}",// 将要进行调试的程序的路径  
             "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
             "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
             "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
             "environment": [],  
             "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
             "MIMode": "gdb",  
             "miDebuggerPath": "C:\MinGW\bin\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
             "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
             "setupCommands": [  
             {   
    		      "description": "Enable pretty-printing for gdb",  
                "text": "-enable-pretty-printing",  
                "ignoreFailures": true  
             }  
             ]  
          }  
       ]  
    }
    
    
  • 注意,把miDebuggerPath的内容改成你自己的。

  • 然后再次回到HelloWorld程序,再次点击调试,发现它说找不到任务g++,不慌,点击配置任务,选择C/C++:cpp.exe build active file(第一个),然后你会发现在.vscode文件夹下多了一个tasks.json,进去,把我的这一段拷进去:

  • {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "g++", //这里注意一下,见下文
                "command": "C:\MinGW\bin\g++.exe",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\${fileBasenameNoExtension}.exe",
                    "-ggdb3",   // 生成和调试有关的信息
                    "-Wall",    // 开启额外警告
                    "-static-libgcc",   // 静态链接
                    "-std=c++17",       // 使用c++17标准
                    "-finput-charset=UTF-8",    //输入编译器文本编码 默认为UTF-8
                    "-fexec-charset=GB18030",   //输出exe文件的编码
                    "-D _USE_MATH_DEFINES"
                ],
                "options": {
                    "cwd": "C:\MinGW\bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "presentation": {
                    "echo": true,
                    "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never
                     "focus": false,
                     "panel": "shared" // 不同的文件的编译信息共享一个终端面板
                },
            }
        ]
    }
    
    
    
  • 把command和cwd换成你们自己的路径就好了。

  • 大功告成,接下来打开HelloWorld点击调试就可以运行了!

  • 但我的.vscode下还有一个c_cpp_properties.json文件,这个大家想加就加吧,如果想配置完全跟我一样的话

  • 这个文件要自己建,文件名如上,进入把我这一段复制进去:

  • {
        "configurations": [
            {
                "name": "MinGW64",
                "intelliSenseMode": "gcc-x64",
                "compilerPath": "C:\MinGW\bin\g++.exe",
                "includePath": [
                    "${workspaceFolder}"
                ],
                "cppStandard": "c++17"
            }
        ],
        "version": 4
     }
     
    
  • 将compilerPath换成你自己的。

  • OK,愉快地用VS Code写代码吧!

  • 更新(有朋友反馈了几个问题,我回答一下):

    1. 路径不能有中文

    2. 有些古董MinGw里没有gdb,注意看看自己MinGw文件夹下有没有gdb.exe

    3. 没有配置环境变量

      • 先将自己MinGw里的bin路径拷贝下来,我的是:C:MinGWin

      • 然后右键“计算机”,点击属性,点击高级系统设置,点击环境变量,在用户变量中,找到Path这个变量,(没有就自己建),点击编辑,在最后面加上 ;你MinGw的bin路径,我的成果是这样子的(用记事本打开了方便看):

      • 技术图片

      • 然后在系统变量里找到Path(没有就自己建),同样在结尾加上 ;你MinGw的bin路径。

      • 保存好,退出,再进入VS Code调试,就好了。

  • 各位朋友还碰到什么问题欢迎下方留言

以上是关于VS Code 配置C++ 详解的主要内容,如果未能解决你的问题,请参考以下文章

VS Code配置markdown代码片段

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率

vs-code 配置

VS code自定义用户代码片段snippet

vs code 自定义代码片段

vs code 用户代码片段 html.json