在VSCode中同时配置C和C++环境

1. 安装必要的工具和扩展

安装编译器

  • Windows系统:可以安装MinGW - w64,它是一个支持Windows平台的GCC编译器集合。访问 MinGW - w64官网 下载安装包,按照安装向导进行安装,安装过程中注意选择合适的架构(如x86_64)和线程模型(如posix)。安装完成后,将其 bin 目录(如 C:\mingw64\bin)添加到系统环境变量 PATH 中。
  • Linux系统:大多数Linux发行版默认已经安装了GCC和G++编译器。如果没有安装,可以使用包管理器进行安装。例如,在Ubuntu系统中,打开终端并执行以下命令:
sudo apt update
sudo apt install build-essential
  • macOS系统:可以安装Xcode Command Line Tools,打开终端并执行以下命令:
xcode-select --install

安装VSCode扩展

打开VSCode,在扩展市场中搜索并安装以下扩展:

  • C/C++:由Microsoft提供,为C和C++开发提供语法高亮、智能提示、调试等功能。

2. 配置VSCode工作区

创建工作区文件夹

在本地磁盘上创建一个用于存放C和C++代码的文件夹,例如 C_CPP_Workspace,然后在VSCode中通过 文件 -> 打开文件夹 打开该文件夹。

配置 tasks.json 文件

tasks.json 文件用于定义编译任务。在VSCode中,按下 Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(macOS)打开命令面板,输入 Tasks: Configure Task,选择 Create tasks.json file from template,然后选择 Others。将生成的 tasks.json 文件内容替换为以下代码:

{
"version": "2.0.0",
"tasks": [
{
"label": "Build C",
"type": "shell",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Build C++",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": {
"kind": "build",
"isDefault": false
},
"problemMatcher": [
"$gcc"
]
}
]
}

这段代码定义了两个编译任务:Build C 用于编译C文件,Build C++ 用于编译C++文件。

配置 launch.json 文件

launch.json 文件用于配置调试任务。按下 Ctrl + Shift + D(Windows/Linux)或 Cmd + Shift + D(macOS)打开调试面板,点击齿轮图标选择 C++ (GDB/LLDB),将生成的 launch.json 文件内容替换为以下代码:

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch C",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"preLaunchTask": "Build C",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "Launch C++",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"preLaunchTask": "Build C++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

这段代码定义了两个调试配置:Launch C 用于调试C文件,Launch C++ 用于调试C++文件。在调试之前,会先执行对应的编译任务。

3. 测试配置

创建测试文件

在工作区文件夹中创建一个C文件(例如 test.c)和一个C++文件(例如 test.cpp),并编写简单的代码:

  • test.c
#include <stdio.h>
int main() {
printf("Hello, C!\n");
return 0;
}
  • test.cpp
#include <iostream>
int main() {
std::cout << "Hello, C++!" << std::endl;
return 0;
}

编译和运行

  • 编译C文件:打开 test.c 文件,按下 Ctrl + Shift + B(Windows/Linux)或 Cmd + Shift + B(macOS),选择 Build C 任务进行编译。编译成功后,在终端中输入 ./test 运行程序。
  • 编译C++文件:打开 test.cpp 文件,按下 Ctrl + Shift + B(Windows/Linux)或 Cmd + Shift + B(macOS),选择 Build C++ 任务进行编译。编译成功后,在终端中输入 ./test 运行程序。

调试

  • 调试C文件:打开 test.c 文件,点击调试面板的绿色三角形按钮,选择 Launch C 配置进行调试。
  • 调试C++文件:打开 test.cpp 文件,点击调试面板的绿色三角形按钮,选择 Launch C++ 配置进行调试。

为什么有时候需要指定 compilerPath

通常情况下,如果编译器已经正确安装并且其所在路径已经添加到系统的环境变量中,VSCode 的 C/C++ 扩展能够自动找到编译器,此时不指定 compilerPath 也可以正常工作。

然而,当编译器没有添加到环境变量,或者系统中有多个版本的编译器,你想明确指定使用某一个时,就需要在配置文件中手动指定 compilerPath

具体配置方法

配置 c_cpp_properties.json

要配置 compilerPath,需要创建或编辑 c_cpp_properties.json 文件。你可以通过以下方式生成该文件:
在 VSCode 中,按下 Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(macOS)打开命令面板,输入 C/C++: Edit Configurations (UI) 并回车,之后点击界面右上角的“打开JSON文件”按钮,就会生成 c_cpp_properties.json 文件。

以下是一个包含 compilerPath 配置的示例:

{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/mingw64/bin/gcc.exe", // Windows 下 MinGW - w64 的 GCC 路径
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}

对于不同的操作系统,compilerPath 的配置会有所不同:

  • Windows:如果你使用的是 MinGW - w64,路径可能类似于 "C:/mingw64/bin/gcc.exe"(C 编译器)和 "C:/mingw64/bin/g++.exe"(C++ 编译器)。
  • Linux:一般情况下,GCC 和 G++ 已经在系统的环境变量中,compilerPath 可以设置为 "/usr/bin/gcc"(C 编译器)和 "/usr/bin/g++"(C++ 编译器)。
  • macOS:通常可以设置为 "/usr/bin/clang"(C 编译器)和 "/usr/bin/clang++"(C++ 编译器)。

注意事项

  • 当指定了 compilerPath 后,VSCode 的 C/C++ 扩展会使用你指定的编译器进行智能感知和代码分析。
  • 如果你修改了 compilerPath,可能需要重新加载 VSCode 或者重新打开项目,以使配置生效。
posted @   学^以致用  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示