Visual studio 2010 与2010年相比+;扩展:向项目添加过滤器

Visual studio 2010 与2010年相比+;扩展:向项目添加过滤器,visual-studio-2010,vs-extensibility,Visual Studio 2010,Vs Extensibility,我正在开发VS扩展,它必须通过过滤器重建指定目录的树结构,并将该目录中的现有文件添加到适当的过滤器中 如何通过代码向project添加筛选器和现有文件?通常VS 2010有一个单独的筛选器文件:YourProject.vcxproj.Filters。 您可以编写一个脚本,在该文件中添加所需的内容。但我不知道是否一切都能顺利进行。我找到了以下解决方案: using Microsoft.VisualStudio.VCProjectEngine; using Microsoft.VisualStudi

我正在开发VS扩展,它必须通过过滤器重建指定目录的树结构,并将该目录中的现有文件添加到适当的过滤器中


如何通过代码向project添加筛选器和现有文件?

通常VS 2010有一个单独的筛选器文件:YourProject.vcxproj.Filters。
您可以编写一个脚本,在该文件中添加所需的内容。但我不知道是否一切都能顺利进行。

我找到了以下解决方案:

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();

此外,您还需要添加对Microsoft.VisualStudio.VCProjectEngine的引用。

我尝试手动修改过滤器文件,但效果良好。但对我来说,扩展比脚本更好。