如何将具有目录结构的文件导入到visual studio 2013中

时间:2014-09-01 12:09:14

标签: visual-studio-2013

我有一个C ++库的源代码(它是Box2D的一个版本)
我想将它的一部分添加到一个新项目中并将其构建为.dll

但是当我向新项目添加我想要的文件目录时,它将它们全部添加到项目的根目录中,因此大多数情况下,如果include语句是错误的。 例如......

#include <Box2D/Dynamics/b2Body.h>
#include <Box2D/Dynamics/b2Fixture.h>
#include <Box2D/Dynamics/b2World.h>

“Box2D / Dynamics /”部分现在是错误的。
我通过将包含我想要的文件的目录放在新项目目录中,然后单击“显示所有文件”按钮,然后单击该文件夹并说“包含在项目中”来添加新文件

下面是什么原始项目(我从中复制文件目录)看起来像..
enter image description here

并且继承了我的新项目的样子。正如您所看到的,整个项目是“平面”的,所有文件都在项目根目录中(尽管在实际的项目目录中,子目录结构仍然存在)
enter image description here

tbh我总是发现视觉工作室的这个文件管理方面很奇怪和令人困惑

3 个答案:

答案 0 :(得分:1)

导入文件时没有看到文件夹的原因是没有文件夹可以说。正如您在文件夹图标上看到的过滤器覆盖图一样,只有过滤器。您还可以查看这些文件夹的属性,以找出该文件夹下列出的文件。

VS2013使用 projectFile.vcxproj.filters 文件来管理过滤器。您可以尝试将该文件(或手动创建一个)复制到新目录,然后导入代码/标题/其他文件。 AFAIK,VS应该通过查看文件扩展名为文件选择正确的文件夹。

答案 1 :(得分:0)

我正在使用VS2013。如果您在非默认位置创建项目,似乎New Project From Existing Code向导将保留现有的源树目录结构。即某处以外的地方:

C:\Users\*yourUserName*\Documents\Visual Studio 2013\Projects

以下是我将现有C ++源代码树导入VS2013的方法:

  1. 文件&gt;新&gt;来自现有代码的项目......
  2. 选择Visual C ++,然后单击下一步
  3. 将项目文件位置设置为除C:\ Users * yourUserName * \ Documents \ Visual Studio 2013 \ Projects
  4. 以外的其他位置
  5. 使用“添加”按钮添加源树。您只需添加源树的根目录,即可保留所有子目录。
  6. 根据需要填写其余的向导选项,然后单击“完成”按钮。
  7. 正如其他人所说,“显示所有文件”按钮(或“项目”>“显示所有文件”菜单项)在“解决方案资源管理器”中的树视图和源的“其他”视图之间切换。

答案 2 :(得分:0)

我为此目的做了一个扩展:https://visualstudiogallery.msdn.microsoft.com/5a3251d7-3228-4813-a67e-6b9cc83d0507

来源在这里:https://github.com/Dllieu/VisualStudioCppExtensions

导入所有文件后(例如与第二个屏幕截图相同),只需右键单击C ++项目并单击“生成C ++项目过滤器”,它将创建所有过滤器以复制文件夹层次结构你的文件