5

在处理 C++ 项目时,在解决方案资源管理器中,有头文件、资源文件和源文件的标准过滤器。我想要完成的基本上是按文件夹过滤。


可以说文件的结构是这样的:

  • ../Folder1/Source1.cpp
  • ../Folder1/Header1.h
  • ../Folder1/Source2.cpp
  • ../Folder1/Header2.h
  • ../AnotherFolder/Source1.cpp
  • ../另一个文件夹/Header1.h
  • ../AnotherFolder/Source2.cpp
  • ../另一个文件夹/Header2.h
  • ../SomeOtherSource.cpp

在解决方案资源管理器中,它看起来像:

  • 头文件/Header1.h
  • 头文件/Header1.h
  • 头文件/Header2.h
  • 头文件/Header2.h
  • 源文件/SomeOtherSource.cpp
  • 源文件/Source1.cpp
  • 源文件/Source1.cpp
  • 源文件/Source2.cpp
  • 源文件/Source2.cpp

我想让它看起来像这样:

  • 头文件/AnotherFolder/Header1.h
  • 头文件/AnotherFolder/Header2.h
  • 头文件/Folder1/Header1.h
  • 头文件/Folder1/Header2.h
  • 源文件/AnotherFolder/Source1.cpp
  • 源文件/另一个文件夹/Source2.cpp
  • 源文件/Folder1/Source1.cpp
  • 源文件/Folder1/Source2.cpp
  • 源文件/SomeOtherSource.cpp

这将如何实现?

4

4 回答 4

1

您可以自己手动创建文件夹并移动文件。我同意这是一种更方便的文件排列方式,但 AFAIK 无法让 VS 自动执行此操作。

于 2009-02-15T16:59:34.217 回答
1

您可以创建 Visual Studio 插件来执行此操作。我不确定如何以编程方式访问“解决方案资源管理器”。

于 2009-02-16T01:11:18.530 回答
1

显示所有文件?

于 2009-11-16T08:17:44.297 回答
0

我发现这样做的唯一方法是完全手动的。我创建了一个过滤器层次结构来匹配文件夹。然后,我移至“显示所有文件”视图,并选择一个文件夹。我将该文件夹中不在我的解决方案中的所有文件添加到解决方案中。然后我离开“显示所有文件。

此时,VS 似乎没有正确更新我的文件列表。所以我需要“关闭解决方案”并重新打开解决方案。此时,新文件在解决方案中,但不在过滤器中。它们位于项目的顶层,位于项目的底部。此时我将它们拖到正确的过滤器中。

这是乏味的、容易出错的并且浪费时间。但是由于我的项目是使用外部 make 系统构建的,因此这是我可以使项目合理地保持最新并且仍然在 Visual Studio 中获得体面的搜索和浏览行为的唯一方法。时间成本稍后会在生产力中得到回报,但我仍然不喜欢它。

于 2011-10-12T19:58:41.503 回答