Microsoft Visual Studio(2008) - 在解决方案资源管理器中过滤

时间:2009-02-15 16:55:57

标签: c++ visual-studio visual-studio-2008 visual-c++ solution-explorer

在使用C ++项目时,在解决方案资源管理器中,有标题文件,资源文件和源文件的标准过滤器。我想要完成的主要是按文件夹过滤。


让我们说文件的结构是这样的:

  • ../ Folder1中/ Source1.cpp
  • ../ Folder1中/那么header1.h
  • ../ Folder1中/ Source2.cpp
  • ../ Folder1中/ Header2.h
  • ../ AnotherFolder / Source1.cpp
  • ../ AnotherFolder /那么header1.h
  • ../ AnotherFolder / Source2.cpp
  • ../ AnotherFolder / Header2.h
  • ../ SomeOtherSource.cpp

在Solution Explorer中,它看起来像:

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

我希望看起来像这样:

  • Header Files / AnotherFolder / Header1.h
  • 头文件/ AnotherFolder / Header2.h
  • Header Files / Folder1 / Header1.h
  • Header Files / Folder1 / Header2.h
  • 源文件/ AnotherFolder / Source1.cpp
  • 源文件/ AnotherFolder / Source2.cpp
  • 源文件/ Folder1 / Source1.cpp
  • 源文件/ Folder1 / Source2.cpp
  • 源文件/ SomeOtherSource.cpp

如何实现这一目标?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

显示所有文件?

答案 3 :(得分:0)

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

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

这很乏味,容易出错,浪费时间。但由于我的项目是使用外部make系统构建的,因此这是我能够合理保持项目最新状态并且在Visual Studio中仍能获得良好搜索和浏览行为的唯一方法。时间成本会在以后的生产力中恢复,但我仍然不愿意这样做。