Visual Studio 2013 c++ 文件夹管理

3

我将我的C++项目转换到了VS2013。

但是我真的很好奇,为什么文件夹管理这么糟糕?!只有虚拟文件夹,呃。

在“源文件”中创建一个名为“Core”的新子文件夹。右键单击“core”添加一个新类 => 这个类被创建在“源文件”中而不是“core”里面。同时头文件被放置在“头文件”中。

为什么要创建虚拟子文件夹,当VS不会将文件放到这些文件夹中?!

对我来说另一个缺点是所有文件都位于项目根目录下。这样#include "subfolder/myClass.h"会导致错误...

我还删除了“源代码/标头文件”文件夹并创建了自己的“src”文件夹。但问题依旧存在。

切换到资源管理器视图并创建真实文件夹(并将文件添加到解决方案)也会混乱。

是否有一种插件可以修复这种奇怪的行为?或者其他的工作方法?!

C#文件夹管理对我来说非常好用...在那里我不需要创建一个类然后再把文件放到正确的文件夹中...也没有虚拟文件夹...


当您创建源文件时,可以指定(包括创建)目录。您还可以在子目录中包含现有文件。 - doug
嗨,是的,对于源文件似乎可以工作。但是对于新类(使用向导)则不行。 - DoubleVoid
历史扮演了很重要的角色,C++ 的构建模型可以追溯到上世纪70年代。有很多中间构建步骤和许多与编译代码无关的文件。您会得到一个逻辑“视图”项目,不相关于文件夹结构。这有点显而易见,没有名为“Header Files”的目录。虽然它们的内容通常对您有用,但是这些文件在构建项目中不起任何作用,永远不会传递给构建工具。您会习惯的。 - Hans Passant
嗨,汉斯,谢谢你的回答。虚拟文件夹还好,我可以处理它,但是至少在这些虚拟文件夹内部结构化我的类而不必手动拖动它们会很好。对我来说,“头文件”文件夹似乎相当无用,特别是如果我想要一个体面的组织,我必须创建两个虚拟子文件夹(一个用于cpp,一个用于hpp...)。所以我想我必须忍受这种有点错误的行为。 - DoubleVoid
有趣。我从未使用过创建类的向导,所以从来没有注意到这一点。 - doug
1个回答

3

实际上,有一种使用真实文件夹而非虚拟文件夹的方法。您需要在解决方案资源管理器中单击项目,然后在解决方案资源管理器标题栏上单击“显示所有文件”。

enter image description here

完成此操作后,您可以将文件移动到文件系统中的“实际”文件夹中。


我现在已经使用VS四年了,但是我之前并不知道这个。哇。 - user2487382
嗨,是的我知道。切换到“资源管理器视图/显示所有文件”会展示出与“新建类向导”相同的行为。添加一个新文件夹并创建一个新类,会将文件放在项目的根路径下,而不是文件夹内部。我想我必须坚持手动排序所有内容。只使用一个视图。过滤器或资源管理器...算了吧。感谢你的回答 :) - DoubleVoid
如果您在解决方案资源管理器中移动文件,它们也会在您的文件系统中移动(如果您处于“显示所有文件”模式下)。 - Philipp Neufeld

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接