要么改变世界,要么适应世界

vs code(Windows)配置C环境

2020-03-07 08:03:00
279
目录

前言

在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code。 它是微软出的一款轻量级代码编辑器,免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。 无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服。 本篇文章主要是介绍如何配置Windows系统下C环境的配置,C++的配置类似,这里就不再重复。

1.下载vs code

这里给出官网链接

2.下载mingw

这里给出官网链接,如果官网下载太慢,也可以点此下载,然后解压到自己喜欢的地方,但最好路径中不要含有中文。

3.下载插件

  • cpptools

    下载不了的可以从这里下载离线包,在vs code中选择“从VSIX安装”即可

  • Chinese (Simplified) Language(可选)

  • Bracket Pair Colorizer(可选)

4.配置环境

  1. 新建测试文件test.c

    /*
     * @Description: 
     * @Author: Yale_Xin
     * @Date: 2020-03-07 10:31:47
     * @LastEditTime: 2020-03-07 10:31:47
     * @LastEditors: Yale_Xin
     */
    #include<stdio.h>
    int main(){
        printf("hello world");
        return 0;
    }
    
  2. 配置launch.json

    编写完毕上面的代码,然后按下F5,弹出选择环境

这里选择第一个,然后选择默认配置

系统就会自动为我们自动生成launch.json,接着把下面的代码粘贴覆盖进去即可:

{
 "version": "0.2.0",
 "configurations": [
     {
         "name": "C++ Launch (GDB)",                 // 配置名称,将会在启动配置的下拉菜单中显示
         "type": "cppdbg",                           // 配置类型,这里只能为cppdbg
         "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
         "launchOptionType": "Local",                // 调试器启动类型,这里只能为Local
         "targetArchitecture": "x86",                // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
         "program":   "${fileDirname}/${fileBasenameNoExtension}.exe",                   // 将要进行调试的程序的路径
         "miDebuggerPath":"D:/mingw32/bin/gdb.exe", // ******************miDebugger的路径,注意这里要与MinGw的路径对应
         "args": [],     // 程序调试时传递给程序的命令行参数,一般设为空即可
         "stopAtEntry": false,                       // 设为true时程序将暂停在程序入口处,一般设置为false
         "cwd": "${workspaceRoot}",                  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
         "externalConsole": true,                    // 调试时是否显示控制台窗口,一般设置为true显示控制台
         "preLaunchTask": "gcc"                    // *********调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
     }
 ]
}

  1. 配置c_cpp_properties.json 输入以下内容:
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\mingw32\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x86"
        }
    ],
    "version": 4
}

接着将miDebuggerPath的值改为你的MinGw路径。

  1. 配置tasks.json

    回到test.c,按下F5,你会发现还是不能编译运行我们的程序,别急,我们还需要配置tasks.json,

    点击弹出来的信息框中的“配置任务”

选择“使用模板”

选择第一个

然后在生成的tasks中粘贴覆盖下面的代码即可

{
 "version": "2.0.0",
 "tasks": [
     {
         "label": "gcc",
         "command": "gcc",
         "args": [
             "${file}",
             "-o",
             "${fileDirname}/${fileBasenameNoExtension}.exe",
             "-g",
         ],
         "type": "shell",
         "group": {
             "kind": "build",
             "isDefault": true
         },
         "presentation": {
             "echo": true,
             "reveal": "always",
             "focus": false,
             "panel": "shared"
         }
     },
     {
         "type": "shell",
         "label": "gcc.exe build active file",
         "command": "D:\\mingw32\\bin\\gcc.exe",//**********
         "args": [
             "-g",
             "${file}",
             "-o",
             "${fileDirname}\\${fileBasenameNoExtension}.exe"
         ],
         "options": {
             "cwd": "D:\\mingw32\\bin"
         },
         "problemMatcher": [
             "$gcc"
         ],
         "group": "build"
     }
 ]
}

接着将代码中注释部分相应地改为你的路径即可。

5.成功!

然后你再测试你的test.c,发现可以成功了,但是命令窗口一闪而过,解决的办法是在return语句之前加

system("pause");

我更推荐使用断点功能来完成

偷偷告诉你,使用上述插件调试C++程序的时候,假如函数的参数中,整型数组或者实型数组是使用指针传递的,可以使用

*numPtr@10

查看以numPtr为起始地址的10个元素的值 最后这三个文件应该位于当前项目下的.vscode文件夹下,如果上面配置好了仍然跑不起来程序,可以看看是不是文件路径不对

历史评论
开始评论