Search code examples
visual-studio-2010vs-extensibility

VS 2010+ extension: add filters to project


I'm developing VS extension which must reconstruct specified directory's tree structure via Filters and add existing files from that directory to appropriate filters.

How can I add Filters and existing files to project via code?


Solution

  • I found the following solution:

    using Microsoft.VisualStudio.VCProjectEngine;
    using Microsoft.VisualStudio.Shell.Interop;
    //...
    EnvDTE.DTE dte = (EnvDTE.DTE)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SDTE));
    VCProject prj = (VCProject)dte.Solution.Projects.Item(1).Object;
    VCFilter filter = prj.AddFilter("Custom Filter");
    filter.AddFile("D:\\path\\File.h");
    prj.Save();
    

    Also you need to add Reference to Microsoft.VisualStudio.VCProjectEngine.