2
Vote

Separate interactive windows from interpreters

description

At the moment, each interpreter only has one interactive window. We should change this so that interactive windows are independent from interpreters. Specifically:
  • The user can choose which interpreter and mode (IPython/not) should be used by each window
    • Dropdowns are added to the toolbar to allow switching without
    • These settings will appear in the window title and be preserved between sessions
  • The user can have multiple windows using the same interpreter
    • A different process is used for each, so state is not shared.
    • We should look into some sort of pickle-based $copy/$paste for moving objects between processes
  • The user can assign a name for interactive windows, which appear in the window title and menu
    • Default names are "Python Interactive 1", "Python Interactive 2"... as for other windows in VS (Watch, Memory, etc.)
  • The Interactive Window options page is revised to include the interpreter setting.
  • A button is added to the interactive window toolbar to open directly to the options page for that window
    • If we can't select the window correctly in the dialog we can reuse the options control in its own window
  • The Debug Interactive Window is unaffected
  • The target for "Send to Interactive" is an option on each window
    • Only one can be the target at a time

comments

Ptools wrote Feb 8 at 8:15 PM

a welcome improvement!

Zooba wrote Feb 25 at 6:22 PM

Upgrading this to High impact. The analyzer associated with a repl window is very deeply ingrained, and it will take significant changes to the repl evaluators and projection buffers to make it changeable. See 990.