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

相关推荐
TomEval5 小时前
【测AI】第16篇:模型公平性与可解释性测试 — AI 的偏见与黑箱
人工智能·python·功能测试·ai·测试用例
fengci.5 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
田里的水稻5 小时前
FA_CNN卷积神经网络四---线性层及其拉平PyTorch
人工智能·pytorch·python·深度学习·神经网络·cnn
Highcharts.js5 小时前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts
钱栈up6 小时前
GitHub热榜上手|Claude插件:4.3万星官方目录
python·开源·github
青春不朽5126 小时前
Python 的 list append 为什么是均摊 O(1)?拆开过度分配那张表,看容量翻倍背后的暗账
java·python·list
yixun_gdas6 小时前
政企网站错敏巡查:错敏都藏在哪些位置?
开发语言·前端·javascript·内容运营
小羊没烦恼!6 小时前
.NET 11 Runtime Async 详解
java·运维·开发语言·javascript·python
Дерек的学习记录6 小时前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5
染指11107 小时前
152.Agent-LangGraph-Command的参数
人工智能·python·langchain·agents