visual-studio - Visual Studio 宏 : How to perform "File -> Save All" programatically

标签 visual-studio macros

我正在寻找在某些 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/

相关文章:

c - ".global"的宏定义

regex - 如何编写 Clojure 宏以从字符串创建正则表达式?

c# - 如何在 Visual Studio 的 VisualBasic.Net 下开发 Android 应用程序?

c - Visual Studio调试执行路径

c++ - Visual Studio 配置文件引导优化

.net - PowerShell Write-EventLog 未写入所需的事件日志

visual-studio - 无法加载引用的库

ios - 在 iOS 中详细说明宏?

c - 长度宏的问题

powershell - $宏替换 - ExpandString 限制