private void initializeCommands() { _buildRunner = new VSBuildRunner(_applicationObject, () => { return !_engine.IsRunning; }, (s) => { _engine.SetCustomOutputPath(s); }, (o) => _control.Consume(o), (s) => _control.ClearBuilds(s)); _dispatchers.RegisterHandler(new ShowFeedbackWindow(_applicationObject, _addInInstance, showFeedbackWindow)); // RestartEngine _dispatchers.RegisterHandler( new GenericCommand( "AutoTest.VSAddin.Connect.AutoTestNet_RestartEngine", () => { return Directory.Exists(getWatchDirectory()); }, () => { onSolutionClosingFinished(); System.Threading.Thread.Sleep(500); onSolutionOpened(); })); // ResumeEngine _dispatchers.RegisterHandler(new GenericCommand( "AutoTest.VSAddin.Connect.AutoTestNet_ResumeEngine", () => { return !_engine.IsRunning; }, () => _engine.Resume())); // PauseEngine _dispatchers.RegisterHandler(new GenericCommand( "AutoTest.VSAddin.Connect.AutoTestNet_PauseEngine", () => { return _engine.IsRunning; }, () => _engine.Pause())); // BuildAndTestAll _dispatchers.RegisterHandler(new GenericCommand( "AutoTest.VSAddin.Connect.AutoTestNet_BuildAndTestAll", () => { return _engine.IsRunning; }, () => _engine.BuildAndTestAll())); _dispatchers.RegisterHandler(new OpenConfiguration("AutoTest.VSAddin.Connect.AutoTestNet_ConfigGlobal", () => { return getUsrLocalPath(); }, (s) => { return s; })); _dispatchers.RegisterHandler(new OpenConfiguration("AutoTest.VSAddin.Connect.AutoTestNet_ConfigLocal", () => { return getWatchDirectory(); }, (s) => { return new PathTranslator(_WatchToken).Translate(s); })); _dispatchers.RegisterHandler(new RunTestsUnderCursor("AutoTest.VSAddin.Connect.AutoTestNet_RunTestsUnderCursor", () => { return isEnabled(); }, () => { return buildManually(); }, (run) => { _engine.RunTests(run, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner, (run) => _engine.SetLastTestRun(new[] { run }))); _dispatchers.RegisterHandler(new RerunLastManualTestRun("AutoTest.VSAddin.Connect.AutoTestNet_RerunLastManualTestRun", () => { return isEnabled() && _engine.LastTestRun != null; }, () => { return buildManually(); }, () => { _engine.RerunLastTestRun(_onCompletedOnDemandRun); }, _applicationObject, _buildRunner, () => { return _engine.LastTestRun; })); _dispatchers.RegisterHandler(new DebugCurrentTest("AutoTest.VSAddin.Connect.AutoTestNet_DebugTestUnderCursor", () => { return true; }, () => { return buildManually(); }, (s) => { return _engine.GetAssemblyFromProject(s); }, (test) => _engine.DebugTest(test), _applicationObject, _buildRunner, (test) => _engine.SetLastDebugSession(test))); _dispatchers.RegisterHandler(new RerunLastDebugSession("AutoTest.VSAddin.Connect.AutoTestNet_RerunLastDebugSession", () => { return _engine.LastDebugSession != null; }, () => { return buildManually(); }, () => _engine.RerunLastDebugSession(), _applicationObject, _buildRunner)); _dispatchers.RegisterHandler(new RunTestsForSolution("AutoTest.VSAddin.Connect.AutoTestNet_RunSolutionTests", () => { return isEnabled(); }, () => { return buildManually(); }, (runs) => { _engine.RunTests(runs, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner, (runs) => _engine.SetLastTestRun(runs))); _dispatchers.RegisterHandler(new RunTestsForCodeModel("AutoTest.VSAddin.Connect.AutoTestNet_RunCodeModelTests", () => { return isEnabled(); }, () => { return buildManually(); }, (runs) => { _engine.RunTests(runs, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner, (runs) => { return getBuildListGenerator().Generate(runs.Select(x => x.Project)); }, (runs) => _engine.SetLastTestRun(runs))); }
/// <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() { base.Initialize(); try { this.SetEngine(); this.BindEvents(); this.InitializeCommands(); _buildRunner = new VSBuildRunner(_applicationObject, () => { return !_engine.IsRunning; }, (s) => _engine.SetCustomOutputPath(s), (o) => _control.Consume(o), (s) => _control.ClearBuilds(s)); } catch (Exception exception) { Debug.WriteException(exception); } }
private void RegisterCommandHandlers() { _buildRunner = new VSBuildRunner(_applicationObject, () => { return !_client.IsRunning; }, (s) => Connect.SetCustomOutputpath(s), (o) => _control.IncomingMessage(o), (s) => _control.ClearBuilds(s)); _dispatchers.RegisterHandler(new AutoTestVSConfigurationGlobal(_client)); _dispatchers.RegisterHandler(new AutoTestVSConfigurationSolution(_client)); _dispatchers.RegisterHandler(new AutoTestVSDetectRecursive(_client)); _dispatchers.RegisterHandler(new AutoTestVSAbout(_client)); _dispatchers.RegisterHandler(new AutoTestVSRunAll(_applicationObject, _client, _buildRunner)); _dispatchers.RegisterHandler(new AutoTestVSClearTestCache(_client)); _dispatchers.RegisterHandler(new AutoTestVSRunInformationToolbox(_applicationObject, _addInInstance)); _dispatchers.RegisterHandler(new RunTestsUnderCursor("ContinuousTests.VS.Connect.ContinuousTests_RunUnderCursor", () => IsSolutionOpened, () => { return buildManually(); }, run => _client.StartOnDemandRun(run), _applicationObject, _buildRunner, run => _client.SetLastRun(run))); _dispatchers.RegisterHandler(new AutoTestVSStart(_client)); _dispatchers.RegisterHandler(new AutoTestVSStop(_client)); _dispatchers.RegisterHandler(new GetAffectedCodeGraph(_client, _applicationObject)); _dispatchers.RegisterHandler(new GetProfiledCodeGraph(_client, _applicationObject)); _dispatchers.RegisterHandler(new AutoTestVSGetLastGraph(_client)); _dispatchers.RegisterHandler(new GetSequenceDiagram(_client, _applicationObject)); _dispatchers.RegisterHandler(new DebugCurrentTest("ContinuousTests.VS.Connect.ContinuousTests_DebugCurrentTest", () => IsSolutionOpened, () => { return buildManually(); }, GetAssembly, test => Debug(_applicationObject, test), _applicationObject, _buildRunner, test => LastDebugRun = test)); _dispatchers.RegisterHandler(new RerunLastManualTestRun("ContinuousTests.VS.Connect.ContinuousTests_RunLastOnDemandRun", () => { return Connect.IsSolutionOpened && _client.HasLastOnDemandRun; }, () => { return buildManually(); }, () => _client.RunLastOnDemandRun(), _applicationObject, _buildRunner, () => _client.LastOnDemandRun)); _dispatchers.RegisterHandler(new RerunLastDebugSession("ContinuousTests.VS.Connect.ContinuousTests_RunLastDebug", () => IsSolutionOpened && LastDebugRun != null, buildManually, () => Debug(_applicationObject, LastDebugRun), _applicationObject, _buildRunner)); _dispatchers.RegisterHandler(new RunRelatedTests(_client, _applicationObject, _buildRunner)); _dispatchers.RegisterHandler(new RealtimeToggler(_client)); _dispatchers.RegisterHandler(new LastTestsRanHandler(_applicationObject, _addInInstance)); _dispatchers.RegisterHandler(new RunTestsForSolution("ContinuousTests.VS.Connect.ContinuousTests_RunForSolution", () => IsSolutionOpened, buildManually, tests => _client.StartOnDemandRun(tests), _applicationObject, _buildRunner, runs => _client.SetLastRun(runs))); _dispatchers.RegisterHandler(new RunTestsForCodeModel("ContinuousTests.VS.Connect.ContinuousTests_RunCodeModelTests", () => IsSolutionOpened, buildManually, (tests) => _client.StartOnDemandRun(tests), _applicationObject, _buildRunner, projects => _client.GetProjectBuildList(projects.Select(x => x.Project)), runs => _client.SetLastRun(runs))); _dispatchers.RegisterHandler(new GenericCommand("ContinuousTests.VS.Connect.ContinuousTests_ReportIssue", () => true, () => Browse.To("http://moose.uservoice.com"))); }