我正在寻找在某些 Rake 宏之前运行“文件 -> 全部保存”的等价物。
到目前为止我所拥有的是:
Private Sub Pre_Rake()
Dim i As Integer
DTE.Documents.SaveAll()
For i = 1 To DTE.Solution.Projects.Count
If Not DTE.Solution.Projects.Item(i).Saved Then
DTE.Solution.Projects.Item(i).Save()
End If
Next
End Sub
DTE.Documents.SaveAll 工作正常,但 for 循环没有像我期望的那样保存项目文件。
如果我在解决方案资源管理器中复制文件,则在 Pre_Rake() 运行后,该文件不会包含在项目文件 (.CSPROJ) 中。我仍然需要按 CTRL-SHIFT-S 或 File -> Save All。
那么,如何使用 Visual Studio 宏保存所有内容?
最佳答案
显然 DTE.Documents.SaveAll
不保存所有打开的文档(也许它只保存属于打开项目的文档)。尝试使用
DTE.ExecuteCommand("File.SaveAll")
这与执行文件 -> 全部保存完全一样。
关于visual-studio - Visual Studio 宏 : How to perform "File -> Save All" programatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2932312/