public FileCompanionOpener(ILogger logger, ISolutionIndexService indexService, IVisualStudioCommands visualStudioCommands, IFileCompanionFinder fileCompanionFinder)
 {
     this.logger = logger;
     this.visualStudioCommands = visualStudioCommands;
     this.indexService = indexService;
     this.fileCompanionFinder = fileCompanionFinder;
 }
        protected override void Initialize()
        {
            try
            {
                Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", ToString()));
                base.Initialize();

                statusBar = GetService(typeof (SVsStatusbar)) as IVsStatusbar;
                openWithTestSettings = GetDialogPage(typeof (OpenWithTestSettings)) as OpenWithTestSettings;
                openWithTestSettings.PropertyChanged += openWithTestSettings_PropertyChanged;
                resetOptions = GetDialogPage(typeof(ResetOptions)) as ResetOptions;
                logger = new Logger(this);
                dte = (DTE2) GetService(typeof (DTE));
                if (dte == null)
                    throw new ArgumentNullException("dte");

               var enableDisableCommandID = new CommandID(GuidList.guidOpenWithTestCmdSet,(int)PkgCmdIDList.cmdidEnableDisable);
               enableDisableCommand = DefineCommandHandler(EnableDisableOpenWithTest, enableDisableCommandID);
               enableDisableCommand.Visible = true;
               enableDisableCommand.Checked = openWithTestSettings.EnableAutoOpen;

                indexService = new SolutionIndexService(logger, dte, new FileSystemWrapper());
                companionOpener = new FileCompanionOpener(logger, indexService, new VisualStudioCommands(this), new FileCompanionFinder(logger, indexService));

                resetOptions.IndexService = indexService;
                indexService.FileOpened += indexService_FileOpened;
                indexService.IndexLoadingStarted += indexService_IndexLoadingStarted;
                indexService.IndexLoadingProgress += indexService_IndexLoadingProgress;
                indexService.IndexLoadingFinished += indexService_IndexLoadingFinished;

            }
            catch (Exception e)
            {
                Trace.WriteLine(e);
                if(logger != null)
                    logger.Log(e.Message, "OpenWithTestPackage::Initialzie", e);
            }
        }
 public FileCompanionFinder(ILogger logger, ISolutionIndexService indexService)
 {
     this.logger = logger;
     this.indexService = indexService;
 }