Visual Studio宏:如何以编程方式执行"文件 - >全部保存"

Sea*_*n B 5 macros visual-studio

我正在寻找相当于在某些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
Run Code Online (Sandbox Code Playgroud)

DTE.Documents.SaveAll工作正常,但for循环不会像我期望的那样保存项目文件.

如果我在解决方案资源管理器中制作文件的副本,则在运行Pre_Rake()之后,该文件不会包含在项目文件(.CSPROJ)中.我仍然需要按CTRL-SHIFT-S或文件 - >全部保存.

那么,如何使用Visual Studio宏保存所有内容?

Amn*_*non 8

显然DTE.Documents.SaveAll不保存所有打开的文档(可能只保存属于打开项目的文档).尝试使用

DTE.ExecuteCommand("File.SaveAll")
Run Code Online (Sandbox Code Playgroud)

这就像做文件 - >全部保存.