コード例 #1
0
ファイル: BuildEvents.cs プロジェクト: Devenec/VSColorOutput
        private void OnBuildDone(vsBuildScope scope, vsBuildAction action)
        {
            OutputWindowPane buildOutputPane = null;

            // ReSharper disable once LoopCanBeConvertedToQuery
            foreach (OutputWindowPane pane in _dte2.ToolWindows.OutputWindow.OutputWindowPanes)
            {
                if (pane.Guid == VSConstants.OutputWindowPaneGuid.BuildOutputPane_string)
                {
                    buildOutputPane = pane;
                    break;
                }
            }

            if (buildOutputPane == null)
            {
                return;
            }

            if (ShowBuildReport)
            {
                buildOutputPane.OutputString("\r\nProjects build report:\r\n");
                buildOutputPane.OutputString("  Status    | Project [Config|platform]\r\n");
                buildOutputPane.OutputString(" -----------|---------------------------------------------------------------------------------------------------\r\n");
                foreach (var reportItem in _projectsBuildReport)
                {
                    buildOutputPane.OutputString(reportItem + "\r\n");
                }
            }

            if (ShowElapsedBuildTimeEnabled)
            {
                var now       = DateTime.Now;
                var elapsed   = now - _buildStartTime;
                var time      = TimeStampFormatter.FormatTime(elapsed, _cultureInfo, true);
                var buildTime = now.ToString("g", _cultureInfo);
                var text      = $"Time Elapsed {time}";
                var text2     = $"Build ended at {buildTime}";
                buildOutputPane.OutputString("\r\n" + text + "\r\n");
                buildOutputPane.OutputString(text2 + "\r\n");
            }

            if (ShowDonation)
            {
                buildOutputPane.OutputString("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
                buildOutputPane.OutputString("\r\n+++                 Please consider donating to VSColorOutput                    +++");
                buildOutputPane.OutputString("\r\n+++                       https://mike-ward.net/donate/                          +++");
                buildOutputPane.OutputString("\r\n+++            (this message can be turned off in the settings panel)            +++");
                buildOutputPane.OutputString("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n");
            }
        }
コード例 #2
0
 public static FormatterBase Create(string format)
 {
     if (TimeSpanFormatter.CanFormat(format))
     {
         return(new TimeSpanFormatter(format));
     }
     if (TimeStampFormatter.CanFormat(format))
     {
         return(new TimeStampFormatter(format));
     }
     if (DecibelFormatter.CanFormat(format))
     {
         return(new DecibelFormatter(format));
     }
     if (FloatFormatter.CanFormat(format))
     {
         return(new FloatFormatter(format));
     }
     if (IntegerFormatter.CanFormat(format))
     {
         return(new IntegerFormatter(format));
     }
     return(new StringFormatter(format));
 }