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.总结
在真正的项目开发中,这样的例子偶尔也会遇到,本质上是对技术掌握不到位,不知道触发原因在哪里,虽然问题解决了,但是却不能保证下次不会再发生,就像一个不定时炸弹,不知道会不会再炸一次,让人始终放心不下。只是有时候需要权衡“开发效率”与“技术研究”,只能先搁置,继续开发了,留作他人解决,或者他日有空再解决。
欢迎搜索及关注:编程人
在Ubuntu22.04上使用VSCode1.79.2时,用户遇到尝试运行C程序时报错,提示当前文件不是C或C++源文件。尝试更新VSCode至1.8.0、修改配置以及卸载重装C/C++扩展后,问题意外解决。尽管问题不再复现,但其根本原因未知,可能与VSCode或扩展配置有关。开发者在实际工作中有时需权衡开发效率和技术研究,这种偶发问题可能成为未来的潜在困扰。

被折叠的 条评论
为什么被折叠?



