ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

構成マネージャのビルド対象を全てON/OFFするマクロ

私事なんですが、Visual Studioで少しでもビルド時間を短縮する為に、アクティブなプロジェクト以外を全てビルド対象外にしてビルドを掛ける事が頻繁にあります。
や、気休めじゃないかと思う時もあるんですが、使用しているマシンが貧弱だと、ちょっと考え込む際の時間も気になり始めるんですね。


しかし、ビルド対象を何度も切り替えていると、段々チェックを付けたり/外したりするのも面倒になってきます。
という訳で、マクロを作ってみたというテスト。

    Sub ビルド構成を設定する()
        Dim config As String = IIf(MsgBox("対象はDebugビルド(Yes)?Releaseビルド(No)?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes, "Debug", "Relase")
        Debug.Print(config)
        Dim is_deploy As Boolean = IIf(MsgBox("全てビルドする(Yes)?ビルド外す(No)?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes, True, False)

        Dim cnt As Integer = 0
        For Each cfg As SolutionConfiguration In DTE.Solution.SolutionBuild.SolutionConfigurations
            Debug.Print(cfg.Name)
            If cfg.Name = config Then
                cnt = cnt + 1
                If cnt <> 2 Then Continue For
                For Each ctx As SolutionContext In cfg.SolutionContexts
                    Debug.Print("project name:{0}", ctx.ProjectName)
                    Debug.Print("platform:{0}", ctx.PlatformName)
                    Debug.Print("is build:{0} / is deploy:{1}", ctx.ShouldBuild, ctx.ShouldDeploy)
                    ctx.ShouldBuild = is_deploy
                Next
            End If
        Next
    End Sub


そういや、VS2008になったら、こういうマクロをIronPythonで書けるんだろうか?