/// <summary>
        /// Initializes the singleton instance of the command.
        /// </summary>
        /// <param name="package">Owner package, not null.</param>
        public static async Task InitializeAsync(AsyncPackage package)
        {
            // Verify the current thread is the UI thread - the call to AddCommand
            // in WorkingFilesWindowCommand's constructor requires the UI thread.
            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

            var commandService = await package.GetServiceAsync(
                typeof(IMenuCommandService)) as OleMenuCommandService;

            Instance = new WorkingFilesWindowCommand(package, commandService);
        }
예제 #2
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>
        protected override void Initialize()
        {
            WorkingFilesWindowCommand.Initialize(this);
            base.Initialize();

            var dte2          = (DTE2)GetService(typeof(DTE));
            var kernelFactory = new NinjectKernelFactory();

            _kernel = kernelFactory.CreateKernel(dte2);

            InitializeServices(_kernel);
        }
        /// <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)
        {
            var dte2 = await GetServiceAsync(typeof(DTE)) as DTE2;

            var kernelFactory = new NinjectKernelFactory();

            _kernel = kernelFactory.CreateKernel(dte2);

            InitializeServices(_kernel, this);

            // 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 WorkingFilesWindowCommand.InitializeAsync(this);
        }
 /// <summary>
 /// Initializes the singleton instance of the command.
 /// </summary>
 /// <param name="package">Owner package, not null.</param>
 public static void Initialize(Package package)
 {
     Instance = new WorkingFilesWindowCommand(package);
 }