public override void SaveSettingsToStorage() { // Synchronize backing properties with UI. if (_window != null) { _window.SyncPageWithControlSettings(PyService); } // Save settings. PyService.DebugInteractiveOptions.Save(); // propagate changed settings to existing REPL windows var model = ComponentModel; var replProvider = model.GetService <IReplWindowProvider>(); foreach (var replWindow in replProvider.GetReplWindows()) { PythonDebugReplEvaluator pyEval = replWindow.Evaluator as PythonDebugReplEvaluator; if (pyEval != null) { if (Options.UseInterpreterPrompts) { replWindow.SetOptionValue(ReplOptions.PrimaryPrompt, pyEval.PrimaryPrompt); replWindow.SetOptionValue(ReplOptions.SecondaryPrompt, pyEval.SecondaryPrompt); } else { replWindow.SetOptionValue(ReplOptions.PrimaryPrompt, Options.PrimaryPrompt); replWindow.SetOptionValue(ReplOptions.SecondaryPrompt, Options.SecondaryPrompt); } replWindow.SetOptionValue(ReplOptions.DisplayPromptInMargin, !Options.InlinePrompts); replWindow.SetOptionValue(ReplOptions.UseSmartUpDown, Options.ReplSmartHistory); } } }
public override void SaveSettingsToStorage() { // Synchronize backing properties with UI. if (_window != null) { _window.SyncPageWithControlSettings(PyService); } // Save settings. Options.Save(); // propagate changed settings to existing REPL windows var model = ComponentModel; if (model == null) { // Might be shutting down? return; } var replProvider = model.GetService <InteractiveWindowProvider>(); foreach (var replWindow in replProvider.GetReplWindows()) { PythonDebugReplEvaluator pyEval = replWindow.Evaluator as PythonDebugReplEvaluator; if (pyEval != null) { // TODO: Update REPL prompts replWindow.SetSmartUpDown(Options.ReplSmartHistory); } } }
public void TestInit() { Version.AssertInstalled(); var serviceProvider = PythonToolsTestUtilities.CreateMockServiceProvider(); _evaluator = new PythonDebugReplEvaluator(serviceProvider); _window = new MockReplWindow(_evaluator); _evaluator._Initialize(_window); _processes = new List <PythonProcess>(); }
public override void SaveSettingsToStorage() { // Synchronize backing properties with UI. if (_window != null) { _window.SyncPageWithControlSettings(PyService); } // Save settings. Options.Save(); // propagate changed settings to existing REPL windows var model = ComponentModel; if (model == null) { // Might be shutting down? return; } var replProvider = model.GetService <IReplWindowProvider>(); foreach (var replWindow in replProvider.GetReplWindows()) { PythonDebugReplEvaluator pyEval = replWindow.Evaluator as PythonDebugReplEvaluator; if (pyEval != null) { // HACK: Many more changes required to support updating // prompts in Dev14. Fixing the crash for now and deferring // the other work until we revamp REPLs completely. #if !DEV14_OR_LATER if (Options.UseInterpreterPrompts) { replWindow.SetPrompts(pyEval.PrimaryPrompt, pyEval.SecondaryPrompt); } else { replWindow.SetPrompts(Options.PrimaryPrompt, Options.SecondaryPrompt); } replWindow.SetOptionValue(ReplOptions.DisplayPromptInMargin, !Options.InlinePrompts); #endif replWindow.SetSmartUpDown(Options.ReplSmartHistory); } } }