【问题标题】:Visual Studio 2019, no Intellisense with "Show all files"Visual Studio 2019,没有带有“显示所有文件”的智能感知
【发布时间】:2020-05-25 18:18:54
【问题描述】:

我已经开始使用 Visual Studio 2019 学习 C++,并注意到一个奇怪的行为。当您创建一个空项目时,您将使用“过滤器”文件表示。现在,如果我激活“显示所有文件”,我可以创建目录。我创建了以下结构:

/Core/
/Engine/
Main.cpp

现在,如果我创建一个“类”,默认情况下,它是在 Main.cpp 旁边创建的。然后我会将Class.hClass.cpp 移动到/Core/

现在,如果我开始编辑新创建的文件,我会丢失 Intellisense。如果我取消选中“显示所有文件”,我会取回它。还有其他人有同样的问题吗?

我想问的另一个问题是关于过滤器文件和项目文件夹结构。我应该使用过滤器文件来组织我的项目还是实际的文件夹结构?由于 Intellisense 问题,我有点困惑,这就是我问的原因。

如果我应该创建一个文件夹结构,我应该如何处理像 #include "..\..\... \FileUpInTree.h" 这样的包含。在 Javascript 和 Webpack 中,您可以定义“别名”目录来消除这种情况。我想知道 Visual Studio 是否也存在类似的东西。也许是命名空间?

【问题讨论】:

  • 嘿,您的回答对智能感知问题非常有用。我将其标记为正确答案。但我仍然不太明白如何构建我的代码。意思是我应该使用“过滤器”还是“文件夹结构”。但我想这需要时间和更多的研究

标签: c++ visual-studio include intellisense


【解决方案1】:

现在,如果我开始编辑新创建的文件,我会丢失 Intellisense。 如果我取消选中“显示所有文件”,我会取回它。有没有其他人有 同样的问题?

我遇到了与您描述的相同的问题,当我将文件迁移到 Show All Files 过滤器下的另一个文件夹时,Intellisense 不起作用,这确实是奇怪的。当我没有迁移文件时,Intellisense 在默认地址下运行良好。

我有reported this issue on our DC Forum,您可以在该链接上添加任何详细信息,任何对此问题感兴趣的人都会投票,以便Microsoft高度重视。 p>

解决方法是您应该取消选中显示所有文件,然后再次单击它。之后,Intellisense 会返回并正常工作。

我想问的另一个问题是关于过滤器文件和项目 文件夹结构。我应该使用过滤器文件来组织我的项目吗 还是实际的文件夹结构?我有点困惑,因为 智能感知问题,这就是我问的原因。

其实,当你在c++项目中使用默认项目类型时(不要点击Show All Files),这个结构会自动识别你项目中的每个文件并进行分类到它自己的过滤文件夹中。这时候intellisense就完美运行了,因为细分各种文件不会冲突。

但是在这种格式下,你不能创建文件夹结构。

另外,使用过滤文件或者实际的文件夹结构都是一样的效果。如果您在 Windows 资源管理器中使用实际项目结构,它将自动显示在解决方案资源管理器下(单击 显示所有文件)。

建议

只要不想随意迁移文件,都可以在这个过滤器下使用Intellisense。

或者

1)Show All Files下创建文件夹结构,然后取消选中Show All Files以获取Intellisense。

如果我应该创建一个文件夹结构,我应该如何处理 包括这样的#include“....... \FileUpInTree.h”。在 Javascript 中 和 Webpack,您可以定义“别名”目录来消除这种情况。我 想知道Visual Studio是否也存在类似的东西。 也许是命名空间?

我认为您不必为此担心太多。

当你想使用项目文件夹结构下的文件时,可以直接使用#include"xxx.h",Intellisense会自动抓取项目中的头文件。

并且如果你想引用一个 c++ 类,你可以使用namespace <the c++ class namespace>

【讨论】:

    猜你喜欢
    • 2018-04-14
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多