Visual Studio 2010中的解决方案资源管理器筛选

时间:2011-04-05 00:27:54

标签: visual-studio-2010 filter projects-and-solutions

我正在寻找有关新Visual Studio 2010 .vcxproj.filters文件的语法信息。有没有办法根据扩展名进行通配符过滤?

以下是该方案:

我们有一个工具为Visual Studio 2005编写项目文件,定义应用程序中的所有消息,以及相关的生成类。在项目文件中,我们不仅通过h / cpp对C ++文件进行分组,还通过用户定义的过滤器对C ++文件进行分组,因此我们的项目可能如下所示:

  • 消息( <-- that's the .vcproj file)
    • GENERATED_MSGS
      • COM
        • ħ
          • COMRequest.h
          • COMRequestAck.h
        • CPP
          • COMRequest.cpp
          • COMRequestAck.cpp
      • DATA
        • ħ
          • DATARequest.h
          • DATARequestAck.h
        • CPP
          • DATARequest.cpp
          • DATARequestAck.cpp
      • ORDER
        • ħ
        • CPP
    • 标头文件
      • HandCraftedMessage1.h
      • HandCraftedMessage2.h
    • 源文件
      • HandCraftedMessage1.cpp
      • HandCraftedMessage2.cpp
    • MyFileThatDefinesTheMessages.xml

过滤器(COM,DATA,ORDER等)存储在.vcproj文件中:

...
<Files>
    <Filter Name="GENERATED_MSGS">
        <Filter Name="COM">
            <Filter Name="COM">
                <Filter Name="h">
                    <File RelativePath=".\COMRequest.h"/>
...

在Visual Studio 2010中,为项目定义的文件位于.vcxproj文件中,但是如何显示它们的过滤器存储在.vcxproj.filters文件中。由于我们的过滤器总是由类名的第一部分决定,所以我希望只使用消息生成工具创建.vcxproj文件并修改.filters文件以使用通配符将文件放入正确的过滤器中。例如,名为ORDERRequest.h的文件应该进入GENERATED_MSGS/ORDER/h过滤器。有没有办法我可以定义一个通配符来执行此操作,以便ORDER * .h将放在一个文件夹中,而COM * .h将放在另一个文件夹中?我遇到了<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>标记,但这对我来说不够灵活,因为我想要将其分解而不仅仅是扩展。

0 个答案:

没有答案