用vscode还是vs?

看了网上一大圈评论,vs虽然及其耗费硬盘空间且打开很慢,但是高度集成的环境很省心,但是我觉得一开始可能还是用vscode了解环境配置,把坑踩了以后更好排除问题。用vscode开发c++,你需要先学gcc, makefile, cmake, c++的编译过程,如何链接库,如何引入头文件,以及如何配置vscode中的launch.json, task.json和c_cpp_properties.json。这些都弄完可能需要好几天,可是你得踩完这些坑,再去用IDE,日后才会省心。
接下来开始配置vscode
先下载vscode,分为几个版本。默认是user版本。我安装的system版本

安装MinGW-w64

下载安装MinGW-w64
在这里插入图片描述
posix参考1参考2
各种版本区别 参考

一种是下载安装包,一种是离线压缩文件

离线安装

我选择的是压缩文件,就是图里离线seh那个,具体操作为:
选择合适位置解压至路径中没有空格的文件夹(换句话说,不能是 C:/Program Files/ 下的默认位置,可以是 C:\mingw-w64)

在线安装

在这里插入图片描述

切记,上面threads 选择和posix 以及exception选择seh要选对。

  1. 添加环境变量
    将 mingw64 下的 bin 文件夹添加至 path
  2. 检查
    执行命令
    g++ --version
    gdb --version

安装C/C++扩展

打开vscode,安装c/c++扩展即可。可以在项目下新建一个.cpp文件,自己会弹出来提示安装拓展。

配置vscode的C/C++环境

我们总共需要在 .vscode 文件夹下创建如下3个文件:

  • tasks.json (生成任务。告诉 VSCode 如何生成(编译)程序,该任务将调用 g++ 编译器以基于源代码创建可执行文件)
  • launch.json (调试器设置)
  • c_cpp_properties.json (编译器路径和 IntelliSense 设置)

在项目下建立cpp文件helloworld.cpp,示例内容:

#include <iostream>
using namespace std;
 
// main() 是程序开始执行的地方
 
int main()
{
   cout << "Hello World" << "\n";
   cout << "for vscode config";
   return 0;
}

1.配置 tasks.json,用于编译

菜单 > 终端 > 配置默认生成任务
下拉列表中,列出了 C++ 编译器的各种预定义构建任务。选择 C/C++: g++.exe build active file。若是 C,请选择 C/C++: gcc.exe build active file,C 无法使用 g++.exe

回到 helloworld.cpp,按 Ctrl + Shift + B 或从“ 终端”菜单中选择“ 运行生成任务”
成功项目下生成与 helloworld.cpp同名的 helloworld.exe文件

1.【Ctrl】+【` 】 :打开默认终端,输入.\helloworld.exe 运行
在这里插入图片描述

2.配置 launch.json,用于调试

按 F5 或 菜单 > 调试 > 添加配置 > 选择“ C ++(GDB / LLDB)”

将看到各种预定义调试配置的下拉列表,选择 g++.exe build and debug active file

VSCode 将会创建 launch.json 文件并打开

配置 c_cpp_properties.json,进一步配置 C/C++ 扩展

1.接下来配置编译器路径,按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置。这里配置两个选项: - 编译器路径:c:/mingw/bin/g++.exe

这里的路径根据大家自己安装的Mingw编译器位置和配置的环境变量位置所决定。

该路径自动填充,首先寻找MSVC compiler,这个编译器是Windows的Visual Studio,如果安装了Visual Studio,则可以选择这个。其次寻找g++ on Windows Subsystem for Linux (WSL),最后寻找g++ on Mingw-w64
如果安装了 Visual Studio 或 WSL,插件可能会自己定位到vs的编译器路径,则可能需要更改 compilerPath
2.IntelliSense 模式:gcc-x64

以上三项操作完生成了对应的文件如下图:
在这里插入图片描述

参考:

https://zhuanlan.zhihu.com/p/105135431
https://zhuanlan.zhihu.com/p/87864677

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐