排版:Alan Wang
我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展于 2023 年 10 月发布!
此版本包括以下公告:
- Python 调试器扩展更新
- 弃用 Python 3.7 支持
- Pylint 扩展更换时的 Lint 选项
- Mypy 扩展报告的范围和守护程序模式
- Grace Hopper 会议和开源日
如果您有兴趣,可以在我们的 Python、Jupyter 和 Pylance 扩展更新日志中查看完整的改进列表。
Python 调试器扩展更新
几个月前宣布的 Debugpy 扩展已重命名为“Python Debugger”,便于用户查找该扩展。
此扩展现在包括一个新的用户设置 debugpy.debugJustMyCode,禁用该设置后,允许你单步执行所有应用程序的系统或第三方库代码(默认情况下,调试器仅单步执行你自己的 Python 代码)。对于那些想要更方便地禁用所有项目的 justMyCode 的人来说,这是一个流行的功能请求,而不必在每个项目的 launch.json 调试配置中手动配置它。
若要试用,请确保已安装 Python 调试器扩展。然后打开设置 UI(File > Preferences > Settings),搜索“debugJustMyCode”并禁用复选框:

现在,一旦您创建了一个 launch.json 文件,只要文件中 justMyCode 未指定,它就会默认使用 debugpy.debugJustMyCode 的值。请注意,指定 justMyCode 时,其值将优先于 debugpy.debugJustMyCode 设置。
Pylint 扩展更换时的 Lint 选项
默认情况下,Pylint 扩展仅在保存文件时报告错误和警告。现在有一个名为 pylint.lintOnChange 的新设置,一旦设置为 true,将使扩展能够在您键入时报告错误和警告,而无需保存文件。
Mypy 扩展报告的范围和守护程序模式
Mypy 类型检查器扩展现在有两个新设置,允许您指定 mypy 的报告范围以及是否使用 mypy 的守护程序。
第一个是 mypy-type-checker.reportingScope,可以将其设置为 file (默认值) 以允许仅针对工作区中打开的文件报告问题,或设置为 workspace 启用工作区中所有文件的报告。
第二个是 mypy-type-checker.preferDaemon,当设置为 true 时,将使用 mypy 的守护程序 (dmypy) 而不是 mypy 本身 (mypy) 来执行类型检查,这在某些情况下可能会快得多。
弃用 Python 3.7 支持
如之前在 2023 年 7 月的发布博客中提到的,我们已经在 Python 扩展中删除了官方的 Python 3.7 支持。没有计划主动删除对 Python 3.7的支持,因此我们预计在未来,该扩展将继续与Python 3.7非正式地合作。
请记住,Python 的所有其他版本现在都处于年度发布节奏,因此,我们预计在下一个日历年的第一个扩展版本中,一旦 Python 版本的生命周期结束,我们将停止对 Python 版本的官方支持(即 Python 3.8 计划在 2024 年 10 月达到 EOL,因此 2025 年的第一个扩展版本将停止官方支持)。
Grace Hopper 会议和开源日
9月22日,我们的团队参加了开源日!开源日是一个全天的黑客马拉松,也是 Grace Hopper Celebration 的一部分,Grace Hopper Celebration 是开源领域最大的女性和非二元技术人员庆祝活动。在本次活动中,与会者与同行以及经验丰富的导师合作,为几个开源项目做出贡献。
我们很高兴再次参加这次活动,并感谢所有与我们一起参加这次活动的导师,以及每一位为我们的项目做出贡献的参与者:
- @ludizhan 在 vscode-python#20233中做出了他们的第一个贡献。
- @annaburlyaeva 在 vscode-python#22038中做出了他们的第一个贡献。
- @rr2203 在 vscode-pylint#395 中做出了他们的第一个贡献
- @aku1310 在 vscode-pylint#388 中做出了他们的第一个贡献
- @Kelly-LC 在 vscode-black-formatter#321 中做出了他们的第一个贡献
- @bhagya-98 在 vscode-black-formatter#315、vscode-black-formatter#316 和 vscode-flake8#221 中做出了他们的第一个贡献。
- @Riya28 在 vscode-flake8#219 中做出了他们的第一个贡献
- @sainarne15 在 vscode-flake8#218 中做出了他们的第一个贡献
- @srilasya02 在 vscode-mypy#158 中做出了他们的第一个贡献
- @antar-ghuman 和@Jyothirmaikottu 在 vscode-mypy#153中做出了他们的第一个贡献
- @norasoliman 在 vscode-mypy#159 中做出了他们的第一个贡献
- @pheonix-18 在 vscode-isort#326 中做出了他们的第一个贡献
- @Riddhi-Thanki 在 vscode-isort#325 中做出了他们的第一个贡献
有许多“quick fix”功能问题可供那些希望做出贡献的人使用!我们希望鼓励 Python 社区以任何方式贡献和维护我们创建的各种扩展。您可以在 vscode-python、vscode-pylint、vscode-flake8、vsocde-isort、vscode-mypy 和 vscode-black-formatter 存储库中找到这些问题。
其他更改和增强功能
我们还添加了用户请求的增强功能和修复的问题,这些问题应该可以改善您在 Visual Studio Code 中使用 Python 和 Jupyter Notebooks 的体验。一些值得注意的变化包括:
- 为 conda 环境启用“Use Existing”和“Delete and Recreate”创建环境命令(vscode-python#21828)
- 支持转到 Pylance 的
__getattr__定义(pylance-release#4764) - 现在可以将为部分调用参数(
python.analysis.inlayHints.callArgumentNames) 启用 inlay 提示的设置为partial禁用仅位置和仅关键字参数的提示,或设置为all启用它们 (pylance-release#4543)
通过从 Marketplace 下载 Python 扩展和 Jupyter 扩展来尝试这些新的改进,或者直接从 Visual Studio Code 中的扩展视图(Ctrl + Shift + X 或 ⌘ + ⇧ + X)安装它们。您可以在文档中了解有关 Visual Studio Code 中 Python 支持的更多信息。如果您遇到任何问题或有建议,请在 Python VS Code GitHub 页面上提交问题。
我们还要特别感谢本月的贡献者:
- @Spitfire1900 在 vscode-python#22019中做出了他们的第一个贡献。
- @annaburlyaeva 在 vscode-python#22055中做出了他们的第一个贡献。
- @ludizhan 在 vscode-python#22058中做出了他们的第一个贡献。
- @himi11 在 vscode-python#22062中做出了他们的第一个贡献。