头图

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.总结

在真正的项目开发中,这样的例子偶尔也会遇到,本质上是对技术掌握不到位,不知道触发原因在哪里,虽然问题解决了,但是却不能保证下次不会再发生,就像一个不定时炸弹,不知道会不会再炸一次,让人始终放心不下。只是有时候需要权衡“开发效率”与“技术研究”,只能先搁置,继续开发了,留作他人解决,或者他日有空再解决。

欢迎搜索及关注:编程人


codists
4 声望2 粉丝

Life is short, You need Python