Esempio n. 1
0
        public OutputPaneLogger(
            [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider,
            IThreadHandling threadHandling,
            IVsOutputWindowTextWriterFactory outputWriterFactory)
        {
#if VS14
            Initialize(serviceProvider, threadHandling.AsyncPump, outputWriterFactory);
#else
            Initialize(serviceProvider, threadHandling.JoinableTaskFactory, outputWriterFactory);
#endif
        }
Esempio n. 2
0
 private void Initialize(IServiceProvider serviceProvider, JoinableTaskFactory taskFactory, IVsOutputWindowTextWriterFactory outputWriterFactory)
 {
     taskFactory.Run(async delegate
     {
         await taskFactory.SwitchToMainThreadAsync();
         //IVsOutputWindow window = (IVsOutputWindow)Package.GetGlobalService(typeof(SVsOutputWindow));
         IVsOutputWindow window = (IVsOutputWindow)serviceProvider.GetService(typeof(SVsOutputWindow));
         var key = new Guid(Key);
         Verify.HResult(window.CreatePane(ref key, "Visual Rust", 1, 0));
         IVsOutputWindowPane pane;
         Verify.HResult(window.GetPane(ref key, out pane));
         this.pane = pane;
     });
     this.taskFactory = taskFactory;
 }