我们很高兴地宣布,2022 年 8 月发布的适用于 Visual Studio Code Python和Jupyter扩展现已推出!
此版本包括以下改进:
- Web 应用程序的自动调试配置
- 入门体验的改进
- 在状态栏上显示解释器信息的相关设置
- 一个全新的 Python 工具扩展模板
- 使用 Pylance 删除未使用的导入模块
- 双击接受 Pylance 的类型提示
- 在 Jupyter 单元格中复制输出图像
- 快速跳转到最近失败的单元格
如果您有兴趣,可以在我们的更新日志中查看Python、Jupyter和Pylance扩展的完整改进列表。
Web 应用程序的自动调试配置
为了简化设置VS Code 来运行或调试 Web 应用程序的过程,此版本包括使用Flask、Django或FastAPI的项目的全新自动调试配置。
当您在 VS Code中打开 Run and Debug 视图(Ctrl + Shift + D 或 ⌘+ ⇧ + D)并且工作区中没有调试器配置时(即没有 launch.json 文件),您将看到“show all automatic debug configurations”选项。如果您的项目是遵循 Flask、Django 或 FastAPI 预期格式的 Web 应用程序,在单击该选项后,您将能够看到为执行和调试项目而动态创建的调试配置。现在您只需选择它即可开始捕获所有错误!
入门体验的改进
Python 扩展经过改进,现在可以更轻松地指导用户在需要时安装并选择指定版本的Python。 如果Windows 计算机上未安装Python,在演练中选择“Install Python”按钮将在 Microsoft Store 中打开 Python 应用程序。同时,如果在 Linux 或 macOS 上,终端将自动运行并显示安装说明。
与入门体验相关的另一项改进是,提示选择解释器的通知现在仅在需要解释器时显示(例如,在运行或调试文件时,或诸如使用 linter 或格式化程序之类的工具时),并且不再在启动时显示。其他通知提示也得到了改进,以更准确地显示错误和建议的更改。
Python 解释器显示在状态栏上
我们引入了一个名为 “python.interpreter.infoVisibility” 的新用户设置,它控制所选解释器信息何时显示在状态栏中。您可以在用户设置(Preferences > Command Palette… > Open User Settings (JSON))中进行设置为无论打开什么文件都始终显示它。默认情况下,它仅在 Python 相关文件在编辑器 ( "python.interpreter.infoVisibility": “onPythonRelated” ) 打开时显示。如果您想完全隐藏它,请设置
"python.interpreter.infoVisibility": “never”
还添加了警告状态以指示所选解释器无效的情况:
Python 工具扩展模板
根据一直以来我们为启用Black、 pylint 和isort的格式化和linting以在语言服务器协议后面工作所做的事情,我们意识到我们可以更简单地为大多数 Python linter 或格式化程序创建扩展而无需 TypeScript(这是 VS Code 及其扩展内的语言编写的)。
为此,我们的团队创建了一个模板,允许您通过更改大部分 Python 代码来为您最喜欢的 Python linter 或格式化程序创建一个 VS Code 扩展(除非您计划向其添加更多设置或自定义逻辑 - 那么您将需要使用一些 TypeScript)。
要试用它,您可以按照存储库中的说明进行操作。如果你想发布你的新扩展(并维护它,毕竟权力越大责任越大),你可以按照“发布扩展”文档中的步骤进行操作。
如果您对这个新模板有任何反馈,请在 GitHub 存储库上提出问题!
删除所有未使用的导入
Pylance现在提供了一种代码操作,如果存在多个导入但未在代码中使用或调用的库,那么可以一次性删除所有未使用的导入。要试用它,请打开一个包含未使用导入模块的Python 文件并触发名为“Remove all unused imports”的代码操作:
您还可以通过将以下配置添加到用户设置中来配置 VS Code以在保存 Python 文件时运行所有可用的“fix all”代码操作:
"[python]": {
"editor.codeActionsOnSave": {
"source.fixAll": true
}
}
双击接受类型提示
在7 月版本中,我们添加了对使用Pylance时的变量类型和返回类型嵌入提示的支持。在此版本中,我们将支持接受建议的代码注释。您现在可以双击提示将建议添加到您的代码中:
要了解有关 Inlay 类型提示的更多信息以及如何最好地利用此功能的一些提示,请查看 Jay Miller 的解释性视频和博客文章,了解如何“使 Python 中的 Inlay 类型提示出现/消失”。
将图像从 Jupyter Notebooks 复制到剪贴板
Jupyter 扩展的新版本允许您将图像从 Jupyter 笔记本输出单元复制到剪贴板,以便您可以更轻松地在 VS Code 之外共享它们!
如果你想尝试一下,请确保通过单击要复制的图像左侧的图标将输出演示文稿更改为 png:
然后将鼠标悬停在图像上并选择右侧显示的复制按钮:
现在您可以将其粘贴到您的电子邮件、文档、报告甚至画图中!
转到最近失败的单元格
最新的 Jupyter 扩展版本中引入的另一项改进是能够导航到最近失败的单元格。当您运行所有单元格并且其中一个失败时,您可以单击编辑器顶部的“Go To”按钮,您将跳转到运行失败的那个单元格。
其他更改和增强
我们还添加了一些小的增强功能并修复了用户请求的问题,这些功能应该可以改善您在 Visual Studio Code 中使用 Python 和 Jupyter Notebooks 的体验。一些显著的变化包括:
- Pylint 和 Black 扩展中有一个新设置,允许您指定解释器命令来启动 LSP 服务器 ( vscode-python#19303 )。
- 我们现在有一个新命令 (python.triggerEnvSelection),其他扩展可以使用它来触发错误通知以选择有效的 Python 解释器 ( vscode-python#19450 )。
- 在使用 Pylance时,我们改进了对交互式窗口中魔术命令的支持( pylance-release#2894 )。
- Pylance提高了类型分析性能( pylance-release#2881 )。
- Jupyter 扩展现在具有诊断消息,其中包含可能干扰 Python 内核执行的文件的代码操作 ( vscode-jupyter#10924 )。
- 现在可以通过打开设置恢复跨 VS Code 窗口重新加载来恢复交互式窗口会话( vscode-jupyter#6420 )。
我们还要特别感谢本月的贡献者:
- dazfuller:添加对 unittest 顶级目录选项的支持(vscode-python#19398)。
- Lakshmikanth2001:修复变更日志中的 URL ( vscode-python#19414 )。
- scottshambaugh:改进使用无效调试配置进行测试时的错误消息(vscode-python#19436)。
- BlueskyFR:删除 Gym 存根 ( vscode-python#218 )。
通过从 Marketplace下载 Python 扩展 和Jupyter 扩展来尝试这些新改进 ,或者直接从 Visual Studio Code 中的扩展视图安装它们(Ctrl + Shift + X 或 ⌘ + ⇧ + X)。您可以在文档中了解有关 Visual Studio Code Python 的更多信息。如果您遇到任何问题或有建议, 请 在 Python VS Code GitHub 页面上提出问题。
欢迎前往 Python in Visual Studio Code 官方站点,了解更多。