Skip to content

Enhancement: Prevent keyboard input to new terminals when activating environments #4558

Closed
@goodside

Description

@goodside

Environment data

  • VS Code version: Version 1.31.0 (1.31.0)
  • Extension version (available under the Extensions sidebar): 2019.1.0
  • OS and version: macOS Mojave 10.14.1
  • Python version (& distribution if applicable, e.g. Anaconda): 3.7.1, miniconda
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv, conda, virtualenv
  • Relevant/affected Python packages and their versions: N/A

Expected behaviour

When opening a new terminal, users will start typing shell commands immediately. If the shell environment is not ready yet, stray keyboard input should not interfere with it loading properly.

Actual behaviour

When VSCode-Python is activating a virtualenv or conda environment, the console will still accept keyboard input, so the user ends up executing an unintended nonsense command. Most of the time this only a small annoyance, but if the user were to start typing rm (a plausible thing to type here) it's pretty bad that this is immediately completed to rm source /path/to/venv/activate<ENTER> and deletes whatever ./source was.

Steps to reproduce:

  1. Open a Python project with an installed virtualenv.
  2. Open a new terminal with shortcut <CTRL> + <BACKTICK>
  3. Begin typing without waiting.

Logs

Terminal output:

$ lssource /Users/goodside/miniconda3/bin/activate
bash: lssource: command not found

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-terminalbugIssue identified by VS Code Team member as probable bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions