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

Visual Studio 2019 Cannot include existing folder (not visible with show all files)

我正在尝试做什么

我目前正在尝试将一组文件夹和其中的文件包含在 unreal engine 5 项目中。

我正在 Visual Studio 2019 社区工作,并将光子引擎添加到我的游戏源中。

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


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

Without Show all files

With Show All Files

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

"Add References"

我尝试过的其他内容

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

Visual Studio 一般情况下:

首先,您应该停用 'Show all files' 选项。否则,您绝对会看到磁盘上解决方案和项目文件夹中的每个文件。

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

在解决方案资源管理器中使用 VS right-click 对项目或项目内的现有过滤器进行选择,然后选择 'Add' -> 'New filter'。

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

是的,这有点麻烦。

Unreal Engine 特别是:

只要您让 Unreal 重新生成项目文件,它就会覆盖您对它们所做的任何更改。

所以你想要备份文件。重新生成后,您只需在文本编辑器中打开备份中的 .vcxproj 和 .vcxproj.filters 文件,然后将其中的文件和过滤器复制到新生成的项目中,这比手动 re-add 所有过滤器和文件。

将文件添加到 Unreal 项目的更好选择可能是不将它们手动添加到 Visual Studio 项目,而是将文件移动到文件夹中,您的 .Build.cs 文件所在的文件夹位于或放入此文件夹的 sub-folder 中,以便 Unreal 会在您让它生成项目文件时找到这些源文件并将它们添加到项目中。

关于光子:

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

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