• Visual Studio Code 配置 C/C++ 环境


    一、为什么要用VSCode

      目前主流,社区活跃,插件众多

    二、windows下步骤简介如下

    1. 下载 Visual Studio Code(简称:VSCode)
    2. VSCode 装 Cpp tool 包
    3. 下载 MinGW
    4. 配置环境变量
    5. VSCode 配置C/C++环境(修改配置文件)

    二、下面进行详细介绍

    • 下载 Visual Studio Code(简称:VSCode)
      • 下载链接:https://code.visualstudio.com/Download
    • VSCode 装 Cpp tool 包
      • 需要安装的扩展:

        • C/C++(就是有些教程里的cpptools)
        • Code Runner:右键即可编译运行单文件,很方便

        其他可选扩展:

        • Bracket Pair Colorizer:彩虹花括号
        • Include Autocomplete:提供头文件名字的补全
        • C/C++ Snippets:Snippets即重用代码块,效果自己百度;这个扩展安装量虽高,不过个人感觉用处实在不大,你也可以选择其他的Snippets扩展甚至自己定义
        • One Dark Pro:大概是VS Code安装量最高的主题
        • vscode-clangd:这个和Adapter二选一,出得比Adapter晚,下载量也低,但却是llvm官方出的。出现问题时可以换着试试

        不建议/不需要装的扩展:

        • GBKtoUTF8:把GBK编码的文档转换成UTF8编码的。此扩展可能有严重的bug,参见第6点,总之不建议装
        • C++ Intellisense:用的是gtags,本文第一个版本的选择。效果非常非常一般。
        • C/C++ Advanced Lint:即cppflylint,本文第二个版本的选择。会产生许多奇怪的警告。总之“过时”了
        • Clang-Format:Adapter包含了此功能
    • 下载 MinGW
      • 下载地址:https://sourceforge.net/projects/mingw-w64/files/
    • 配置环境变量
      • 验证是否添加成功:win+r,打开:cmd
      • 如果失败了会提示: 'g++' 不是内部或外部命令....

        • 这时候需要检查环境变量是否正确配置,比如是否是配置成了系统变量,而实际使用又是另一个用户..
    • VSCode 配置C/C++环境(修改配置文件)
      • 先建一个文件测试下:
      • 建配置文件夹
      • 编辑 launch.json 配置文件

      • {
            "version": "0.2.0",
            "configurations": [
                {
                    "name": "gcc.exe build and debug active file",
                    "type": "cppdbg",
                    "request": "launch",
                    "program": "${fileDirname}\${fileBasenameNoExtension}.exe",
                    "args": [],
                    "stopAtEntry": false,
                    "cwd": "${workspaceFolder}",
                    "environment": [],
                    "externalConsole": true,      //修改此项,让其弹出终端
                    "MIMode": "gdb",
                    "miDebuggerPath": "D:\Programs\mingw64\bin\gdb.exe",
                    "setupCommands": [
                        {
                            "description": "Enable pretty-printing for gdb",
                            "text": "-enable-pretty-printing",
                            "ignoreFailures": true
                        }
                    ],
                    "preLaunchTask": "task gcc" //修改此项
                }
            ]
        } 
      • 编辑 tasks.json 文件 
      • {
            "version": "2.0.0",
            "tasks": [
                {
                    "type": "shell",
                    "label": "task gcc",    //修改此项
                    "command": "D:\Programs\mingw64\bin\g++.exe",
                    "args": [
                        "-g",
                        "${file}",
                        "-o",
                        "${fileDirname}\${fileBasenameNoExtension}.exe"
                    ],
                    "options": {
                        "cwd": "D:\Programs\mingw64\bin"
                    },
                    "problemMatcher": [
                        "$gcc"
                    ],
                    "group": "build"
                }
            ],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "new", //这里shared表示共享,改成new之后每个进程创建新的端口
                "showReuseMessage": true,
                "clear": false
            }
        }
        
    • 结果演示

    注意:如添加 #include <stdio.h>后,提示检测到#include错误,请更新IncludePath.已为此翻译单元xxx禁用波形曲线请按如下方式解决:

    win+r 输入 cmd 打开命令行:

    输入(注意空格):gcc -v -E -x c -

     

    再输入:gcc -v -E -x c++ -

    保存路径,注意去重:

      

       进入VSCode,键盘按下“Shift+Ctrl+p” 输入: >C/C++:Edit,选择UI界面。

      

      将路径复制到如下图位置,然后 ctrl+s 保存

      

      

      这时候,.vscode文件里会自动创建一个json文件,修改后,重启VScode,就不会报错了

      

       执行后,控制台,中文乱码问题处理,将编码保存改为GB 2312

    参考:

    https://www.cnblogs.com/bpf-1024/p/11597000.html

    https://www.cnblogs.com/lsgxeva/p/11115650.html

    https://blog.csdn.net/TalesOV/article/details/104435642?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1 

  • 相关阅读:
    Javascript知识汇总------手写图片上传插件
    Javascript知识汇总------面向对象手写弹窗插件
    Javascript知识汇总------面向对象手写拖拽插件
    Javascript知识汇总------获取构造函数constructor名称和一些字符串处理方法
    博客搬家啦
    NOI 2015 荷马史诗【BZOJ 4198】k叉Huffman树
    BZOJ 1044 木棍分割 解题报告(二分+DP)
    BZOJ 1051 最受欢迎的牛 解题报告
    BZOJ 2467 解题报告
    BZOJ 4619 Swap Space 解题报告
  • 原文地址:https://www.cnblogs.com/zjx2711904647/p/13583054.html
Copyright © 2020-2023  润新知