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"); } }
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)); }