VSCode安装和运行问题-创新互联
- 一、VSCode安装
- 二、VSCode问题
- 1.找不到任务"gcc" / "g++"
- 2.运行之后黑色窗口一闪而过
- 3.无法打开源文件"xxx.h"
- 4.IntelliSense模式windows-msvc-x64与编译器路径不兼容
- 三、VSCode只使用一个.vscode文件夹的方法
一、VSCode安装
VSCode的安装可参考以下博客:
- 整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux)
- MinGW安装包下载及下载失败解决
按F5运行调试后,出现问题:找不到任务"gcc"/“g++”。
这是因为launch.json和tasks.json这两个配置文件有需要保持一致的地方。
以下是修改后的几个语句。
(1)若选择编译器为gcc(c编译器):
- launch.json:
"preLaunchTask":"gcc",
- tasks.json:
"label":"gcc", //launch.json的"preLaunchTask"是gcc,这里也要是gcc
"command":"x:\\xxx\\MinGW\\bin\\gcc.exe", //这里是gcc.exe,看自己的MinGW安装路径
(2)若选择编译器为g++(c++编译器):
- launch.json:
"preLaunchTask":"g++",
- tasks.json:
"label":"g++", //launch.json的"preLaunchTask"是g++,这里也要是g++
"command":"x:\\xxx\\MinGW\\bin\\g++.exe", //这里是g++.exe,看自己的MinGW安装路径
主要是"preLaunchTask"和"label"的值要一致。
2.运行之后黑色窗口一闪而过VSCode不会在程序末尾停止,程序结束后会关掉所有窗口,所以窗口只持续了一会。
让窗口一直显示的方法:
(1)让程序停留在末尾:
- 可在return前面加入语句getchar();
- 或者先加入头文件#include
/ #include ,再在return前面加入语句system(“pause”);
如:
#includeint main()
{printf("hello world");
getchar();
return 0;
}
(2)安装运行插件C/C++ Compile Run:
安装完成之后按F8即可成功显示窗口。
注意:如果VSCode安装了这类运行插件,点了右上角的三角形运行之后没终止,再按F5运行会出现这个情况:preLaunchTask"gcc"已终止,退出代码为1。
3.无法打开源文件"xxx.h"(1)在头文件处或问题处点击黄色小灯泡,选择编辑“includePath”设置。
(2)找到“编译器路径”,下拉列表,选择自己的包含头文件编译器。
gcc是c编译器,g++是c++编译器。
(3)再次按F5运行,看是否出现问题,若出现以下问题,看第4点进行解决。
点击这个问题,进入c_cpp properties.json,观察下图框起来的语句,原本"windows-msvc-x64"对应的编译器是Windows中的Visual Studio,现在编译器改成了gcc,编译器路径是"x:/xxx/MinGW/bin/gcc.exe",因此IntelliSense 模式不兼容。
这里要修改"intelliSenseMode"的值,把"windows-msvc-x64"修改成 “windows-gcc-x64”。
VSCode是需要为每个新的.cpp文件做单独配置的,配置好json文件后,.cpp文件与.vscode 文件夹在一个路径下,这时编译运行是没问题的。但通常我们的.cpp是在一个工程文件夹里,若没对工程文件夹里的.cpp文件进行配置,是不能正常编译运行的。
为了以后不用对新的cpp文件重复配置,可以选择一个固定的工作空间,即文件夹,把.vscode文件夹放到这个空间里,接着修改.vscode文件夹中的launch.json文件:
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
这样以后就可以直接把整个工程文件夹放进这个固定的文件夹,能够正常运行工程文件夹下的cpp文件。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文标题:VSCode安装和运行问题-创新互联
标题来源:http://ybzwz.com/article/dsdgpd.html