技术速递|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 页面上提出问题

相关推荐
奋斗的小花生9 分钟前
c++ 多态性
开发语言·c++
魔道不误砍柴功12 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
闲晨15 分钟前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
_.Switch37 分钟前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
老猿讲编程42 分钟前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man2 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉