vs code C语言环境搭建

最近重温C语言,因为很多练习只是小程序,并不需要Clion和Codeblocks这样工程导向的编译软件,所以下载了vs code,并试图搜索相应的环境,在此过程中发现,网上许多vs code 的c/c++环境配置都是以c++为目标的,不能直接编译C语言,在参考了许多前辈的文章后,才有了本文,如有不妥之处,还望各位前辈海涵。


0.参考资料

https://blog.csdn.net/bat67/article/details/76095813

https://hk.saowen.com/a/9598540e9e5ae7838bdd78c4cd6a19ffb167f374c811e92fdf0e595b71ad13db

1.安装编译器

https://sourceforge.net/projects/mingw/

 

2.安装VS code

https://code.visualstudio.com/Download 

3.安装插件

4.配置编译文件

launch.json

请注意,这一条请务必填写你自己的路径,让编译器找到gdb.exe。
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
 1 {
 2     // 使用 IntelliSense 了解相关属性。 
 3     // 悬停以查看现有属性的描述。
 4     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 5         "version": "0.2.0",  
 6         "configurations": [  
 7             {  
 8                 "name": "C Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示  
 9                 "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
10                 "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)
11                 //"launchOptionType": "Local", // 調試器啟動類型,這裏只能為Local
12                 "targetArchitecture": "x86", // 生成目標架構,一般為x86或x64
13     
14                 "program": "${cwd}\\${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
15                 "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
16                 "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
17                 "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录  
18                 "environment": [],  
19                 "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
20                 "MIMode": "gdb",  
21     
22                 "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
23                 
24                 "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
25                 "setupCommands": [  
26                     {
27                         "description": "Enable pretty-printing for gdb",  
28                         "text": "-enable-pretty-printing",  
29                         "ignoreFailures": true  
30                     }  
31                 ]  
32             }  
33         ]  
34     }

 

 

tasks.json

{
    "version": "2.0.0",
    "command": "gcc",  // 編譯C++用g++,用MinGW和clang的自行修改。
    "args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"],  // 編譯命令參數,C++可用-std=c++14
    "problemMatcher": {
        "owner": "c",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        } 
    }
}

 

 

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\MinGW\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

 

settings.json(该项是用于无缝切换C语言和c++的,但是博主现在没有搞懂,而且直接照搬前辈的配置会导致报错,暂时不建议添加此配置文件)

// 將設置放入此文檔中以覆蓋默認值和用户設置。
{
    "files.defaultLanguage": "c",
    "code-runner.runInTerminal": false,
    "code-runner.executorMap": {
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt",
    "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"
    }
}

 

 

5.大功告成

posted @ 2018-11-02 15:47  蓝色微风  阅读(381)  评论(0编辑  收藏  举报