推荐阅读
  • 在 Visual Studio 中使用 Python

    备注 目前仅在 Visual Studio for Windows 中提供 Python 支持;在 Mac 和 Linux 上,可通过 Visual Studio Code 获取 Python 支持。

  • 使用 Python 交互窗口

    本文内容 Visual Studio 为每个 Python 环境提供交互读取-评估-打印-循环 (REPL) 窗口,改进了在命令行中运行 python.exe 获得的 REPL。 借助交互窗口(通过“视图” > “其他窗口” > “<环境&gt

  • 从 Visual Studio 中的模板创建 Python 项目

    本文内容 在 Visual Studio 中安装 Python 支持后,就可以使用各种模板轻松创建新的 Python 项目。 在此快速入门教程中,使用模板创建简单的 Flask 应用。 生成的项目与按照快速入门 - 通过 Flask 创建 Web 应用手动创建的

  • 编写和运行测试

    备注 对于 unittest 框架,如果未在 PythonSettings.json 文件中指定字段 UnitTestRootDirectory 和 UnitTestPattern,则系统会添加它们并分别向其分配默认值“.”和“test*.py” 。

  • 编写和编辑代码

    本文内容 由于将大量开发时间都用在了代码编辑器中,因此可借助 Visual Studio 中的 Python 的支持中的功能来提高工作效率。 这些功能包括 IntelliSense 语法突出显示、自动完成、签名帮助、方法重写、搜索和导航。编辑器还集成了 Vis

  • 克隆 Python 代码存储库

    本文内容 在 Visual Studio 中安装 Python 支持后,可以添加适用于 Visual Studio 的 GitHub 扩展。 利用此扩展可轻松克隆 Python 代码的存储库,并在 IDE 中通过该存储库创建一个项目。 此外,始终可在命令行上克隆

  • 学习 Visual Studio IDE 教程

    本文内容 Visual Studio“集成开发环境”是面向 Python (和其他语言)的创新启动板,可用于编辑、调试并生成代码,然后发布应用。 集成开发环境 (IDE) 是一个功能丰富的程序,可用于软件开发的许多方面。 除了大多数 IDE 提供的标准编辑器和调

  • Visual Studio 中的 Python 项目

    备注 由于 Python 是解释型语言,因此 Visual Studio 中的 Python 项目不会生成类似其他编译型语言项目(例如 C#)的独立可执行文件。 有关详细信息,请参阅问题和解答。

  • 从现有代码创建 Python 项目

    本文内容 在 Visual Studio 中安装 Python 支持后,就可以轻松地将现有 Python 代码引入 Visual Studio 项目。重要此处所述的过程不移动或复制原始源文件。 如果要使用副本,请先复制文件夹。启动 Visual St

  • 使用 Flask 框架创建 web 应用

    备注 本教程与 Flask 快速入门的区别在于,可以更详细地了解 Flask 并了解如何使用不同的 Flask 项目模板(为自己的项目提供更全面的起点)。 例如,创建项目时,项目模板自动安装 Flask 包,而无需按快速入门所示手动安装包。

使用 Python 交互窗口

Visual Studio 为每个 Python 环境提供交互读取-评估-打印-循环 (REPL) 窗口,改进了在命令行中运行 python.exe 获得的 REPL。 借助交互窗口(通过“视图” > “其他窗口” > “<环境>交互”菜单命令打开),可以输入任意 Python 代码,并查看即时结果。 这种编码方式有助于了解与实验 API 和库,并以交互方式开发要包含在项目中的工作代码。

Python 交互窗口

Visual Studio 有大量 Python REPL 模式可供选择:

REPL 描述 编辑 调试 映像
标准 默认 REPL,直接与 Python 通信 标准编辑(多行等)。 是,通过 $attach
调试 默认 REPL,与已调试的 Python 进程通信 标准编辑 仅调试
IPython REPL 与 IPython 后端通信 IPython 命令,Pylab 的便利 是,在 REPL 中内联
带 Pylab 的 IPython REPL 与 IPython 后端通信 标准 IPython 是,单独窗口

本文介绍标准 REPL 模式和调试 REPL 模式。 有关 IPython 模式的详细信息,请参阅使用 IPython REPL

有关包含示例的详细演练,包括与编辑器的交互(如 Ctrl+Enter),请参阅教程步骤 3 :使用交互 REPL 窗口

打开交互窗口

以下有几种方法可用于针对某个环境打开交互窗口。

方法一,切换到 Python 环境窗口(“视图” > “其他窗口” > “Python 环境”或 Ctrl+K > Ctrl+`),然后针对选定的环境,选择“打开交互窗口”命令或按钮。

Python 环境窗口中的交互窗口链接

方法二,在“视图” > “其他窗口”菜单底部附近,可以针对默认环境使用“Python 交互窗口”命令,另外还有一个命令可用于切换到环境窗口:

“视图”>“其他窗口”中的交互窗口菜单项

方法三,可以通过选择“调试” > “在 Python 交互窗口中执行 <Project | File>”菜单命令 (Shift+Alt+F5),打开项目中启动文件的“交互”窗口,或独立文件的“交互”窗口 :

在 Python 交互菜单中执行项目

最后,可以选中文件中的代码,然后如下所述,使用发送到交互命令

交互窗口选项

可以通过“工具” > “选项” > “Python” > “交互窗口”控制“交互”窗口的各个方面(请参阅选项):

Python 交互窗口选项

使用交互窗口

交互窗口打开后,可以在 >>> 提示符处逐行输入代码。 交互窗口会执行输入的每一行代码,包括导入模块、定义变量等:

Python 交互窗口

例外情况是需要其他行的代码才能补全语句,例如 for 语句以冒号结束,如上所示。 在这些情况下,行提示符将更改为 ...,指示需要输入程序块的其他行,如上图中的第四和第五行所示。 在空白行上按 Enter 键时,交互窗口会关闭程序块,并在解释器中运行该程序块。

提示

交互窗口通过自动缩进属于周边范围的语句,改进常用 Python 命令行的 REPL 体验。 其历史记录(使用向上键重新调用)还提供多行项,而命令行 REPL 仅提供单行。

交互窗口还支持多个元命令。 所有元命令都以 $ 开头,你可以键入 $help 获得元命令和 $help <command> 的列表,以获取特定命令的使用情况详细信息。

元命令 描述
$$ 插入注释,用于注释会话中的代码。
$attach 将 Visual Studio 调试器附加到 REPL 窗口进程以启用调试。
$cls$clear 清除编辑器窗口的内容,使历史记录和执行上下文保持不变。
$help 显示命令列表,或有关特定命令的帮助。
$load 从文件加载命令并执行,直到完成。
$mod 将当前范围切换为指定模块名称。
$reset 将执行环境重置为初始状态,但保留历史记录。
$wait 至少等待指定的毫秒数。

Visual Studio 扩展还可以通过实现和导出 IInteractiveWindowCommand 来扩展命令(示例)。

切换范围

默认情况下,项目交互窗口的范围为项目的启动文件,就像从命令提示符处运行一样。 对于独立文件,其范围为该文件。 但是,在 REPL 会话期间,可随时使用交互窗口顶部的下拉列表菜单更改范围:

交互窗口的范围

导入模块后(如键入 import importlib),下拉列表中将显示可切换到该模块任意范围的选项。 交互窗口中的消息还会指示新的范围,可用于跟踪会话期间如何达到某个特定状态。

在某个范围中输入 dir() 将显示该范围的有效标识符,包括函数名称、类和变量。 例如,使用 import importlib 后跟 dir() 将显示以下内容:

Importlib 范围中的交互窗口

发送到交互命令

除了直接在交互窗口中处理代码,还可以在编辑器中选中代码,单击右键,并选择“发送到交互”,或按 Ctrl+Enter。

发送到交互式菜单命令

此命令非常适用于迭代或演化代码开发,包括在开发时测试代码。 例如,将一段代码发送到交互窗口并显示其输出后,可以按向上键再次显示代码、对其进行修改,并通过按 Ctrl+Enter 快速测试。 (在输入结束时按 Enter 将执行它,但在输入过程中按 Enter 将插入新行。)如果有需要的代码,可以轻松将其复制回项目文件。

提示

Visual Studio 默认会删除 >>> 和 ...将代码从交互窗口粘贴到编辑器时,REPL 会发出提示。 可以在“工具” > “选项” > “文本编辑器” > “Python” > “高级”选项卡上使用“粘贴删除 REPL 提示”选项更改此行为。 请参阅选项 - 杂项选项

使用代码单元

代码单元可用于数据分析,并且受到各种文本编辑器支持。

例如,将代码文件用作暂存器时,通常有一小部分代码块需要一次性全部发送。 为了汇集代码,可以在单元开头添加以 #%% 开头的注释,将代码标记为代码单元,结束前一个代码单元。 代码单元可以折叠和展开,在代码单元内使用 Ctrl+Enter 会将整个单元发送到交互窗口并移动到下一个代码单元。

Visual Studio 还会检测以 # In[1]: 等注释开头的代码单元,将 Jupyter 笔记本导出为 Python 文件时会获得这种格式。 通过此次检测,可以轻松地运行 Azure Notebooks 的笔记本,只需下载为 Python 文件,在 Visual Studio 中打开并使用 Ctrl+Enter 运行每个单元即可。

交互式代码单元

IntelliSense 的行为

与代码编辑器中 IntelliSense 仅基于源代码分析不同,交互窗口中,IntelliSense 基于活动的对象。 这些建议在交互窗口中更为正确,尤其是在使用动态生成代码的情况下。 缺点是具有副作用(如记录消息)的函数可能会影响开发体验。

如果此行为造成了困扰,请在“完成模式”组的“工具” > “选项” > “Python” > “交互窗口”下更改设置,如选项 - 交互窗口选项所述。

关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图