在Visual Studio 2015包中保存文件

时间:2016-04-19 05:44:48

标签: visual-studio-2015 visual-studio-extensions

我正在处理我的第一个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(),但我正在尝试保存另一个文件,我有这个新文件的完整路径我正试图保存。我想迭代项目中的所有文件来查找我的特定文件,并使用Save()中可用的ProjectItem方法。我尝试使用this回答中的代码,但它没有用。

对此的任何指导都会很棒!

1 个答案:

答案 0 :(得分:1)

使用完整路径,您可以尝试

ProjectItem DTE.Solution.FindProjectItem("Fullpath")

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