Beispiel #1
0
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        /// <param name="cancellationToken">A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.</param>
        /// <param name="progress">A provider for progress updates.</param>
        /// <returns>A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.</returns>
        protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
        {
            // When initialized asynchronously, the current thread may be a background thread at this point.
            // Do any initialization that requires the UI thread after switching to the UI thread.
            await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);

            await TipOfTheDayCommand.InitializeAsync(this);

            // Show TotD at startup
            if (ShouldShowTOTD())
            {
                TipOfTheDay.ShowWindow();
            }
        }
Beispiel #2
0
        public void HandleVsInitialized()
        {
            var cadence = GetCadence();

            if (cadence == DisplayCadence.Never || cadence == DisplayCadence.SolutionLoad)
            {
                return;
            }

            if (ShouldShowTip(cadence))
            {
                TipOfTheDay.ShowWindow();
                Task.Run(async() => await SetLastDisplayTimeNowAsync());
            }
        }
Beispiel #3
0
        public void HandleSolutionOpened()
        {
            var cadence = GetCadence();

            // Allow one operation when cadence is Startup and multiple when cadence is SolutionLoad
            if (!(cadence == DisplayCadence.Startup && !_solutionOpenedOnce) &&
                !(cadence == DisplayCadence.SolutionLoad))
            {
                return;
            }

            if (ShouldShowTip(cadence))
            {
                TipOfTheDay.ShowWindow();
                _solutionOpenedOnce = true; // When DisplayCadence is Startup, show tip only once
                Task.Run(async() => await SetLastDisplayTimeNowAsync());
            }
        }
Beispiel #4
0
 /// <summary>
 /// This function is the callback used to execute the command when the menu item is clicked.
 /// See the constructor to see how the menu item is associated with this function using
 /// OleMenuCommandService service and MenuCommand class.
 /// </summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event args.</param>
 private void Execute(object sender, EventArgs e)
 {
     TipOfTheDay.ShowWindow();
 }