Visual Studio 中的 Python 选项
Visual Studio 支持配置用于 Python 开发的交互式开发环境 (IDE)。 可以根据偏好设置选项,以满足特定的开发环境需求。 本文介绍可用于常规布局和行为、调试、诊断和高级 Python 语言功能的选项。
Python 选项的位置
“工具”>“选项”下的 Visual Studio 工具栏中提供了 Python 配置设置。 “选项”对话框在 Python 选项卡上列出了 Python 的大多数设置:
“选项”对话框在“文本编辑器”>“Python”下的其他 Python 设置。 有滚动条、选项卡和格式选项,以及常规和高级设置。 其他设置位于“文本编辑器”设置组的“环境”>“字体和颜色”下。
在早期版本的 Visual Studio 中,可能需要在“选项”对话框中选择“显示所有设置”,以查看 Python 的所有可用选项。
注意
“选项”对话框可能包含一个“试验”选项卡或组,用于显示本文中未介绍的正在开发的功能。 有关详细信息,请参阅微软博客上有关 Python 工程的文章。
Python 的特定选项
在“工具”>“选项”>“Python”下,可以为一般环境设置特定于 Python 的选项,包括交互窗口、conda 环境、调试等。
常规 Python 选项
“工具”>“选项”>“Python”>“常规”下提供了以下选项:
选项 | 默认 | 描述 |
---|---|---|
在创建虚拟环境时显示输出窗口 | On | 清除该选项可避免显示输出 窗口。 |
在安装或删除包时显示输出窗口 | On | 清除该选项可避免显示输出 窗口。 |
显示通知栏以创建环境 | 开 | 设置此选项并在用户打开包含 requirements.txt 或 environment.yml 文件的项目(而不是使用默认全局环境)时,Visual Studio 将显示包含分别创建虚拟环境或 conda 环境的建议的信息栏。 |
显示通知栏以安装包 | 开 | 设置此选项并打开包含不使用默认全局环境的 requirements.txt 文件的项目时,Visual Studio 会将这些要求与当前环境中安装的包进行比较。 如果缺少任何包,Visual Studio 会显示安装这些依赖项的提示。 |
显示用于配置测试框架的通知栏 | 开 | 设置此选项后,如果 Visual Studio 检测到可能包含测试但未启用测试框架的 Python 项目中的文件,Visual Studio 会提示你启用 pytest 或 unittest。 |
始终以管理员身份运行包管理器 | Off | 始终为所有环境提升 pip install 和类似的包管理器操作。 安装包时,如果环境位于文件系统(如 c:\Program Files)的保护区域内,Visual Studio 将提示需要管理员权限。 出现该提示时,可选择始终仅为此环境提升 install 命令。 有关更多信息,请参阅程序包选项卡。 |
选项 | 默认 | 说明 | 可用性 |
---|---|---|---|
在创建虚拟环境时显示输出窗口 | On | 清除该选项可避免显示输出 窗口。 | Visual Studio 2019 及更早版本 |
在安装或删除包时显示输出窗口 | On | 清除该选项可避免显示输出 窗口。 | Visual Studio 2019 及更早版本 |
显示通知栏以创建环境 | 开 | 设置此选项并打开包含 requirements.txt 或 environment.yml 文件的项目时,Visual Studio 会显示一个包含建议的信息栏。 可以创建虚拟环境或 conda 环境,而不是使用默认全局环境。 | Visual Studio 2019 及更高版本 |
显示通知栏以安装包 | 开 | 设置此选项并打开包含不使用默认全局环境的 requirements.txt 文件的项目时,Visual Studio 会将这些要求与当前环境中安装的包进行比较。 如果缺少任何包,Visual Studio 会显示安装这些依赖项的提示。 | Visual Studio 2019 及更高版本 |
始终以管理员身份运行包管理器 | Off | 始终为所有环境提升 pip install 和类似的包管理器操作。 安装包时,如果环境位于文件系统(如 c:\Program Files)的保护区域内,Visual Studio 将提示需要管理员权限。 出现该提示时,可选择始终仅为此环境提升 install 命令。 有关更多信息,请参阅程序包选项卡。 |
Visual Studio 2019 及更早版本 |
初次使用时自动生成完成 DB | 开 | 在编写使用某个库的代码时,优先完成此库的数据库。 有关详细信息,请参阅 IntelliSense 选项卡。 | - Visual Studio 2017 版本 15.5 及更高版本 - 与 IntelliSense 数据库一起使用的更高版本的 Visual Studio |
忽略系统级 PYTHONPATH 变量 | On | 默认情况下会忽略 PYTHONPATH,因为 Visual Studio 提供了一种更直接的方式来指定环境和项目中的搜索路径。 有关详细信息,请参阅在 Visual Studio 搜索路径中使用 Python 文件夹。 | Visual Studio 2019 及更早版本 |
添加链接文件时更新搜索路径 | On | 如果已设置此选项,将一个链接文件添加到项目会更新搜索路径,以便 IntelliSense 能在其完成数据库中包含链接文件的文件夹的内容。 清除此选项将从完成数据库中排除此类内容。 | Visual Studio 2019 及更早版本 |
在找不到导入模块时发出警告 | On | 当知道导入模块当前不可用但不会影响代码操作时,清除此选项可禁止发出警告。 | Visual Studio 2019 及更早版本 |
将缩进不一致报告为 | 警告 | 由于 Python 解释器严重依赖于正确的缩进来确定作用域,因此默认情况下,Visual Studio 将在检测到可能指示编码错误的缩进不一致时发出警告。 设置为“错误”可提升严格度,这样会导致出现这些情况时退出程序 。 若要完全禁用此行为,请选择“不” 。 | Visual Studio 2019 及更早版本 |
检查调查/新闻 | 每周一次 | 设置频率,允许 Visual Studio 以此频率打开窗口,此窗口包含一个网页,其中含有 Python 相关的调查和新闻条目(如果有)。 选项包括“从不”、“每天一次”、“每周一次”和“每月一次” 。 | Visual Studio 2017 及更早版本 |
重置所有永久隐藏的对话框 | n/a | 各对话框提供“不再显示”等选项 。 使用此按钮可清除这些选项并重新显示对话框。 | Visual Studio 2019 及更早版本 |
Conda 环境选项
“工具”>“选项”>“Python”>“Conda”下提供了以下选项:
选项 | 默认 | 描述 |
---|---|---|
Conda 可执行文件路径 | (空白) | 指定 conda.exe 可执行文件的准确路径,而不是依赖于 Python 工作负载随附的默认 Miniconda 安装。 如果此处提供了其他路径,则会优先于默认安装和注册表中指定的任何其他 conda.exe 可执行文件。 如果手动安装较新版本的 Anaconda 或 Miniconda,或者想要使用 32 位发行版(而不是默认 64 位发行版),则可能会更改此设置。 |
调试选项
“工具”>“选项”>“Python”>“调试”下提供了以下选项:
选项 | 默认 | 描述 |
---|---|---|
当存在错误时,在运行前发出提示 | 开 | 设置此选项后,Visual Studio 会提示是否确定要运行包含错误的代码。 要禁用警告,请清除此选项。 |
在进程异常退出时等待输入 在进程正常退出时等待输入 |
On(两者皆是) | 通过 Visual Studio 启动的 Python 程序在其自己的控制台窗口中运行。 默认情况下,无论程序如何退出,窗口都会等待用户按键才会关闭。 若要删除提示并自动关闭窗口,请清除其中任一选项或全部清除。 |
让程序输出显示在“调试输出”窗口 | On | 同时在一个单独的控制台窗口和 Visual Studio 输出 窗口中显示程序输出。 清除此选项可仅在单独控制台窗口中显示输出。 |
在出现 SystemExit 异常(退出代码为 0)时中断 | Off | 如果设置此选项,将在出现此异常时停止调试器。 清除后,调试器将退出,但不会中断。 |
启动 Python 标准库调试 | Off | 可支持在调试时逐步执行标准库源代码,但会增加调试器启动的时间。 |
显示函数返回值 | 开 | 显示“局部变量” 窗口中的函数返回值,然后转到调试程序中的函数调用 (F10) |
显示变量 | 开 | 显示要显示的四组变量以及如何设置显示格式(组、隐藏、内联)。 - 类:默认值为“组” - 受保护:默认值为“内联” - 函数:默认值为“组” - 特殊:默认值为“组” |
选项 | 默认 | 说明 | 可用性 |
---|---|---|---|
当存在错误时,在运行前发出提示 | 开 | 设置此选项后,系统会提示是否确定要运行包含错误的代码。 要禁用警告,请清除此选项。 | Visual Studio 2019 及更早版本 |
在进程异常退出时等待输入 在进程正常退出时等待输入 |
On(两者皆是) | 通过 Visual Studio 启动的 Python 程序在其自己的控制台窗口中运行。 默认情况下,无论程序如何退出,窗口都会等待用户按键才会关闭。 若要删除提示并自动关闭窗口,请清除其中任一选项或全部清除。 | Visual Studio 2019 及更早版本 |
让程序输出显示在“调试输出”窗口 | On | 同时在一个单独的控制台窗口和 Visual Studio 输出 窗口中显示程序输出。 清除此选项可仅在单独控制台窗口中显示输出。 | Visual Studio 2019 及更早版本 |
在出现 SystemExit 异常(退出代码为 0)时中断 | Off | 如果设置此选项,将在出现此异常时停止调试器。 清除后,调试器将退出,但不会中断。 | Visual Studio 2019 及更早版本 |
启动 Python 标准库调试 | Off | 可支持在调试时逐步执行标准库源代码,但会增加调试器启动的时间。 | Visual Studio 2019 及更高版本 |
显示函数返回值 | 开 | 显示“局部变量” 窗口中的函数返回值,然后转到调试程序中的函数调用 (F10) | Visual Studio 2019 及更早版本 |
使用旧版调试程序 | 关 | 指示 Visual Studio 默认使用旧版调试程序。 有关详细信息,请参阅调试 - 使用旧版调试程序。 | 仅限 Visual Studio 2019 |
分析选项
“工具”>“选项”>“Python”>“分析”下提供了以下选项:
选项 | 默认 | 说明 |
---|---|---|
诊断模式 | 仅打开的文件 | 指定语言服务器分析是否存在问题的代码文件,包括工作区和仅打开的文件。 |
日志级别 | 信息 | 指定要由语言服务器执行的日志记录级别。 随着所提供信息的级别不断增加,日志记录的可能级别包括“错误警告”、“警告”、“信息”和“跟踪”。 |
类型检查 | 关 | 指定要执行的类型检查分析的级别: - 关闭:诊断生成未解析的导入/变量,但不执行类型检查分析 - 基本:使用非类型(关闭级别下的所有规则)以及基本类型检查相关规则 - 严格:使用错误严重性最高的所有类型检查规则,包括“关闭”和“基本”级别下的所有规则 |
导入格式 | Absolute | 在自动导入模块时定义默认格式,包括“绝对”或“相对”。 |
存根路径 | <Empty> | 指定包含自定义类型存根的目录的路径。 每个包的类型存根文件应位于各自的子目录中。 |
搜索路径 | <Empty> | 指定导入解析的搜索路径。 接受指定为字符串的路径,如果有多个路径,则以逗号分隔,例如 ["path 1","path 2"] 。 |
Typeshed 路径 | <Empty> | 指定 Visual Studio 使用自定义 Typeshed 文件而不是其捆绑版本的路径。 |
自动添加常见搜索路径,例如“src” | 开 | 指示是否根据预定义名称自动添加搜索路径,例如 src 。 |
为针对语言功能(例如自动导入、添加导入、工作区符号等)安装的第三方库和用户文件编制索引。 | 关 | 指定语言服务器是否应在启动时为用户文件编制索引并安装第三方库。 该索引在功能中提供了一组更完整的符号,包括自动导入、快速修复、自动完成等。 - 设置此选项后,Visual Studio 会为已安装包的顶层符号,例如 package/__init__.py 的“全部” 中的符号,以及最多 2,000 个用户文件中的所有符号编制索引。 - 如果未设置此选项,Visual Studio 将显示先前在编辑器中打开或加载的文件中引用或使用的符号。 |
诊断选项
“工具”>“选项”>“Python”>“诊断”下提供了以下选项:
选项 | 默认 | 说明 | 可用性 |
---|---|---|---|
包含分析日志 | On | 在使用按钮将诊断保存到文件或将其复制到剪贴板时,包含与已安装 Python 环境分析相关的详细日志。 此选项可能会显著增加所生成文件的大小,但诊断 IntelliSense 问题时通常需要使用此选项。 | Visual Studio 2019 及更早版本 |
将诊断保存到文件 | n/a | 此选项将提示输入文件名,然后将日志保存到文本文件。 | Visual Studio 2019 及更早版本 |
将诊断复制到剪贴板(按钮) | n/a | 选择此选项可将整个日志文件放置在剪贴板上。 此操作可能需要花费一段时间,具体时间取决于日志的大小。 | Visual Studio 2019 及更早版本 |
语言服务器选项
“工具”>“选项”>“Python”>“语言服务器”下提供了以下选项:
选项 | 默认 | 说明 | 可用性 |
---|---|---|---|
从 Typeshed 禁用完成 | Off | Visual Studio IntelliSense 通常使用捆绑版本的 Typeshed(一组 .pyi 文件)来查找 Python 2 和 Python 3 的标准库和第三方库的类型提示。 设置此选项将禁用捆绑的 TypeShed 行为。 | Visual Studio 2019 及更早版本 |
自定义 Typeshed 路径 | (空白) | 如果已设置,则 Visual Studio 会在此路径(而不是其捆绑版本)中使用 Typeshed 文件。 如果已设置“从 Typeshed 禁用完成” ,则忽略。 | Visual Studio 2019 及更早版本 |
交互窗口选项
“工具”>“选项”>“Python”>“交互窗口”下提供了以下选项:
选项 | 默认 | 描述 |
---|---|---|
脚本 | n/a | 指定启动脚本的常规文件夹,将其应用于所有环境的交互窗口。 有关详细信息,请参阅启动脚本。 注意:此功能在 Visual Studio 版本中可能不起作用。 |
向上/向下箭头浏览历史记录 | On | 使用箭头键在交互 窗口中浏览历史记录。 清除此设置可改为使用箭头键在交互 窗口的输出中浏览。 |
完成模式 | 仅计算不包含函数调用的表达式 | 要确定交互窗口中表达式上的可用成员,可能需要评估当前未完成的表达式,这可能带来负作用或导致多次调用函数。 “仅评估表达式而无需调用函数”是默认设置,此设置可排除可能调用函数的表达式,并对其他表达式进行评估 。 例如,它会评估 a.b 语句,但不评估 a().b 语句。 “永不评估表达式”仅使用常规 IntelliSense 引擎获取建议,可避免所有副作用 。 “评估所有表达式”会评估完整的表达式以获取建议,不考虑是否存在副作用 。 |
隐藏静态分析建议 | Off | 如果设置此选项,将仅显示通过评估表达式获取的建议。 如果与完成模式 的值“永不评估表达式” 结合使用,交互 窗口中将不会显示任何有用的完成。 |
Python 的文本编辑器选项
在“文本编辑器”>“Python”下,有滚动条、选项卡和格式选项,以及常规和高级设置:
常规 Python 编辑器选项
“工具”>“选项”>“文本编辑器”>“Python”>“常规”下提供了以下选项:
选项 | 默认 | 说明 |
---|---|---|
自动列出成员 | 开 | 设置此选项可自动列出成员以完成代码语句。 |
隐藏高级成员 | 开 | 启用“自动列出成员”选项后,设置此选项可在完成建议中隐藏高级成员。 高级成员是使用频率低于其他成员的成员。 |
参数信息 | 开 | 设置此选项后,将鼠标悬停在参数上会显示详细信息,例如项目定义和文档链接。 |
启用虚拟空间 | 开 | 设置此选项后,会在每个代码行的末尾插入空格。 选择此选项可将注释放置在代码旁的一致位置。 虚拟空间模式在“列选择”模式下启用。 如果未启用虚拟空间模式,插入点将从一行的末尾直接移动到下一行的第一个字符。 注意:此选项受“文本编辑器”>“所有语言”>“常规”>“启用虚拟空间”全局设置的影响。 如果未启用该全局设置,则无法在语言级别启用此选项。 |
自动换行 | 关 | 设置此选项可允许长代码行根据编辑器视口宽度换行。 |
显示可视的自动换行标志符号 | 关 | 启用自动换行选项后,将此选项设置为显示可视的标志符号。 |
行号 | 关 | 设置此选项可在编辑器的左边距中显示每个代码行的行号。 |
启用单击 URL 定位 | 开 | 设置此选项后,可以单击 URL 浏览到目标位置。 |
导航栏 | 关 | 设置此选项可启用代码窗口顶部的下拉框。 这些字段可帮助你导航到代码库中的代码,你可以在其中选择要直接转到的类型或成员。 注意:此选项受“文本编辑器”>“所有语言”>“常规”>“启用导航栏”全局设置的影响。 有关详细信息,请参阅导航代码 > 导航栏。 |
自动大括号完成 | 开 | 设置此选项后,Visual Studio 会在你输入代码时自动为任何左大括号添加右大括号。 |
没有选定内容时对空行应用剪切或复制 | 开 | 默认情况下,当没有显式选择时,Visual Studio 会剪切或复制整个代码行。 使用此选项可在空行上调用时启用或禁用此剪切或复制行为。 |
有关详细信息,请参阅“选项”对话框:“文本编辑器”/>“常规”。
高级 Python 编辑器选项
“工具”>“选项”>“文本编辑器”>“Python”>“高级”下提供了以下选项:
选项 | 默认 | 说明 |
---|---|---|
提供自动导入完成 | 开 | 设置此选项后,Visual Studio 会在完成内容中提供自动导入。 |
自动为函数添加方括号 | 关 | 设置此选项后,当你在编辑器中输入代码时,Visual Studio 会自动为函数添加括号。 |
完成结果
“完成结果”组包含以下选项:
选项 | 默认 | 描述 |
---|---|---|
成员完成显示成员的交集 | 关 | 设置此选项后,Visual Studio 将仅显示所有可能类型支持的完成。 |
基于搜索字符串筛选列表 | 开 | 在输入内容时应用完成建议筛选。 |
为所有标识符自动显示完成项 | 开 | 清除此选项将同时在编辑器和交互窗口中禁用完成。 |
完成列表中的选定内容
“完成列表中的选定内容”组包括以下选项:
选项 | 默认 | 描述 |
---|---|---|
通过键入以下字符提交 | {}[]().,:;+-*/%&|^~=<>#@\ | 这些字符通常位于可能是从完成列表中选取的标识符后面,因此只需键入字符即可轻松提交完成。 可根据需要在列表中删除或添加特定字符。 |
按 Enter 提交当前完成 | 开 | 设置此选项后,Enter 键将选择并应用当前选定的完成。 有关已识别字符列表,请参阅此表中的第一个条目。 |
在完整键入的字末尾按 Enter 添加新行 | Off | 默认情况下,如果键入完成弹出窗口中显示的完整字词,然后按 Enter ,则会提交该完成。 通过设置此选项,可在键入完标识符后有效提交完成,然后按 Enter 键即可插入新行。 |
“杂项”选项
“其他选项”组包括以下设置:
选项 | 默认 | 描述 |
---|---|---|
打开文件时进入大纲模式 | On | 打开 Python 代码文件时,自动在编辑器中打开 Visual Studio 的大纲显示功能。 |
粘贴已删除的 REPL 提示符 | 开 | 从粘贴的文本中删除 REPL Python 命令提示符和继续提示符(>>> 和 ...),这样可以轻松地将代码从交互窗口传输到编辑器。 可根据需要清除此选项,以保留从其他源粘贴的字符。 |
基于类型为名称着色 | On | 在 Python 代码中启用语法着色。 |
“字体”和“颜色”选项
当“文本编辑器”组设置为 Python 时,“环境”>“字体和颜色”下将提供其他 Python 选项:
Python 选项的名称都带有“Python”前缀,且一目了然。 所有 Visual Studio 颜色主题的默认字体都为 10 pt Consolas 常规体(不以粗体显示)。 默认颜色因主题而异。 通常,可以更改字体或颜色以使文本更易于阅读。