下面是年IEEE(电气电子工程师学会)根据会员情况得到的计算机语言综合影响力排名,可以看到C++依旧很火。vscode是轻量级的编辑器,可以根据需要安装插件,极其好用。这次分享下如何在vscode上配置c++的环境和安装MarsCode代码助手。
图1 2024编程语言热度排名
vscode配置c++运行环境
过程
长话短说,一共三步,分别是安装配置MSYS2、配置环境变量和配置vscode。
-
安装配置
MSYS2MSYS2是一组工具和库,为您提供一个易于使用的环境来构建、安装和运行原生Windows软件。从MSYS2页面可以找到mysy2-x86_64-20241116.exe,下载到本地,右击管理员方式运行,如图2所示,默认安装路径。图2 MSYS2配置安装路径
安装完后,
MSYS2会自动打开一个UCRT64(通用C运行时的64位版本)环境的终端,如果没有自动打开,你就去C:\msys64(默认安装路径)下找ucrt64.exe. 接着,在该环境中,输入如下命令,该命令自动会安装c、c++编译器和debug器等工具。pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain出现图3内容,直接
Enter,图3 配置ucrt64环境
-
配置环境变量
通俗讲,环境变量就是系统中存储信息的变量,以"键-值"对形式存在,其中"键"对应变量名,"值"对应信息。
环境变量的好处:
-
提供系统配置信息
-
协助程序定位资源
-
传递参数给程序
-
管理工作环境等
下面我们就将
C:\msys64\ucrt64\bin添加到环境变量path中,从而你可以在控制台直接使用gcc,g++和gdb工具。右击
我的电脑,点击属性。图4 添加环境变量Step 1
在
关于页面最下方有高级系统设置。图5 添加环境变量Step2
在
系统设置页面点击环境变量。图6 添加环境变量Step3
在
环境变量页面的Administrator的用户变量找到path变量,图7 添加环境变量Step4
双击
path变量后,点击新建,粘贴ucrt64的bin目录,点击确定。图8 添加环境变量Step5
下面,我们检查下环境变量是否配置成功,是否可以直接用
cmd窗口调用。我们打开cmd窗口,再窗口中分别输入g++ -v,gcc -v,和gdb -v命令。如果输出了相应的版本信息,则说明环境变量配置成功了。图9 检查ucrt64的配置
-
-
配置
vscode打开
vscode新建一个cpp文件,点击右上角三角下拉框,点击Run C/C++ File.图10 配置编译环境Step1
选择
C/C++: g++.exe build and debug active file ... Delected Task (compiler: C:\msys64\ucrt64\bin\g++.exe)选项。图11 配置编译环境Step2
我们发现项目根目录下出现了
.vscode文件夹,里面有tasks.json文件,里面配置了项目的基本信息,变量command对应的是编译器的路径.图12 程序运行结果
如果我们想让程序结果输出在一个新的弹出窗口中而不是出现在
TERMINAL中,可以通过debug配置实现。点击图10中三角下拉框右侧的齿轮,就可以添加debug设置,在图13弹出窗口中选择C/C++: g++.exe build and debug active file. 我们发现项目根目录.vscode中出现了launch.json文件,双击打开,修改里面externalConsole的值为true,这样就成功设置了程序结果显示方式为弹出控制台方式。图13 设置程序结果显示方式
按快捷键
ctrl+f5,我们可以快速执行程序。这次,程序结果就输出在弹出的命令行中了。图14 程序运行结果
最后,通过命令面板
ctrl+shift+p的C/C++: Edit Configurations (UI)命令,我们可以设置c++标准等。
注意
-
安装
MSYS2的路径最好全是字母! 否则,vscode连接编译环境后,可能就会出现如图15的内容。图15 vscode运行程序乱码现象
MarsCode AI
MarsCode AI 是字节开发的一款人工智能相关的工具。它可能在代码生成、代码辅助编程等领域发挥作用,帮助开发人员更高效地进行软件开发工作。
通过ctrl+shift+x进入vscode拓展应用界面,输入MarsCode可以进行安装。
安装成功后,如图16可见,当我们光标移动到一行开始,它就自动提示整行的内容,通过Tab键就可以将它提示的代码智能补全。
图16 MarsCode代码智能补全
参考
[1] Get Started with C++ and MinGW-w64 in Visual Studio Code
[2] MSYS2
[3] MarsCode AI