Visual Studio Code Python – 2023 年 2 月更新 - 自动选择环境和创建虚拟环境

2023-02-08 10:50:35 +08:00
 winffee

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

此版本包括以下改进:

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

从激活的终端启动 VS Code 时的自动选择环境

当用户通过已激活 conda 或虚拟环境的终端启动 VS Code 时,VS Code 现在会检测到该激活的环境。根据环境类型,VS Code 自动选择环境本身,或询问用户是否要选择现有环境。此功能旨在通过自动选择环境而不需要手动选择来改进您的工作流程。

使用命令 Python: Create Environment 时可选择需求文件和可选依赖项

我们将根据您的反馈继续改进Python: Create Environment命令!以前,当用户使用该命令创建环境时,该命令会搜索常见的需求和依赖文件并自动将它们加载到环境中。现在,该命令在工作区文件夹中查找需求文件,并允许用户多选任意数量的需求以快速选择安装。

或者,Python 扩展检测并读取pyproject.toml 文件的[project.optional-dependencies]表中提供的可选依赖项。然后,我们使用pip install --editable 命令执行任何选定的可选依赖项的安装(执行可编辑安装将以它们在未来版本中成为pyproject.toml中的[build-system] 表为条件)。这被集成为 Python 中的快速选择:Python: Create Environment命令。

预发布:改进 Pylance 对 pytest 的 IntelliSense 支持

我们很高兴地宣布在 Pylance 的预发布版本中支持 pytest fixtures 和参数化!此更新包括强大的功能,可以帮助您在使用 pytest 编写和维护清晰、简洁且易于理解的测试时更高效地工作。

由于增加了对转到定义和查找所有引用的支持,您可以更方便地导航和阅读测试。此功能还支持使用符号重命名(F2) 进行快速更新:

Pylance 还为 pytest fixtures 和参数化参数提供补全,以帮助您更有效地编写测试:

将类型提示添加到 pytest fixture 参数可以帮助进一步提高测试的可读性并在错误成为问题之前捕获它。Pylance 现在提供了两个功能,使这个过程更加实用:您可以触发代码操作(在 macOS 上为 Cmd+.,在 Windows/Linux 上为 Ctrl+.)来注释 pytest 参数的类型,或者甚至通过"python.analysis.inlayHints.pytestParameters"设置启用嵌入提示(然后只需双击提示即可将其插入到您的代码中!)。

Pylance 还将根据提供给装饰器的参数值推断参数化 pytest 参数的类型:

您可以通过安装Pylance 扩展的预发布版本来尝试这些更新,并在https://github.com/microsoft/pylance-release报告您可能遇到的任何问题。

Jupyter 内核选择器改进

我们继续改进 MRU (最近使用)内核选择器。它可以通过设置"notebook.kernelPicker.type"为启用"mru"。未使用的内核将移至辅助选择器"选择另一个内核..."。当您安装了最新的 Jupyter 扩展和 Python 扩展时,此选择器将按其来源(例如:"Jupyter 内核"、"Python 环境"等)对所有内核进行分组。

其他变化和增强

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

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

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

2513 次点击
所在节点    Visual Studio Code
6 条回复
zhuangzhuang1988
2023-02-08 11:09:14 +08:00
微软牛逼啊。
LaurelHarmon
2023-02-08 11:38:17 +08:00
2023 年了,Python 远程开发的提示还是动不动就失效,跟本地的稳定性没法比
maye9999
2023-02-08 14:40:39 +08:00
还是跟 Pycharm 的语法分析差太远,各种本来没错的地方报错
baozhibo
2023-02-09 09:10:51 +08:00
佩服 op ,不知道分享这个帖子是工作内容,还是自己热爱,vs code 有新功能经常发帖宣传。
winffee
2023-02-14 10:15:55 +08:00
@LaurelHarmon 这与个性化设置有关,你可以在 github 中创建并描述您的问题以进行更详细的咨询。https://github.com/microsoft/vscode-python
winffee
2023-02-14 10:18:46 +08:00
@maye9999 你可以在 settings.json 中对 pylance 的智能感知进行更个性化的设置,比如你可以添加以下内容来忽略未定义变量报错信息:

"python.analysis.diagnosticSeverityOverrides": {
"reportUndefinedVariable": "none",
},

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

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

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

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

© 2021 V2EX