Visual Studio Code Python – 2023 年 5 月更新 – 使用 Pylance 自动转换 f 字符串、在包含模块名称的字符串上启用代码导航

2023-05-11 14:08:05 +08:00
 winffee

我们很高兴地宣布 2023 年 5 月 Visual Studio Code 的PythonJupyter扩展现已推出!

此版本包括以下改进:

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

Microvenv 支持创建环境命令

当使用未安装包的 Python 发行版调用 Python: Create environment 命令时,Python 扩展现在使用microvenv作为后备。对于预安装在基于 Unix 的系统上的 Python 环境来说,这可能是一个障碍,这会导致 Python: Create environment 命令失败。

Microvenv 是一个轻量级的 Python 模块,它提供了一种极简主义的方法来为您的 Python 项目创建虚拟环境。它没有像虚拟环境那样配备传统的激活脚本,但是当 venv 模块在您的 Python 发行版中不可用时,它为创建隔离环境提供了一个很好的替代方案。

Python: Create environment 命令也将安装 pip 到通过 microvenv 创建的环境中。

默认情况下不再安装 Jupyter 扩展

默认情况下,Jupyter扩展不再与Python扩展一起自动安装。此更改是为了响应Dev Containers用户的反馈,他们希望更快地创建容器。

如果您的 Dev Container 定义仅列出 Python 扩展并希望继续在您的容器中使用 Jupyter notebooks 功能,您可以将 Jupyter 扩展 ID 添加到您的 devcontainer.json 文件中:

  "customizations": {
    "vscode": {
      "extensions": ["ms-python.vscode-pylance", "ms-python.python", "ms-toolsai.jupyter"]
    }
  }

或者,您可以创建一个包含 Python 和 Jupyter 扩展以及任何其他您喜欢的扩展的配置文件

使用 Pylance 自动转换 f 字符串

有一个新 "python.analysis.autoFormatStrings" 设置可以在使用 Pylance 时自动将字符串转换为 f 字符串。启用后,当您在引号内插入 { 时,Pylance 会自动在字符串的开头插入一个 f

此设置目前默认处于禁用状态,但预计会在即将发布的版本中启用,等待积极反馈。如果您对此功能有任何意见或建议,请随时在Pylance GitHub 存储库上分享。

在包含模块名称的字符串上启用代码导航

还有另一个新的实验性设置,"python.analysis.gotoDefinitionInStringLiteral" 它允许从类似模块的字符串文字 Go to Definition 如果您正在处理 Web 应用程序(例如 Django 应用程序)并且想要导航到以字符串文字定义的模块,这将特别有用。

这个新设置与前面提到的 autoFormatStrings 设置一样,目前默认处于禁用状态。但是,我们计划根据反馈在下一个版本中默认启用此行为。最终,我们计划完全移除此设置。

其他变化和增强

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

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

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

979 次点击
所在节点    Python
1 条回复
jsq2627
2023-05-11 14:55:53 +08:00
终于不捆绑 jupyter 了。。又不是人人都干 data science

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939189

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX