技术速递|Python in Visual Studio Code 2024年4月发布

排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展 2024 年 4 月发布!

此版本包括以下公告:

  • 改进了 Flask 和 Django 的调试配置流程
  • Jupyter Run Dependent Cells with Pylance 的模块和导入分析
  • Hatch 环境发现
  • 为 pipenv、pyenv 和 Poetry 项目自动选择环境
  • "报告问题"命令改进

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

改进了 Flask 和 Django 的调试配置流程

为 Flask 和 Django 应用程序创建启动配置变得更加容易!我们进行了改进,当您在工作区中创建launch.json时,它会自动检测工作区中可能的启动文件。对于 Django,Python 调试器扩展会在工作区中低一级的根目录或子目录中查找manage.py与app.py。对于 Flask,扩展名将查找wsgi.py、app.py 或包含 Flask 应用程序声明的init.py文件(例如app = Flask())。如果在项目中找不到这些文件,则下拉列表将显示相应项目类型的"Default"选项,即使该文件可能不存在。

如果未检测到您的文件,您可以直接输入文件路径或浏览目录中的其他文件。

Jupyter's Run Dependent Cells with Pylance 的模块和导入分析

Jupyter 单元的依赖性分析在最新的 Pylance 预发布版本中得到了改进。通过这些更改,Pylance 可帮助 Jupyter 理解模块导入,这在单元格导入上一个单元格中定义的模块时特别有用。

若要启用此功能,请在 VS Code Insiders 中安装最新的 Pylance 预发行版,并启用jupyter.executionAnalysis.enabled and notebook.consolidatedRunButton设置。

Hatch 环境发现

默认情况下,现在会发现并激活 Hatch 环境,类似于其他常见环境,例如 Venv、Conda 和 Poetry。此外,对于未注册显式环境标识符的 Hatch,扩展能够从环境定位器确定环境类型 (Hatch)。

为 pipenv、pyenv 和 Poetry 项目自动选择环境

如果您的工作空间包含 pipenv、pyenv 或 Poetry 环境,现在会自动为您的工作空间选择相应的环境。以前,扩展程序正确发现了这些环境,但选择了默认的全局解释器,这需要手动为工作区选择适当的环境。现在,Python 扩展根据默认环境的存在和任何相应的配置文件来推断默认环境。例如,在 pyenv 的情况下,扩展会查看.python-version文件以自动为工作区选择适当的解释器。

"Report Issue"命令改进

Python 和 Python Debugger 扩展已进行更新,使您可以更轻松地向我们的存储库报告问题!使用"Report Issue"命令 (workbench.action.openIssueReporter) 提交问题可以完成大部分繁重的工作,提示您提供更多信息,以便我们的团队可以有效地对您遇到的问题进行分类。

要使用 @vscode-python 或 @vscode-python-debugger 的"Report Issue"命令提交问题,请分别从扩展下拉列表中选择 Python 或 Python Debugger。

其他更改和增强功能

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

  • 在 @pylance-release#4345 中"Move to file"重构失败时出现更明确的错误消息
  • REPL Smart Send (python.REPL.enableREPLSmartSend) 现在默认启用

我们还要特别感谢本月的贡献者:

征集社区反馈

当我们计划和优先考虑未来的工作时,我们重视您的反馈!以下是我们希望得到反馈的几个问题:

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

相关推荐
头发够用的程序员几秒前
TensorRT 自定义算子插件实战(一):从零手写 customScaledTanh
c++·人工智能·pytorch·python·深度学习·边缘计算·jetson
阿狗童鞋9 分钟前
Java并发编程实战指南
java·开发语言
xiaoqi019512 分钟前
期货量化软件回测方式深度横评:期魔方、文华财经、无限易、TB开拓者、金字塔全面对比
python·机器学习
别动我齐刘海17 分钟前
简历技术栈全面复习——UDP / TCP / CAN / ZMQ / Protobuf 通信工程
网络·c++·python·tcp/ip·机器学习·udp·github
phltxy20 分钟前
C 语言自定义类型:结构体、位段、枚举与联合体
c语言·开发语言
天赐范式27 分钟前
天赐范式第181天:让耦合开始失稳——竞争耦合与线性失稳边界
python·数字生命·天赐范式·lyapunov指数·动态运行时·耦合失稳·laplacian矩阵
happylifetree1 小时前
Python15:核心语法-数据存储与运算-字符串拼接
python
Sarvartha1 小时前
对象创建与引用
java·开发语言
hasty1 小时前
限制写了却没生效:OpenTelemetry Go 的 Unicode 截断边界
开发语言·后端·golang
huisheng_qaq2 小时前
【Python基础篇-09】深入理解python的闭包与装饰器
python·闭包