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

排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 PythonJupyter 扩展 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.pyapp.py。对于 Flask,扩展名将查找wsgi.pyapp.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"命令改进

PythonPython 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 页面上提出问题

相关推荐
AC赳赳老秦39 分钟前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_954706491 小时前
云手机技术详解+Python实战调用|2026高稳云手机平台推荐
开发语言·python·智能手机
chushiyunen1 小时前
java中的路径处理、左右斜杠
java·开发语言·python
jay神1 小时前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
重生之后端学习1 小时前
Java入门
java·开发语言·职场和发展
碧海蓝天20221 小时前
C++法则24:在标准 C++ 中,没有任何可移植的方式判断指针 T* pt 指向的内存位置是否已经 构造了对象,程序员必须手动跟踪哪些元素已构造。
java·开发语言·c++
代码不加糖1 小时前
Proxy能够监听到对象中的对象的引用吗?
开发语言·前端·javascript
charlie1145141912 小时前
现代C++指南:Lambda,让我们用另一种方式持有函数
开发语言·c++
程序员小远2 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
GEO优化小助手2 小时前
2026临沂GEO优化公司实测解析:3家本土机构适配性参考
大数据·人工智能·python