private void Initialize() { specFlowProjectConfiguration = LoadConfiguration(); gherkinDialectServices = new GherkinDialectServices(specFlowProjectConfiguration.GeneratorConfiguration.FeatureLanguage); appConfigTracker = new VsProjectFileTracker(project, "App.config", dteWithEvents, visualStudioTracer); appConfigTracker.FileChanged += AppConfigTrackerOnFileChanged; appConfigTracker.FileOutOfScope += AppConfigTrackerOnFileOutOfScope; var enableAnalysis = integrationOptionsProvider.GetOptions().EnableAnalysis; if (enableAnalysis) { featureFilesTracker = new ProjectFeatureFilesTracker(this); featureFilesTracker.Ready += FeatureFilesTrackerOnReady; bindingFilesTracker = new BindingFilesTracker(this); stepSuggestionProvider = new VsStepSuggestionProvider(this); bindingMatchService = new BindingMatchService(stepSuggestionProvider); } initialized = true; if (enableAnalysis) { stepSuggestionProvider.Initialize(); bindingFilesTracker.Initialize(); featureFilesTracker.Initialize(); bindingFilesTracker.Run(); featureFilesTracker.Run(); } }
public bool Match(StepBindingNew binding, bool includeRegexCheck, IBindingMatchService bindingMatchService) { if (binding.BindingType != BindingType) { return(false); } if (instances.Count == 0) { return(false); } return(instances.Any(i => i.Match(binding, true, bindingMatchService))); }
private void Initialize() { visualStudioTracer.Trace("Initializing...", "VsProjectScope"); try { specFlowProjectConfiguration = LoadConfiguration(); gherkinDialectServices = new GherkinDialectServices(specFlowProjectConfiguration.GeneratorConfiguration.FeatureLanguage); appConfigTracker = new VsProjectFileTracker(project, "App.config", dteWithEvents, visualStudioTracer); appConfigTracker.FileChanged += AppConfigTrackerOnFileChanged; appConfigTracker.FileOutOfScope += AppConfigTrackerOnFileOutOfScope; var enableAnalysis = integrationOptionsProvider.GetOptions().EnableAnalysis; if (enableAnalysis) { featureFilesTracker = new ProjectFeatureFilesTracker(this); featureFilesTracker.Ready += FeatureFilesTrackerOnReady; bindingFilesTracker = new BindingFilesTracker(this); stepSuggestionProvider = new VsStepSuggestionProvider(this); stepSuggestionProvider.Ready += StepSuggestionProviderOnReady; bindingMatchService = new BindingMatchService(stepSuggestionProvider); } visualStudioTracer.Trace("Initialized", "VsProjectScope"); initialized = true; if (enableAnalysis) { visualStudioTracer.Trace("Starting analysis services...", "VsProjectScope"); stepSuggestionProvider.Initialize(); bindingFilesTracker.Initialize(); featureFilesTracker.Initialize(); LoadStepMap(); bindingFilesTracker.Run(); featureFilesTracker.Run(); dteWithEvents.BuildEvents.OnBuildDone += BuildEventsOnOnBuildDone; visualStudioTracer.Trace("Analysis services started", "VsProjectScope"); } else { visualStudioTracer.Trace("Analysis services disabled", "VsProjectScope"); } } catch(Exception exception) { visualStudioTracer.Trace("Exception: " + exception, "VsProjectScope"); } }
public bool Match(StepBindingNew binding, bool includeRegexCheck, IBindingMatchService bindingMatchService) { return(bindingMatchService.Match(binding, this, useRegexMatching: includeRegexCheck, useParamMatching: false).Success); }