vscode配置运行完整C代码项目

配置初衷

作为vscode重度使用患者,笔者希望vsocde可以大一统所有代码环境hhh。。。

对于经典的C/C++集成IDE,例如visual studio等,可以一键配置运行环境,但是集成度太高,整个运行的环境像是黑盒,也不利于文件的灵活配置;使用vscode对代码的操作就像搭积木一样,笔者认为这样可以让工程师对于代码和项目的掌控度更高。

运行单个C语言文件

运行单个C文件配置比较简单,需要在vscode的插件商店下载以下扩展插件:

具体的步骤可以参考以下网址进行配置:集成开发环境搭建

单个C文件的配置不属于本篇文章的重点,这里不做详细介绍。

完整C代码项目配置

创建一个简单的C代码项目,文件夹结构如下:

0715_project
|____app
|    |____main.c
|
|____src
|    |____func.c
|
|____inc
|    |____func.h
|
|____bin

其中,0715_project是存放整个C代码项目的文件夹,main是存放主函数的文件夹,src是存放函数源文件的文件夹,inc是存放函数头文件的文件夹,bin是存放C项目生成的.exe文件的文件夹,在代码未运行的时候,这个文件夹为空。

此处需要注意的是,由于.vscode配置文件的默认生成路径是在当前vscode的打开路径下面,vscode的打开路径必须是0715_project,否则当json配置文件中的${fileDirname}会影响系统找到指定要编译的C代码文件。

这里的func文件实现两个简单的功能,分别是字符串打印和uint8类型数据的加法运算,各文件的代码如下:

func.h文件

# ifndef __FUNC__
# define __FUNC__
# include <stdio.h>
# include <stdint.h>

void say_hello(void);
uint8_t add(uint8_t a, uint8_t b);

#endif

func.c文件

# include <stdio.h>
# include "../inc/func.h"

void say_hello(void)
{
    printf("hello!\n");
    printf("vscode can run total C peoject!\n");

}

uint8_t add(uint8_t a, uint8_t b)
{
    return a+b;
}

main.c文件

# include <stdio.h>
#include "../inc/func.h"

int main(void)
{

    say_hello();

    uint8_t a = 12;
    uint8_t b = 23;
    uint8_t res = add(a,b);
    printf("%d+%d=%d",a,b,res);

    return 0;
}

按照文件路径保存之后,对主函数main.c进行编译

第一次运行会报出错误,不用担心,点击debug anyway后打开vsocde生成的配置文件.vscode,首先是launch.json,把以下内容复制过去

{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${cwd}//bin//${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc.exe build active file"
        }
    ]
}

其中需要更改的是字段“miDebuggerPath”对应的值,替换为本地的MinGW的路径,一般是在保存路径的bin文件夹中的gdb.exe。

task.json文件更改如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "D:\\x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                // "${file}",
                "${cwd}\\src\\*.c",
                "${cwd}\\app\\*.c",
                "-o",
                // "${fileDirname}\\${fileBasenameNoExtension}.exe"
                "${cwd}//bin//${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

重点需要关注的信息如下:

标号1更改为MinGW的gcc.exe文件路径,一般也是在安装路径的bin文件夹下;

标号2是需要编译的源文件,其中${cwd}表示json文件所在的文件路径,不包含本身的文件名,${fileDirname}指当前运行C文件所在目录路径,*.c表示指定文件夹下的所有.c文件;

标号3表示最终生成的exe文件存放的位置;

把一切配置好后 ,在点击编译运行,即可完成编译多个C语言文件的功能。

从结果来看,vsocde可以完成在主函数定义的任务,即打印指定的字符串和进行uint8_t类型的加法运算。

<think>嗯,用户问的是如何在VSCode配置编译和运行C语言的环境。我需要先回想一下相关的步骤,然后结合站内的引用资料来组织回答。 首先,用户可能需要安装MinGW-w64作为编译器。根据引用[1]、[2]、[4],都需要安装这个环境。然后配置环境变量,这样系统才能找到gcc命令。接下来是在VSCode中安装必要的插件,比如C/C++扩展包和Code Runner,这样可以直接运行代码。还要注意工作区的设置,特别是.vscode文件夹里的配置文件,比如tasks.json和launch.json,这些对于编译和调试很重要。 用户可能遇到的常见问题包括路径有中文导致调试失败,或者插件安装不全。引用[4]提到路径中的中文会影响调试,这点需要提醒用户。另外,引用[3]提到新手可能在安装配置过程中遇到困难,所以步骤要详细,可能需要分步说明。 还要确保回答结构清晰,分步骤讲解,每个步骤都引用对应的资料。比如安装MinGW的部分引用[1]和[4],安装插件引用[1]和[2],配置环境变量引用[4]。同时,生成的相关问题要涵盖用户可能进一步想了解的内容,比如环境变量配置、调试问题、插件对比、中文路径问题等。 最后,检查是否所有LaTeX格式都正确,行内公式用$...$,独立公式用$$...$$,并且没有使用任何markdown格式。确保语言口语化,避免使用专业术语过多,让新手容易理解。</think>### 如何在VSCode配置C语言编译和运行环境 以下是分步配置教程,结合多个参考教程整理[^1][^2][^4]: #### **1. 安装MinGW-w64编译器** - **下载地址**:从[MinGW-w64官网](https://sourceforge.net/projects/mingw-w64/files/)选择`x86_64-posix-seh`版本。 - **安装步骤**:解压到无中文/空格的路径(如`C:\mingw64`),将`bin`目录(如`C:\mingw64\bin`)添加到系统环境变量`PATH`。 - **验证安装**:在终端输入`gcc --version`,若显示版本号则成功。 #### **2. 安装VSCode及插件** - **VSCode下载**:从[官网](https://code.visualstudio.com/)安装,安装时勾选“添加到PATH”。 - **必备插件**: - `C/C++ Extension Pack`(提供代码提示和调试支持) - `Code Runner`(一键运行代码) #### **3. 配置工作区** - **新建文件夹**:创建项目文件夹(如`C:\Projects\C`),在VSCode中通过`文件 > 打开文件夹`加载。 - **生成配置文件**: - 按`Ctrl+Shift+P`,输入`C/C++: Edit Configurations (UI)`,设置编译器路径为`gcc.exe`。 - 在`.vscode`文件夹中自动生成`tasks.json`(编译任务)和`launch.json`(调试配置)。 #### **4. 编写并运行代码** - **示例代码**: ```c #include <stdio.h> int main() { printf("Hello, C!\n"); return 0; } ``` - **运行方式**: - 使用`Code Runner`插件:右键代码文件选择`Run Code`(快捷执行)。 - 调试模式:按`F5`启动调试,需确保路径无中文字符。 #### **5. 常见问题** - **调试报错**:若路径含中文,会触发`launch.json`配置异常,需修改路径为全英文。 - **环境变量失效**:重启VSCode或终端使环境变量生效。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值