代码之家  ›  专栏  ›  技术社区  ›  Simon Ottenhaus

VS2008/C在编译项目时关闭所有设计器?

  •  0
  • Simon Ottenhaus  · 技术社区  · 16 年前

    VS2008中的C设计器存在一些问题,例如,在编译项目时,他们有时会“忘记”控件。设计者特别容易忘记用户控件。

    我在谷歌上搜索了一段时间,找到了这个提示:在编译项目之前关闭所有的设计师。

    这真的有帮助吗?

    有没有自动的方法?(预编译脚本等?)

    2 回复  |  直到 16 年前
        1
  •  1
  •   Peter Macej    16 年前

    以下是关闭所有设计器并使文本文件保持打开状态的宏:

    Sub CloseAllDesigners()
        Dim doc As Document
        For Each doc In DTE.Documents
            Dim win As Window
            For Each win In doc.Windows
                Select Case TypeName(win.Object)
                    Case "TextWindow", "HTMLWindow"
                        'keep opened
                    Case Else
                        'close
                        win.Close(vsSaveChanges.vsSaveChangesPrompt)
                End Select
            Next
        Next
    End Sub
    

    查看我的快速教程 how to create and execute VS macro 并为其指定一个快捷键或按钮。甚至可以在每次生成之前自动执行此宏。在宏IDE类视图中,导航到mymacros-environmentevents。打开(双击)环境事件。在模块内插入以下代码:

    Private Sub BuildEvents_OnBuildBegin( _
      ByVal Scope As EnvDTE.vsBuildScope, _
      ByVal Action As EnvDTE.vsBuildAction) _
      Handles BuildEvents.OnBuildBegin
    
        CloseAllDesigners()
    End Sub
    
        2
  •  2
  •   Klaus Byskov Pedersen    16 年前

    我不知道这是不是你要找的,但是如果你打开命令窗口,你可以输入:

    >CloseAll
    >Build.BuildSolution