如何让 VS Code 接受用户的输入?

How to allow VS Code to take input from users?

我已经安装了 Visual Studio Code 1.23.1 并添加了扩展 - Python,Code 运行ner.

使用代码 运行ner,现在我可以看到 运行 代码符号(三角形)并突出显示它,我看到快捷键 Ctrl + Alt + N。但是当我尝试使用它到 运行 要求用户输入的代码,我找不到提供输入的方法。当我尝试输入用户输入时,收到错误消息 "Cannot edit in read-only editor"。我认为这是因为我缺少代码 运行ner 的一些配置部分,例如设置 PATH 或其他一些工作区设置。

问题:请帮助我确定我需要做哪些配置以及如何做?

我在安装 Python 时做了 select "Add Python 3.6 to PATH"。我已附上截图以供参考:

注意:即使现在当我右键单击并 select "Run Python File in Terminal" 相同的程序时,我也可以正常输入用户并获得预期的输出。

您可以通过告诉代码运行器使用终端来提供输入。为此,有一个名为 code-runner.runInTerminal 的设置,默认设置为 false,您可以将其设置为 true。

如果您使用 windows 终端命令行(如 CMD 或 PowerShell),还应注意一件事。如果您的项目目录中有空格(例如 C:\Example Test),您将收到错误消息。要解决此问题,您需要在设置 code-runner.executorMap 和 [=15] 下找到的目录路径变量(通常为 $dir$workspaceRoot)周围添加转义引号 (\") =] 在用户设置中。

这是另一个替代答案,我认为更准确
将以下设置添加到您的 vscode 用户设置文件:

"code-runner.executorMap": {
    "python": "$pythonPath -u $fullFileName",
},

查看此参考以了解一些有用的变量: Variables Reference

这里的主要问题是代码 运行ner 扩展默认使用的输出 window 是只读的。如果您改用终端,您的程序将能够正常接受输入。

您可以将 code-runner.runInTerminal 设置为 true(默认为 false),将 Code Runner 配置为使用集成终端而不是输出 window。在 settings.json 文件中,它应该如下所示:"code-runner.runInTerminal": true

如果您想改用 GUI,一旦设置为 true,设置应该如下所示。

如果您使用的是虚拟环境而不是系统 python 安装,您还需要配置第二个设置才能使其与已安装的模块一起正常工作。 code-runner.executorMap 设置将配置 code 运行ner 在您按下 运行 或使用 Ctrl + Alt + N 快捷键后实际执行的操作。默认情况下,它似乎只是调用添加到 PATH 的 python 解释器。

如果您将 settings.json 文件中的设置更改为:

"code-runner.executorMap": {
    "python": "$pythonPath -u $fullFileName"
}

然后 Code Runner 将使用 pythonPath 变量中的任何值。您可以使用命令选项板 (Ctrl + Shift + P) 中的 Python: Select Interpreter 命令进行设置。通过这种方式,您可以 select 虚拟环境中的解释器并使用它而不是默认附加到 PATH 的解释器。

上面的两个设置应该允许您 A) 在集成终端内输入和 B) Select python 解释器代码-运行ner 应该使用现有的轻松执行命令。