Visual Studio 2019 不能包含现有文件夹(显示所有文件时不可见)

我正在尝试做的事情

我目前正在尝试在虚幻引擎 5 项目中包含一组文件夹和文件。

我正在 Visual Studio 2019 社区工作,并将 Photon Engine 添加到我的游戏源中。

What is shown in the solution, and what is in the folder.


但是,添加此文件夹的每个示例都请求我使用“显示所有文件”。当我在项目上使用“显示所有文件”时,它会删除文件夹结构的任何指示并仅显示项目中存在的文件。

Without Show all files

With Show All Files

我找到了另一种将其包含在参考文献中的选项。同样,这不起作用。

"Add References"

我尝试过的其他事情

  • 从虚幻引擎项目重新生成项目
  • 将现有项目添加到项目中
  • 使用项目包含目录

在这个阶段,我对应该是一个简单的过程感到非常沮丧。我确定我在某处遗漏了一些愚蠢的复选框,只是没有想到它。

stack overflow Visual Studio 2019 Cannot include existing folder (not visible with show all files)
原文答案
author avatar

接受的答案

一般的 Visual Studio:

首先,您应该停用“显示所有文件”选项。否则,您绝对会看到磁盘上解决方案和项目文件夹中的每个文件。

然后诀窍是不添加“文件夹”(这是不可能的),而是添加“过滤器”(类似于文件夹,但不一定代表磁盘上的物理文件夹):

在 VS 的解决方案资源管理器中,右键单击项目或项目中的现有过滤器,然后选择“添加”->“新建过滤器”。

对要添加的 Photon 源和标头文件夹中的每个子文件夹重复此操作。然后将文件本身添加到这些过滤器中。

是的,这有点麻烦。

特别是虚幻引擎:

每当您让 Unreal 重新生成项目文件时,它都会覆盖您对它们所做的任何更改。

所以你想要备份文件。重新生成后,您只需在文本编辑器中打开备份中的 .vcxproj 和 .vcxproj.filters 文件,然后将文件和过滤器从那里复制到新生成的项目中,这比手动重新添加要快得多所有过滤器和文件。

将文件添加到 Unreal 项目的更好选择可能是不将它们手动添加到 Visual Studio 项目,而是将文件移动到 .Build.cs 文件所在的文件夹中,或者移动到此文件的子文件夹中文件夹,以便虚幻引擎在您让它生成项目文件时找到这些源文件并将它们添加到项目中。

关于光子:

您绝对应该将任何 Photon 源文件添加到您的 Unreal 项目中。您可以将 Photon 头文件添加到您的项目中,以便能够在 VS 中更轻松地浏览它们,但添加 Photon 源文件没有意义。 Photon 客户端 SDK 已经带有预构建的静态库,只有一些 Photon 项目(目前是 LoadBalancing-cpp、Chat-c​​pp 和 PhotonVoice-cpp)带有源文件,其他的(Common-cpp 和 Photon-cpp)是闭源。如果你想修改其中一个 Photon 项目,其源代码包含在 SDK 中,你应该打开它包含的 VS 解决方案,在那里进行修改,然后为你正在使用的所有平台和配置构建它更新了库文件。

在您的 Unreal 项目中,您应该将这些库文件添加到您的 Build.cs 文件中,就像在 Photon Unreal 演示项目中显示的那样。


答案: