예제 #1
0
        /// <summary>
        /// Gets the output window pane.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="windowName">Name of the window.</param>
        public static OutputWindowPane GetOutputWindowPane(
            this DTE2 instance,
            string windowName)
        {
            OutputWindow outputWindow = instance.GetOutputWindow();

            for (uint i = 1; i <= outputWindow.OutputWindowPanes.Count; i++)
            {
                if (outputWindow.OutputWindowPanes.Item(i).Name.Equals(windowName, StringComparison.CurrentCultureIgnoreCase))
                {
                    return(outputWindow.OutputWindowPanes.Item(i));
                }
            }

            return(null);
        }
예제 #2
0
        /// <summary>
        /// Outputs the message.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="windowName">Name of the window.</param>
        /// <param name="message">The message.</param>
        public static void OutputMessage(
            this DTE2 instance,
            string windowName,
            string message)
        {
            try
            {
                OutputWindowPane outputWindowPane = instance.GetOutputWindowPane(windowName);

                if (outputWindowPane == null)
                {
                    outputWindowPane = instance.GetOutputWindow().OutputWindowPanes.Add(windowName);
                }

                outputWindowPane.OutputString(message);
            }
            catch (Exception)
            {
            }
        }