5


I'm trying to grab a simple input using input(), but when I run the script within Visual Code the program hangs whenever that line of code is hit.

  • How can I run code within Visual Studio Code and use input()?

task

{
    "version": "0.1.0",

    "command": "python",

    "isShellCommand": true,

    "showOutput": "always",

    "args": ["${file}"],
}

4 Answers 4

7

You can right click within the text file that you wish to run and then select "Run Python file in Terminal".

Sign up to request clarification or add additional context in comments.

4 Comments

This appears to be the most straight forward and correct answer.
Do you know how to create keyboard shortcut for this option?
@Tobol [ { "key": "cmd+r", "command": "python.execInTerminal" } ]
Another good one is [ { "key": "cmd+r", "command": "python.execSelectionInTerminal" } ]
6

Introduction

You will need to run your script from the command-line (terminal), instead of directly in Visual Studio Code, if you would like to interact with the program as a normal user would.

> python name_of_program.py

Elaboration

The output displayed inside Visual Studio Code is not meant to be used for interacting with the underlying script, nor does it have the capability to read any input directly from your keyboard (it simply shows the output of whatever you have decided to run).


Workaround

What you could do is to edit your task-file to automatically spawn a terminal of your choosing instead of running the python-interpreter directly.

Depending on what operating system you are on, and the terminals available, the edits required to do this might look a little different, but they should all follow the same pattern.

{
           "version": "0.1.0",
           "command": "urxvt",
    "isShellCommand": false,
        "showOutput": "always",
              "args": [ "-e", "python ${file}" ]  
}

N O T E
In the above, urxvt is the name of my choice for terminal, -e is the flag required to pass a command that is to be executed upon startup, and python ${file} is the command to execute.

My recommendation is to get the command necessary to fire up a new terminal, and directly execute a python script, working elsewhere before editing your task-file.

5 Comments

Thank you very much ! @Filip Although if it would have been better to run right in VS Code, I think this the best workaround !
Do not forget to upvote the answer, and marking it as accepted, to flag this question as "solved"! Welcome to stackoverflow, @AndreaTulimiero!
I'd like to but I don't have enough repo ! @Filip
However I marked it as the best answer Thx again Man ! @Filip
@AndreaTulimiero now you do! ;)
1

I had similar problem and I guess you ran the program with

ctrl + shift + B for build.

instead of build, you can simply open up terminal inside of vs code by

ctrl + shift + `

once terminal is opened, type in the name of file you'd like to run.

Comments

0

just click on the RUN CODE option at the top right corner of visual studio ode interference. When you run code it automatically runs (input()) function in Terminal.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.