public RunnerWindowControl(Version vsVersion, RunnerWindowMessenger messenger)
        {
            InitializeComponent();

            lblHeadline.Content = $"Visual Studio v{vsVersion}";

            messenger.MessageReceived += OnMessageReceived;
        }
        public override async Task <FrameworkElement> CreateAsync(int toolWindowId, CancellationToken cancellationToken)
        {
            Version version = await VS.Shell.GetVsVersionAsync();

            RunnerWindowMessenger messenger = await Package.GetServiceAsync <RunnerWindowMessenger, RunnerWindowMessenger>();

            return(new RunnerWindowControl(version, messenger));
        }
        protected override async Task ExecuteAsync(OleMenuCmdEventArgs e)
        {
            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

            RunnerWindowMessenger messenger = await Package.GetServiceAsync <RunnerWindowMessenger, RunnerWindowMessenger>();

            _counter += 1;
            messenger.Send($"Message #{_counter}");
        }