/// <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 async System.Threading.Tasks.Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { base.Initialize(); // TODO: DI, plugins? var outputHandlers = new IOutputHandler[] { new MessageBoxOutputHandler(), new ModelFormOutputHandler(), new TempFileInNewTabOutputHandler(), }; SerializeThisCommand.Initialize(this, new DefaultSerializerFactory(), outputHandlers); }
/// <summary> /// Initializes the singleton instance of the command. /// </summary> /// <param name="package">Owner package, not null.</param> /// <param name="serializerFactory"></param> /// <param name="outputHandlers"></param> public static void Initialize(Microsoft.VisualStudio.Shell.Package package, ISerializerFactory serializerFactory, IEnumerable <IOutputHandler> outputHandlers) { Instance = new SerializeThisCommand(package, serializerFactory, outputHandlers); }