2010-04-13 112 views
2

这可能是一个愚蠢的问题,但我仍然在学习。我已经阅读了几本关于创建应用程序和创建一个好的目录结构的书。当人们谈论创建目录结构时,它们是指您在解决方案资源管理器(您实际上在.sln文件中找到的文件夹)中创建的文件夹,还是指设置和创建与您的文件夹位于同一文件夹中的文件夹。 sln文件或编译的应用程序(.exe)。我认为解决方案资源管理器文件夹与典型的Windows文件夹不同,导致我在.sln文件中创建的文件夹没有位于我的Windows系统上的位置。创建一个好的目录结构

回答

4

Visual Studio中有一个处理的解决方案“文件夹”的一种奇怪的方式。 “解决方案文件夹”实际上不是一个物理文件夹,但更多的是由Visual Studio管理的虚拟文件夹。您的文件可能会以root用户身份结束,但VS会将它们视为在“文件夹”中。这是在VS .sln或项目文件中配置和管理的。

我不是如何在Visual Studio中工作的粉丝,我不明白为什么他们不只是把文件放在物理文件夹中。这取决于你是否想与VS战斗,并试图将你的文件保存在物理文件夹中,或者如果你想让VS管理它,但最终它并不重要。

+2

请注意,这仅适用于解决方案级文件夹。如果您在解决方案资源管理器中创建一个文件夹,在与磁盘上的实际文件夹相对应的项目中。 – 2010-04-13 04:35:25

3

在Visual Studio中使用C++时,您的解决方案目录不需要与文件系统匹配,但它们可以。

通常人们将目录结构称为项目的文件系统布局。

这是典型的视觉工作室目录称为头和源,你不会在你的文件系统上这样放置你的项目。

虽然Visual Studio目录不只是虚拟文件夹,但它们可以包含过滤规则,因此当您将文件添加到项目时,它将自动添加到正确的过滤文件夹中。他们还可以指定文件夹是否应该受版本控制。以及它们是否应该被解析为自动完成与否。

通常在文件系统上,我将为每个项目创建1个文件夹,很少在单个项目中创建子文件夹。但在解决方案资源管理器中,我将创建顶级文件夹,并将项目放入项目文件夹(例如:“服务器组件”和“客户端组件”)中,以及在项目文件夹中进行逻辑分组(例如:配置,GUI,控制器,...),所以我可以更快地找到我正在寻找的东西。

+0

那么你是说它确实没有什么不同,而是我在我的文件系统或我的.sln文件中设置了我的目录结构。 – numerical25 2010-04-13 04:03:58

+0

@ numerical25:更新了更多信息 – 2010-04-13 04:10:45

3

一个典型的目录结构调查会像

bin (binaries) 
Src 
    ->.sln 
    ->common 
     ->.prj 
    ->Project1 
     ->.prj 
    ->Project2 
     ->.prj 
Lib (3rd party lib's) 
Doc (documentation) 
Tools (3rd party tools) 
Setup (setup projects) 
Test (test cases)