Python in Visual Studio Code 2023年12月发布

作者:Courtney Webster

排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 PythonJupyter 扩展将于 2023 年 12 月发布!

此版本包括以下公告:

  • 可配置的调试选项已添加到"运行"按钮菜单
  • 可以使用 Pylance 显示类型层次结构
  • 停用终端中自动激活的虚拟环境的命令支持
  • 设置以打开/关闭 REPL Smart Send,并在不支持时显示消息

如果您有兴趣,可以在我们的 PythonJupyterPylance 扩展更新日志中查看完整的改进列表。

可配置的调试选项已添加到"运行"按钮菜单

Python 调试器扩展现在在"运行"按钮菜单下具有可配置的调试选项。如果选择"Python Debugger: Debug using launch.json ",并且工作区中存在一个 launch.json,则会显示可以选择用于启动调试器的所有可用调试配置。如果您没有现有的 launch.json,系统将提示您选择 launch.json 调试配置模板,以便为 Python 应用程序创建文件,然后可以使用此配置运行应用程序。

Gif 演示了"运行"按钮菜单中的可配置调试选项

可以使用 Pylance 显示类型层次结构

现在,在使用 Pylance 时,您可以更方便地浏览和浏览 Python 项目的类型关系。这在处理具有复杂类型关系的大型代码库时非常有用。

右键单击符号时,可以选择"Show Type Hierarchy"以打开类型层次结构视图。您可以在视图中浏览符号的子类型以及超类型。

GIF 演示 Pylance 在 Python 项目上显示类型层次结构。

可以使用 Pylance 显示类型层次结构

停用终端中自动激活的虚拟环境的命令支持

Python 扩展具有一种新的激活机制,可在默认终端中激活所选环境,而无需运行任何显式激活命令。如我们的 2023 年 8 月发行说明中所述,这目前处于实验性功能,可以通过以下用户设置启用:"python.experiments.optInto": ["pythonTerminalEnvVarActivation"]

但是,此激活机制的一个问题是它不支持 deactivate 命令,因为没有固有的激活脚本。我们收到反馈,这是某些用户工作流的重要组成部分,因此我们添加了对所选默认终端为 PowerShell 或 CMD 的 deactivate 支持。我们计划在未来增加对其他终端的支持。

Gif 演示了 Powershell 终端的自动激活和使用 deactivate 命令。

设置以打开/关闭 REPL Smart Send,并在不支持时显示消息

尝试在包含不受支持的 Python 代码(例如 Python 2 源代码)的 Python 文件上使用 kbstyle(Shift+Enter) 智能发送方式时,现在会出现一条警告消息和一个用于停用 REPL 智能发送的设置。用户还可以通过该设置 python.REPL.enableREPLSmartSend 更改其用户和工作区特定行为,以便进行 REPL 智能发送。

其他更改和增强功能

我们还添加了一些小的增强功能,并修复了用户请求的问题,这些问题应该会改善你在 Visual Studio Code 中使用 Python 和 Jupyter Notebook 的体验。一些值得注意的变化包括:

Pylance 扩展已将其发布节奏调整为每月稳定版本和夜间预发布版本,类似于 Python 扩展发布节奏。这些更改将允许对稳定版本进行更广泛的测试,并提供更可靠的用户体验。

现在,在带有 Python 调试器扩展 (@vscode-python-debugger#115) 的附加调试配置中支持数值的字符串输入。

Python 测试适配器重写实验已向 100% 的用户推出。目前,您可以通过添加 "python.experiments.optOutFrom" : "pythonTestAdapter"settings.json 来选择退出,但我们很快就会放弃这个实验性标志并采用这个新架构。

通过从 Marketplace 下载 Python 扩展Jupyter 扩展来尝试这些新的改进,或直接从 Visual Studio Code 中的扩展视图(Ctrl + Shift + X 或 ⌘ + ⇧ + X)安装它们。可以在文档中详细了解 Visual Studio Code 中的 Python 支持。如果遇到任何问题或有建议,请在 Python VS Code GitHub 页面上提交问题

相关推荐
Cloud_Shy6189 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔
开发语言·python
SunnyDays10119 分钟前
Python 操作 Excel 超链接:添加网页、文件、工作表和图片链接
python·excel
雨辰AI14 分钟前
MySQL 迁移至达梦 DM9 完整改造指南|99% SQL 零改动
java·开发语言·数据库·sql·mysql·政务
弹简特18 分钟前
【Java项目-轻聊】05-AI赋能设计接口文档
java·开发语言
li星野19 分钟前
RAG优化系列:HyDE(假设文档嵌入)——让LLM先写答案再检索
python·学习
AI行业学习21 分钟前
.NET Framework 3.5 SP1 完整离线包(2029.5.29)
开发语言·windows·.net
知识分享小能手22 分钟前
Flask入门学习教程,从入门到精通,Flask智能租房——用户中心知识点详解(9)
python·学习·flask
cany100022 分钟前
C++ -- 队列std::queue
开发语言·c++
MageGojo22 分钟前
做节日活动页时,如何用 API 快速生成对联内容
javascript·python·节日·对联生成
skywalk816326 分钟前
根据言律的语法,能否用racket进行开发呢?主要探讨是否可行。 racket在这里:E:\Program Files\Racket\Racket.exe
开发语言·原型模式