我正在编写一个扩展,它将文件添加到解决方案中的项目中。
首先检查未保存的更改是否有意义,如果有,请让用户保存。
我怎样才能做到这一点?
是否有任何开源VS扩展,这样做,所以我可以看看它是如何完成的?
要确定是否存在未保存的更改,可以使用DTE.Documents枚举打开的文档,并检查每个文件以获取Document.Saved属性。
您可以尝试通过具有相应功能的Microsoft.Build.Evaluation处理项目。
扩展,它将文件添加到解决方案中的项目。
将新文件包含到项目后,必须重新评估它们。请注意Project.IsDirty财产:
项目已修改,必须在基础项目源代码时重新评估,包括对导入文件的更改。如果项目工具集发生更改,则还必须重新评估项目。
Project.IsDirty | Project.ReevaluateIfNecessary | Project.Save