请不要转载,欢迎点赞,收藏使用。
主要讲如何在vscode上实现编译/运行/调试C/C++,如果是初学者,就请完全按照文章的步骤进行。
1.请在VS Code官网下载安装好visual stdio code,在安装时,勾选上所有选项。
VS Code官网:https://code.visualstudio.com
![9580a6a84330fe9ccd3207deb8232966.png](https://i-blog.csdnimg.cn/blog_migrate/ec0ddbb53b4ad859a0981e9616a6e9cb.png)
勾选后在文件和文件夹的右键菜单中会多出 Open with Code
这个选项,也就是用vscode打开当前文件/文件夹。
![210dac0336b906aaeea3ef106b9a4fe7.png](https://i-blog.csdnimg.cn/blog_migrate/37aba8d80b48482136000c59b77a28c4.png)
2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此首先需要安装一个C/C++编译器并且设置环境变量,这里使用mingw-w64。因为网络问题mingw-w64很难下载,建议离线下载然后手动添加环境变量
离线下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z/download
此时我们要验证一下mingw是否可用,打开cmd输入gcc -v,出现版本信息就表明mingw是可用的,如果未出现版本信息则需要再检查一下,如果这里出现问题,后面全部无法进行
![1cff99acf1137f181bf2ff10dfc2ed95.png](https://i-blog.csdnimg.cn/blog_migrate/0c96fda07b4d131b3cdbc51a872e29e5.jpeg)
3. 安装需要的插件,打开vscode,点击左面竖排第五个按钮,搜索并安装上如下三个插件。
- 1.chinese(simplified)
- 2.C/C++
- 3.Code Runner
![4c510597ee524947137b907cd714abda.png](https://i-blog.csdnimg.cn/blog_migrate/f4572226a52d9328cb8db34fcaa9f381.png)
安装好以后一定要重启一下vscode,界面切换为中文,为了避免麻烦,暂时不要安装其他的插件。
![66e2e3bde6eb392d2b82607ef2a1ff38.png](https://i-blog.csdnimg.cn/blog_migrate/75fc37c4829a566f8eacb8632a07602a.png)
二、编译运行程序
编译运行程序介绍两种方法
- 使用之前安装好的
Code Runner插件
一键编译运行程序 - 打开vscode的
集成终端
使用命令行编译和运 - 点击:文件>新建文件,出现一个空白文档,将下面的代码复制粘贴到空白文档中
#include <stdio.h>
int main(){
char name[100];
printf("What is your name?n");
scanf("%s",name);
printf("Hello,%s,nice to meet you!n",name);
}
然后按Ctrl+S
a保存将文件后缀名改为.c
或.cpp
后保存到电脑上,然后点右上角的三角形按钮。
![a92489b0a934aa9e46d710726e6d5ee0.png](https://i-blog.csdnimg.cn/blog_migrate/9e6357171447eb16baa604d017b4d186.png)
但现在会出现下面的情况
![3b02453f7e9869a54e829d7f234e8b1d.png](https://i-blog.csdnimg.cn/blog_migrate/48299b990d41296d618e24ba197b6618.png)
程序段中使用了scanf
函数从键盘读取一串字符,这时无法输入数据,也无法结束程序,需要重启一下vscode
然后依次打开:文件>首选项>设置>用户>拓展>Run Code Configuration
找到Run In Terminal
勾选上
![0a1bf5c623abb3e9815e3916da42848f.png](https://i-blog.csdnimg.cn/blog_migrate/661e1f905e2b4fdadc6f8f310e7734bd.jpeg)
现在程序已经可以正常运行了,此时程序是运行在vscode的集成终端上,并不会额外弹出一个外部窗口
![84e2e419b4ff65d9b9a1de8f7a41b6ea.png](https://i-blog.csdnimg.cn/blog_migrate/7f0738fa5328f62b3937f8c048885964.png)
点击右上角的垃圾桶图标可以直接结束程序运行并关闭集成终端
替补插件:编译运行C/C++也可以选择C/C++ Compile Run
插件,按f6一键运行
![4f0958b075bc08a70701f76f74673198.png](https://i-blog.csdnimg.cn/blog_migrate/bb0bb3916181f3b80fc78c7cadbca6e9.png)
![fd9a1ad5f1b0f6301f107b53e033ae99.png](https://i-blog.csdnimg.cn/blog_migrate/b68adea6e32e82a460f563d36abb408d.png)
相较于code runner
,C/C++ Compile Run
插件在勾选上:文件>首选项>设置>扩展>Compile Run Configuration的Run-in-external-terminal
选项后可以出现和dev / codeblocks / vc一样的外部窗口
![8371499374c611a0821e4e70c80a3a03.png](https://i-blog.csdnimg.cn/blog_migrate/a0308b4c069ff28b0159a6dfd4392f75.png)
![5cfcd2781b2adef9ba03397c55df9d8f.png](https://i-blog.csdnimg.cn/blog_migrate/bedc6e6f050c84e9a7f8d0b380e08974.png)
用插件运行程序是一种偷懒的方法,它本质是替用户输入了命令,它存在局限,看一个例子
假设说我们在代码中使用了 winsock2.h
这个头文件,我们用刚刚的Code Runner插件
的方式编译会无法通过。
#include <winsock2.h>
#include <stdio.h>
int main(){
SOCKET client_socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
printf("Compile successfully!");
}
造成问题是原因是:Code Runner是按照预先设定好的规则,自动在终端执行编译运行的指令,也就是图片上红色下划线标注出的。
g++ Untitled-1.cpp -o Untitled-1 ;
如果是使用了winsock2.h
,同时又是使用gcc/g++
编译,在编译时我们应该在编译指令中额外添加-lwsock32
指令,而Code Runner
默认下并不会添加这条指令
正确的编译指令应该是:
g++ xxx.cpp -o xxx.exe -lwsock32
为了解决这个问题,可以使用比较原始的方法,直接在终端上用命令行编译和运行,vscode有一个集成终端,可以连通安装在操作系统上的各种终端
按 Ctrl+~ 打开集成终端(其实是"`",打"~"是方便大家找到),输入g++ .文件名.cpp -o 文件名.exe -lwsock32
./文件名.exe
g++ .文件名.cpp -o 文件名.exe -lwsock32
./文件名.exe
![8528beea0d9b093da3cda85557fa3e64.png](https://i-blog.csdnimg.cn/blog_migrate/0855e319a8565bb7773a98cbf182000d.png)