Skip to content

REPL Rewrite, Improvements, Features #21707

Closed

Description

Below lists plans for REPL in VS Code Python as of (Dec 9th, 2024).
More subset of steps are subject to being added as I move forward incrementally.

Milestone 1:

  • Investigate the state of REPL support in the extension Investigate the state of REPL support in the extension #21590
  • Become familiar with REPL code
  • Implement Run Selection/Line in xxx be more smart Run Selection/Line in xxx be more smart? #18105 (Has to be merged after removing support for 3.7) and Implement smart shift+enter using AST #21778
  • Implement Go to next line only when non-selection/non-highlighted case Dynamic Smart Cursor Movement #21838 (Has to be merged after removing support for 3.7 along with the previous item)
  • Create, fix tests that were testing selection previously.
  • Set up an experiment for smart shift+enter and Go to next block line (dynamic cursor movement) in code base.
  • Deprecate 3.7 and merge the smart send (smart shift+enter, go to next block line) after.
  • Create tests for both TypeScript and Python side for smart selection, dynamic cursor movement
  • Enable experiments for all tests in the repo, specifically beneficial for smoke test involving new features.
  • Warning message, and setting to show when user is trying to smart send with invalid code in the currently opened Python file.

Milestone 2:

Milestone 3:

Activity

  1. modified the milestones: November 2023, on Nov 27, 2023
  2. removed this from the milestone on Dec 11, 2023
  3. rchiodo commented on Jun 3, 2024

    @rchiodo

    Anthony Kim (@anthonykim1) Luciana Abud (@luabud) I was wondering if the new REPL would be able to support completions from a language server? Does VS code give you the ability to put up a completion list? (Maybe similar to how history works?, you tab and then it tabs through completions)

  4. anthonykim1 commented on Jun 4, 2024

    @anthonykim1
    Author

    Hello Rich Chiodo (@rchiodo) I'm not entirely sure what you mean, but are you talking about Intellisense? In terms of command history, I believe you can use up and down arrow to navigate through previous commands in the new notebook style REPL.
    Screenshot 2024-06-04 at 10 48 03 AM

  5. rchiodo commented on Jun 4, 2024

    @rchiodo

    That screenshot is exactly what I was talking about. Completions for the code module. It looks like the REPL is already doing what I asked for then :)

  6. anthonykim1 commented on Jun 4, 2024

    @anthonykim1
    Author

    Great! Try adding

    "interactiveWindow.executeWithShiftEnter": false,
    "python.REPL.sendToNativeREPL": true,
    

    in your settings.json to give the new REPL a try!

  7. changed the title [-]REPL Rewrite [/-] [+]REPL Rewrite, Improvements, Features[/+] on Dec 9, 2024
  8. rootsmusic commented on Dec 8, 2025

    @rootsmusic

    Thanks Anthony Kim (@anthonykim1), I'd like to try out these improvements. Is there a doc about editing user settings to enable these features?

  9. anthonykim1 commented on Dec 8, 2025

    @anthonykim1
    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions