vscode的c环境配置

  • 下载vscode
    • 在拓展里install c/c++插件和code runner插件
  • 下载MINGW64编译环境 (若已安装好DEVC++,可直接在此安装文件夹里找到MINGW64)
  • 配置MINGW64环境变量
    • path—— bin 在环境变量path里添加,“D:/Dev-Cpp/MinGW64/bin/”
    • INCLUDE—— include查看系统变量里是否存在INCLUDE若无,新建INCLUDE,并添加"D:\Dev-Cpp\MinGW64\include"
  • 用vscode打开一个文件夹
    • 在此文件夹下,新建一个文件夹名为 .vscode
    • 在 .vscode文件夹下新建3个文件
      • launch.json
      • tasks.json
      • settings.json
    • 按ctrl+shift+p 选择c/c++编译配置,c_cpp_properties.json
    • launch.json 修改miDebugger的路径,改为\杠
    {
      "version": "0.2.0",  
      "configurations": [  
          {  
              "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
              "type": "cppdbg",       // 配置类型,这里只能为cppdbg
              "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
              "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
              "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
              "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
              "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
              "environment": [],  
              "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
              "MIMode": "gdb",  
              "miDebuggerPath": "D:\\Dev-Cpp\\MinGW64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
              "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
              "setupCommands": [  
                  {   
              "description": "Enable pretty-printing for gdb",  
                      "text": "-enable-pretty-printing",  
                      "ignoreFailures": true  
                  }  
              ]  
          }  
      ]  
    

}

  • tasks.json
 {
    // 有关 tasks.json 格式的参考文档:https://go.microsoft.com/fwlink/?LinkId=733558 。
    "version": "2.0.0",
    "tasks": [{
        "label": "gcc",
        "type": "shell", // { shell | process }
        // 适用于 Windows 的配置:
        "windows": {
            "command": "D:\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
            "args": [
                "-g",
                "\"${file}\"",
                "-o",
                "\"${fileDirname}\\${fileBasenameNoExtension}.exe\""
                // 设置编译后的可执行文件的字符集为 GB2312:
                // "-fexec-charset", "GB2312"
                // 直接设置命令行字符集为 utf-8:
                // chcp 65001
            ]
        },
        // 定义此任务属于的执行组:
        "group": {
            "kind": "build", // { build | test }
            "isDefault": true // { true | false }
        },
        // 定义如何在用户界面中处理任务输出:
        "presentation": {
            // 控制是否显示运行此任务的面板。默认值为 "always":
            // - always:    总是在此任务执行时显示终端。
            // - never:     不要在此任务执行时显示终端。
            // - silent:    仅在任务没有关联问题匹配程序且在执行时发生错误时显示终端
            "reveal": "silent",
            // 控制面板是否获取焦点。默认值为 "false":
            "focus": false,
            // 控制是否将执行的命令显示到面板中。默认值为“true”:
            "echo": false,
            // 控制是否在任务间共享面板。同一个任务使用相同面板还是每次运行时新创建一个面板:
            // - shared:     终端被共享,其他任务运行的输出被添加到同一个终端。
            // - dedicated:  执行同一个任务,则使用同一个终端,执行不同任务,则使用不同终端。
            // - new:        任务的每次执行都使用一个新的终端。
            "panel": "new"
        },
        // 使用问题匹配器处理任务输出:
        "problemMatcher": {
            // 代码内问题的所有者为 cpp 语言服务。
            "owner": "cpp",
            // 定义应如何解释问题面板中报告的文件名
            "fileLocation": [
                "relative",
                "\\"
            ],
            // 在输出中匹配问题的实际模式。
            "pattern": {
                // The regular expression.
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                // 第一个匹配组匹配文件的相对文件名:
                "file": 1,
                // 第二个匹配组匹配问题出现的行:
                "line": 2,
                // 第三个匹配组匹配问题出现的列:
                "column": 3,
                // 第四个匹配组匹配问题的严重性,如果忽略,所有问题都被捕获为错误:
                "severity": 4,
                // 第五个匹配组匹配消息:
                "message": 5
            }
        }
    }]
}
  • settings.json
{
    "files.associations": {
        "tidl_alg_int.h": "c",
        "limits": "c"
    }
}
  • c_cpp_properties.json 修改includePath和browers部分
    在cmd中输入 gcc -v -E -x c++ -
    将出现的类似于includePath和browers部分的复制替换
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/x86_64-w64-mingw32",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/backward",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../include",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include-fixed",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/include"
                
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                "${workspaceRoot}",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/x86_64-w64-mingw32",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/backward",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../include",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/include-fixed",
                "D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}
  • 在与.vscode并列的路径下,新建.c结尾的文件,即可运行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值