Cmake Intellisense如何决定文件属于哪个项目?

Cmake Intellisense如何决定文件属于哪个项目?,cmake,configuration,project,intellisense,error-checking,Cmake,Configuration,Project,Intellisense,Error Checking,我在Visual Studio 2019中有两个CMake项目,它们完全分离,彼此无关 如果我用“open Folder”选项打开第一个文件并转到我的主.c文件,导航栏(文件选项卡下方)会显示“out.elf-Default Config”。我假设这意味着VisualStudio检测到主.c文件属于具有“Default Config”配置的项目 现在,如果我以同样的方式打开第二个项目,导航栏会显示“杂项文件”,因此对我来说,VS似乎不知道该文件属于哪个项目(我一次只打开一个项目) 这让我如此困扰

我在Visual Studio 2019中有两个CMake项目,它们完全分离,彼此无关

如果我用“open Folder”选项打开第一个文件并转到我的主.c文件,导航栏(文件选项卡下方)会显示“out.elf-Default Config”。我假设这意味着VisualStudio检测到主.c文件属于具有“Default Config”配置的项目

现在,如果我以同样的方式打开第二个项目,导航栏会显示“杂项文件”,因此对我来说,VS似乎不知道该文件属于哪个项目(我一次只打开一个项目)

这让我如此困扰的原因是,如果没有检测到文件的项目,Intellisense错误检查将无法工作。在报告中说:

如果导航栏上显示Miscellaneous Files,那么这可能解释了为什么在错误代码下看不到错误曲线,或者为什么没有定义预处理器宏

不幸的是,它没有提到如何避免或修复这种情况

所以我的问题是:VisualStudio如何决定文件属于哪个项目?如何告诉VisualStudio文件夹中的所有文件都属于一个已设置配置的项目?为什么它在一个项目中有效而在另一个项目中无效(我知道我没有提供有关项目的信息,但我不知道什么是相关的。对我来说,它们之间没有明显的区别。)


我希望问题在某种程度上是清楚的(我真的很难正确地描述它)。如果我遗漏了一些重要的信息,请发表评论,我会添加它。提前感谢。

因此我找到了VisualStudio在一个项目中使用“杂项文件”的原因。该项目混合了C和C++源,导致智能感知的错误检查中断。但是我仍然不知道为什么Intellisense不能同时处理.c和.cpp文件