我正在开发 VS 扩展,它必须通过过滤器重建指定目录的树结构,并将该目录中的现有文件添加到适当的过滤器。
如何通过代码将过滤器和现有文件添加到项目中?
我正在开发 VS 扩展,它必须通过过滤器重建指定目录的树结构,并将该目录中的现有文件添加到适当的过滤器。
如何通过代码将过滤器和现有文件添加到项目中?
通常 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 的引用。