Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft Visual Studio(2008)-解决方案资源管理器中的过滤器 在解决方案资源管理器中,在使用C++项目时,存在头文件、资源文件和源文件的标准过滤器。我想完成的基本上是按文件夹过滤_C++_Visual Studio_Visual Studio 2008_Visual C++_Solution Explorer - Fatal编程技术网

Microsoft Visual Studio(2008)-解决方案资源管理器中的过滤器 在解决方案资源管理器中,在使用C++项目时,存在头文件、资源文件和源文件的标准过滤器。我想完成的基本上是按文件夹过滤

Microsoft Visual Studio(2008)-解决方案资源管理器中的过滤器 在解决方案资源管理器中,在使用C++项目时,存在头文件、资源文件和源文件的标准过滤器。我想完成的基本上是按文件夹过滤,c++,visual-studio,visual-studio-2008,visual-c++,solution-explorer,C++,Visual Studio,Visual Studio 2008,Visual C++,Solution Explorer,假设文件的结构如下所示: ../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 在解决方案资源管理器中,

假设文件的结构如下所示:

  • ../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
在解决方案资源管理器中,它看起来像:

  • 头文件/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
  • 源文件/AnotherFolder/Source2.cpp
  • 源文件/Folder1/Source1.cpp
  • 源文件/Folder1/Source2.cpp
  • 源文件/SomeOtherSource.cpp


如何做到这一点?

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

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

显示所有文件?

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

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


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

但是,当你创建一个过滤它不会创建文件夹。因此,当将文件移动到其中时,您还必须创建文件夹,并将文件移动到该文件夹中。