美文网首页
使用VS Code搭建C开发环境

使用VS Code搭建C开发环境

作者: xdqkid | 来源:发表于2017-08-04 18:46 被阅读0次

    今年准备考研,所以最近在稍微复习数据结构,所以又要开始写C啦

    在被JetBrains的IDE惯坏了之后,除了Clion外别的IDE的UI都难以接受。Clion适合写项目,而我需要很多写简单的C代码,这个时候用起来Clion就感觉不是那么友好了。在一番折腾后,我选择用VS Code编写C语言代码。

    使用VS Code的优点有如下几条:

    1. 单个C代码不需要建项目便可以运行。
    2. 调试极为方便,变量信息一览无余,即便是单个C文件也是可以调试的。
    3. 有代码高亮、补全功能
    4. 这个很重要,界面很好看
    5. 安装包只有60M不到,体积小
    vs1.PNG

    以上1~3条,对于初学C的程序员来说简直是福音,因为DEV、CB等等,谁用谁知道(逃

    环境搭建

    (一)基本运行环境搭建

    由于VS Code本身只是编译器,所以搭建开发环境前,需要VS Code需要安装C的插件C/C++ for Visual Studio Code(在VSCode中按Ctrl + Shift + X,搜索安装一下即可),并且下载好MinGW。MinGW我是放在C盘根目录下的 C:\MinGW,配置launch.json时注意与本机MinGw的路径对应

    首先需要在VS Code中打开一个文件夹作为C的运行文件夹,编写好C程序好,按F5,提示选择环境选C++gdb会生成".vscode"的文件夹,并弹出launch.json的文件,用以下内容代替。

    {
       "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch", 
                "type": "cppdbg", 
                "request": "launch",
                "targetArchitecture": "x86",
                "program": "${file}.exe", 
                "miDebuggerPath": "c:\\MinGW\\bin\\gdb.exe", // 注意这里要与本机MinGw的路径对应
                "args": [], 
                "stopAtEntry": false, 
                "cwd": "${workspaceRoot}",
                "externalConsole": true, 
                "preLaunchTask": "g++"
            }
        ]
    }
    

    然后,在C程序界面按F5,报错提示,选择配置任务运行程序会在".vscode"文件夹自动生成tasks.json文件,并用以下内容代替代替原有内容。

    {
        "version": "0.1.0",
        "command": "g++",
        "isShellCommand": true,
        "showOutput": "always",
        "args": ["-g","${file}","-o","${file}.exe"],
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
    

    接下来再按F5,便可以运行啦,是不是很舒服~

    (二)显示控制台内容&&中文乱码

    通过上面简单的步骤便可以搭建C的运行环境了,美中不足的是每次都需要自己来手动IO操作 || 来暂停控制台查看程序运行结果,另外中文还是乱码。

    这里吐槽一下M$的CMD真的丑啊,用的还不是UTF-8编码。

    解决的思路就是在程序运行前将控制台切换到UTF-8编码,程序运行后暂停控制台。

    这里简单带过一下C的一些知识。一般程序从main()函数开始执行到main()结束。需要注意的是,在main()函数结束return 0之前,还是可以执行一些操作的。另外通过GCC我们可以添加构造函数和解析函数,通过这些工具,就可以解决问题了。

    1. 在".vscode"文件夹下新建head.h头文件,并填下以下代码。
    #include <stdlib.h>
    static void before(void) __attribute__((constructor));
    static void after(void) __attribute__((destructor));
    static void middle(void);
    static void before()
    {
        system("chcp 65001"); //切换字符集
        system("cls");
    }
    static void after()
    {
        system("echo.");
        system("pause");
    }
    
    1. 修改tasks.json,用以下内容替换。
    {
        "version": "0.1.0",
        "command": "g++",
        "isShellCommand": true,
        "showOutput": "always",
        "args": ["-g","${file}","-include","${workspaceRoot}\\.vscode\\head.h","-o","${file}.exe"], //修改的是这一行,添加了-include命令,预编译头文件
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
    

    通过上面的简单步骤,很快就可以搭建起C的开发环境了,还能学到C的不少知识,是不是觉得很舒服呢?

    相关文章

      网友评论

          本文标题:使用VS Code搭建C开发环境

          本文链接:https://www.haomeiwen.com/subject/ixjblxtx.html