可视化解决方案资源管理器中的实际文件夹



MS Visual Studio有解决方案资源管理器,在那里我可以看到所有的项目文件,我还可以创建过滤器,就像文件夹一样将文件分组。问题是——我希望我的文件在可视化和物理磁盘上分组。但是我不想在Visual和我的磁盘上应用每一个更改两次。有没有办法显示实际的文件夹,我保存我的文件在磁盘上,在可视化解决方案资源管理器(没有-"显示所有文件"不这样做,我刚刚检查)?

No - SE和file System拥有结构/层次信息的独立副本。

我通常禁用过滤器,把文件放在我想要的地方,这样两种结构在默认情况下保持同步(实际上,如果你想要任何形式的源代码组织,任何其他方式似乎都是疯狂的——我总是把组件的文件分组在一起,而不是单独的文件夹中)。

然后(禁用过滤器)…

如果您在解决方案资源管理器中创建文件夹,并使用该文件夹中的上下文菜单"添加新项…"或"添加现有项",则磁盘结构将反映解决方案资源管理器(复制现有项,而不是从它们当前所在的位置引用,以确保这一点,这可能导致如果您添加到错误的SE文件夹中,项目周围会留下旧的文件副本)。否则,通常只有当你"add as link"时,VS才会把一个项目放在SE中与它在磁盘上显示的不同的文件夹中。

要整理这些东西,最简单的方法是(在制作备份副本以防万一之后):

  • 打开解决方案和文件浏览器并手动"diff"它们。任何"错误"的文件都应该从SE中删除,移动到正确的磁盘位置,然后通过使用正确SE文件夹的上下文菜单添加到SE
  • 如果没有太多的文件夹,一个更简单的方法是从解决方案资源管理器中删除所有文件,然后将它们(一次一个文件夹)添加回项目中,确保您创建了正确的文件夹名称,并从每个文件夹的上下文菜单中添加。通过从头开始重新构建SE,您可以相当快地同步两种布局,这通常比尝试找出差异所在更容易。

一旦它们同步,只使用SE来管理文件,并小心地使用上下文菜单从正确的文件夹添加项目。如果你在磁盘上移动东西,你会破坏链接。

如果您单击'显示所有文件',您将解决方案资源管理器从显示文件的虚拟过滤器切换到文件的物理过滤器。

我想你指的是解决方案文件夹。这些是与文件系统无关的虚拟文件夹。我做的一个小技巧是做一个一次性项目。添加到项目文件夹中的项保持它们之间的关系。这是一个黑客,但它有效。如果有人知道一个不那么俗套的方法,我也很想知道。

相关内容

最新更新