1.说明
1)系统:Ubuntu 22.04
2)Visual Studio Code版本:1.79.2
2.问题描述
#include <stdio.h>
int main()
{
int a, b;
printf("请输入第一个数a: ");
scanf("%d", &a);
printf("请输入第二个数b: ");
scanf("%d", &b);
printf("a : %d \t b : %d" ,a , b);
return 0;
}
按照Visual Studio Code官方文档安装了C/C++扩展,运行如上代码的时候提示:Cannot build and debug because the active file is not a C or C++ source file。
3.问题分析
这个提示很让人困惑,提示“the active file is not a C or C++ source file”,可是运行的文件(active file)就是c源文件,如果它不是C源文件,那你倒是告诉它是什么文件啊?这让人就有点懵逼了,就好像你说我不对,但是你又不说我哪里不对。那就网上搜索一下吧,根据https://github.com/microsoft/vscode-cpptools/issues/8586要将Visual Studio Code升级到1.8.0,那就升级吧,关掉Visual Studio Code,去下载1.8.0版本。
下载的时候网速有点慢,就又搜索看有没有其它原因,看到一篇文章说配置有问题,于是再次打开Visual Studio Code,试了下又可以了。
为了判断是否是未重启导致的,于是卸载C/C++扩展,关闭Visual Studio Code再打开,再次安装C/C++扩展,运行代码:
结果:
竟然可以了,问题无法复现,真让人郁闷啊,就这样吧,看后续是否会再次遇到。
4.解决方法
根本原因未找到,只找到了解决方法——“重启”。
5.总结
在真正的项目开发中,这样的例子偶尔也会遇到,本质上是对技术掌握不到位,不知道触发原因在哪里,虽然问题解决了,但是却不能保证下次不会再发生,就像一个不定时炸弹,不知道会不会再炸一次,让人始终放心不下。只是有时候需要权衡“开发效率”与“技术研究”,只能先搁置,继续开发了,留作他人解决,或者他日有空再解决。
欢迎搜索及关注:编程人