将文件保存在Visual Studio 2015包中



我正在开发我的第一个Visual Studio扩展。我设法在保存一个文件时设置了事件侦听器,并使用DocData以这种方式修改了另一个文件:

var docData = new DocData(this, fileName);
var editorAdaptersFactoryService = (this.GetService(typeof(SComponentModel)) as IComponentModel).GetService<IVsEditorAdaptersFactoryService>();
var textBuffer = editorAdaptersFactoryService.GetDataBuffer(docData.Buffer);
textBuffer.Replace(new Span(0, textBuffer.CurrentSnapshot.Length), content);

这里的问题是,在我修改这个新文件后,我必须保存它,但我找不到任何关于如何保存文件的例子。在我的DocumentSaved侦听器中,我有一个EnvDTE.Document,我可以在其中调用EnvDTE.Document.Save(),但我正在尝试保存另一个文件,我有我试图保存的这个新文件的完整路径。我想迭代项目中的所有文件,寻找我的特定文件,并在ProjectItem中使用可用的Save()方法。我试着在这个答案中使用代码,但没有成功。

任何关于这方面的指导都会很棒!

有了完整的路径,您可以尝试

ProjectItem DTE.Solution.FindProjectItem("Fullpath")

https://msdn.microsoft.com/en-us/library/envdte._solution.findprojectitem.aspx

最新更新