尝试以扩展 VS Code 中的代理模式!

在 Visual Studio Code 中运行 Python 代码

无论您是想在 REPL 中试验较短的 Python 代码,还是准备运行 Python 脚本,Python 扩展都提供了多种运行代码的方式。

以交互方式运行 Python 代码

您机器上安装的 Python 解释器提供了一个所谓的交互式 REPL (读取-求值-打印循环),它会读取一段代码,对其进行求值,然后将结果打印到控制台。

在您的机器上安装 Python 解释器后,您可以通过打开系统中的终端或命令提示符,并输入 python (Windows) 或 python3 (macOS/Linux) 来与 Python REPL 交互,从而激活由 >>> 符号表示的 Python REPL。

在 VS Code 中,还有另外两种方式可以与 Python REPL 交互。

原生 REPL

VS Code 的 Python 原生 REPL 构建于经典的 Python REPL 之上,并提供了诸如 Intellisense 和语法高亮等附加功能,使您的 Python 开发体验更加高效。然而,此 REPL 仍然遵循 Python 内置 REPL 的原则,即历史执行顺序及其内容是不可变的。

您可以通过命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 搜索 Python: Start Native REPL 来打开原生 REPL。此外,通过在您的 settings.json 文件中设置 "python.REPL.sendToNativeREPL": true,您可以使用智能发送 (Shift+Enter) 和 Run Selection/Line in Python REPL 命令将代码发送到原生 REPL。通过在您的 settings.json 中设置 "python.REPL.sendToNativeREPL": false,您可以选择继续使用位于终端中的 Python 内置 REPL ( >>> )。

Gif showing the Native REPL for Python.

终端 REPL

与在 VS Code 之外与 Python REPL 交互的方式类似,您可以在 VS Code 中打开一个终端并激活一个 Python REPL。为此,您可以在命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中搜索 Python: Start Terminal REPL,这将为当前选择的 Python 解释器打开一个终端。或者,您可以导航到 Terminal > New Terminal 并输入 python (Windows) 或 python3 (macOS/Linux) 命令。

通过终端 Shell 集成,终端支持许多功能,例如运行最近的命令、命令修饰符和改进的可访问性。要启用或禁用终端中的 Shell 集成,您可以在设置中切换 python.terminal.shellIntegration.enabled

运行 Python 代码

Python 扩展提供了多种无需额外配置即可运行 Python 代码的方式。

  1. 选择编辑器右上角的 Run Python File in Terminal (在终端中运行 Python 文件) 播放按钮。

    Using the Run Python File in Terminal button

    该按钮会打开一个终端面板,您的 Python 解释器会自动激活,然后运行指定的脚本 (例如,python3 hello.py (macOS/Linux) 或 python hello.py (Windows))

    Program output in a Python terminal

  2. 在编辑器窗口的任意位置右键单击,然后选择 Run > Python File in Terminal (这会自动保存文件)

    Run Python File in Terminal command in the Python editor

  3. 选择一行或多行,然后按 Shift+Enter,或右键单击并选择 Run Selection/Line in Python Terminal

    此选项便于仅测试文件的一部分。

  4. 将光标放在一行代码上,然后按 Shift+Enter 激活智能发送。

智能发送

Python 扩展默认启用智能发送 (Shift+Enter)。智能发送会查看光标所在位置的代码,将最小的可运行代码块发送到 Python REPL,然后将您的光标移动到下一行代码。这使您能够轻松高效地在程序中运行 Python 代码。

智能发送在不支持的 Python 版本 (例如,Python 2) 或无效的 Python 代码上将无法工作。要禁用智能发送,转而仅发送光标所在行的代码,请将 python.REPL.enableREPLSmartSend 设置为 false

另请参阅

  • 调试 - 了解如何在本地和远程调试 Python。
  • 测试 - 配置测试环境以及发现、运行和调试测试。