项目目录结构在Visual Studio中丢失了吗?

kmi*_*las 8 directory-structure solution visual-studio visual-studio-2015

我正在学习Visual Studio 2015社区.我是一名经验丰富的程序员,但VS的新手,文件表示让我感到困惑.我已经创建了一个解决方案,并添加了一个现有项目.VS正显示出我所有项目文件(在我的情况下,C++项目,所以.c,.cpp.h文件)Solution Explorer中一个树级别.

相反,如果我用Sublime Text,VS Code,notepad ++等开放所述项目,我会看到正确的目录结构,因为它位于磁盘驱动器上; 就像人们会在文件资源管理器/ Finder或ls/ dir终端中看到它一样.

我在发布之前完成了我的作业,在接下来的帖子中,@安德里说:

恐怕在MSVS中没有像"目录结构"这样的概念.此外,MSVS并不真正需要它,因为它使用平面项目,层次结构基于项目级别,而不是文件/目录级别.

因为没有这样的东西 - 你既不能自动也不能手动.MSVS具有解决方案文件夹,这是完全不同的事情,并且将真实文件夹表示为解决方案文件夹没有多大意义.

Visual Studio作为代码浏览器:如何保留目录结构?

这是真的?文件的排列有很多意义,VS中的平面表示使项目难以理解; 目录结构中的文件位置很重要.有没有办法在VS中查看正确的目录结构?

在我的情况下,我正在使用Quickfix,它支持多个版本(4.0,4.1,4.2等).其中每个都有不同的类和具有相同名称的文件.

正如您从下面的屏幕截图中看到的那样,它们都整齐地排列在磁盘上的不同文件夹中,但VS对这些文件的表示非常混乱:

在此输入图像描述

在此输入图像描述

kmi*_*las 7

我发现@Paul Easter 在下面的帖子中给出的答案非常有助于理解这个“怪癖”,这确实是一个“功能”。一个不同的项目结构概念在起作用:

但至于您不希望解决方案文件夹表现得像“物理”文件夹的原因是因为您的解决方案布局可能不一定使用与源代码管理布局相同的约定。解决方案文件夹允许您自定义项目的层次结构,以便您可以以任何喜欢的方式将项目和项目组合在一起,然后决定您不喜欢它并再次更改它,而不必经历移动源控制项目的噩梦周围并激怒您团队的其他成员。

Visual Studio 解决方案文件夹作为真正的文件夹

这是一个好主意吗?我可以看到一些人喜欢它的地方,因为它允许他们按照自己的意愿安排项目文件。在这一点上,我不喜欢它;我敢肯定,部分是因为它对我来说是新的,但也有以下两个原因:
1. 在一个有组织的项目中,目录层次结构不是任意的;首席工程师有充分的理由以某种方式安排文件。
2.它在VS文件表示和操作系统结构之间增加了一个抽象层。我喜欢直接访问我正在处理的文件;使用 VS 系统,我觉得与 VS 中的底层文件奇怪而诡异。我必须承认害怕这一层有它的异常,并且会给我带来问题。