我们很高兴地宣布 Visual Studio Code 的
Python
和
Jupyter
扩展将于 2024 年 5 月发布!
此版本包括以下公告:
如果您有兴趣,可以在
Python、Jupyter
和
Pylance
扩展的更新日志中查看完整的改进列表。
Python
https://marketplace.visualstudio.com/items?itemName=ms-python.python
Jupyter
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
Python
https://github.com/microsoft/vscode-python/releases
Jupyter
https://github.com/microsoft/vscode-jupyter/blob/main/CHANGELOG.md
Pylance
https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md
“Implement all inherited abstract classes”代码操作
抽象类充当其他类的“蓝图”,并通过促进子类要遵守的清晰结构和要求来帮助构建模块化、可重用的代码。要在 Python 中定义抽象类,可以在
abc 模块中创建一个继承自 ABC 类的类
,并使用 `@abstractmethod` 装饰器注释其方法。然后,可以创建从此抽象类继承的新类,并为基方法定义实现。使用最新的 Pylance 预发布版本可以更轻松地实现这些操作!定义从抽象类继承的新类时,现在可以使用“实现所有继承的抽象类”代码操作自动实现父类中的所有抽象方法和属性:
abc 模块中创建一个继承自 ABC 类的类
https://docs.python.org/3/library/abc.html
以前,Pylance 的自动缩进行为是通过`editor.formatOnType`设置控制的,如果想要禁用自动缩进,但通过其他支持的工具启用字体格式,这曾经是有问题的。为了解决这个问题,Pylance 的最新预发布版本现在有自己的设置来控制自动缩进行为,`python.analysis.autoIndent` 默认情况下是启用的。
Debugpy 从 Python 扩展中删除,转而使用 Python 调试器扩展
在我们的
2024 年 2 月发布博客
中,我们宣布将所有调试功能移至
Python 调试器扩展
,该扩展默认与 Python 扩展一起安装。在此版本中,我们从 Python 扩展中删除了重复的调试代码,这有助于减小扩展下载大小。作为此更改的一部分,在 `launch.json` 配置文件中指定`"type": "python"`,`"type": "debugpy"`两者都被解释为对 Python 调试器扩展路径的引用。这确保了无缝过渡,而无需对现有配置文件进行任何修改即可有效运行和调试。展望未来,我们建议使用 `"type": "debugpy"` ,因为这直接对应于 Python 调试器扩展,该扩展提供对旧版和新式 Python 版本的支持。
Python 调试器扩展
https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy
现在,您可以从测试 UI 使用套接字禁用来运行测试。这是通过 Python 扩展和测试运行子进程之间的通信切换来实现的,现在使用命名管道而不是编号端口。此功能在
Python 测试重写
中可用,默认情况下向所有用户推出,并将很快在 Python 扩展中完全采用。
Python 测试重写
https://devblogs.microsoft.com/python/python-in-visual-studio-code-june-2023-release/#test-discovery-and-execution-rewrite
Pylance 团队一直收到反馈,称 Pylance 的性能在过去几个版本中有所下降。因此,我们对内存消耗和索引进行了一些较小的改进,包括:
-
改进了第三方包索引的性能
-
从工作空间 .conda环境中跳过的 Python 文件无法扫描(
@pylance-release#5191
)
-
跳过不必要的py.typed文件检查的索引(
@pyright#7652
)
-
通过重构分词器和解析器输出来减少内存消耗(
@pyright#7602
)
-
改进了令牌创建的内存消耗(
@pyright#7434
)
对于那些可能仍在使用 Pylance 时遇到性能问题的人,我们恳请通过命令面板中的
Pylance:Report Issue
命令提交问题,最好是日志、代码示例和/或安装在工作环境中的软件包。
此外,我们还在最新的 Pylance 预发布版本中添加了一些功能,以帮助识别潜在的性能问题并收集有关您面临的问题的其他信息。当扩展检测到可能存在性能问题时,会出现一个新通知,提示你在 Pylance 存储库中提交问题。此外,Pylance 现在提供了一个为所有工作线程生成的`cpuprofile`分析命令`Pylance: Start Profiling`。此文件是在通过触发 `Pylance: Start Profiling` and `Pylance: Stop Profiling` 命令启动和停止性能分析后生成的,并且可以在问题中作为附加数据提供。
通过这些较小的改进和报告性能问题的其他方法,我们希望继续改进性能。我们非常感谢在我们努力解决问题时的反馈和合作!
@pylance-release#5191
https://github.com/microsoft/pylance-release/issues/5191
@pyright#7652
https://github.com/microsoft/pyright/pull/7652
@pyright#7602
https://github.com/microsoft/pyright/pull/7602
@pyright#7434
https://github.com/microsoft/pyright/pull/7434
我们还添加了一些小的增强功能,并修复了用户请求的问题,这些问题应该可以改善你在 Visual Studio Code 中使用 Python 和 Jupyter Notebooks 的体验。一些值得注意的变化包括:
@vscode-python#22870
https://github.com/microsoft/vscode-python/issues/22870
@vscode-python#22658
https://github.com/microsoft/vscode-python/issues/22658
@DetachHead
https://github.com/DetachHead
@vscode-python#23267
https://github.com/microsoft/vscode-python/pull/23267
@DavidArchibald
https://github.com/DavidArchibald
@vscode-python-debugger#267
https://github.com/microsoft/vscode-python-debugger/pull/267
当我们计划和优先考虑未来的工作时,我们重视您的反馈!以下是我们希望得到反馈的几个问题:
通过从市场下载 Python 扩展和
Jupyter
扩展来试用这些新的改进,或直接从 Visual Studio Code 中的
扩展
视图(Ctrl + Shift + X 或 ⌘ + ⇧ + X)安装它们。可以在文档中详细了解
Visual Studio Code 中的 Python 支持
。如果遇到任何问题或有建议,请在
Python VS Code GitHub 页面上提交问题
。
@vscode-python#22827
https://github.com/microsoft/vscode-python/issues/22827
Jupyter
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
扩展
https://marketplace.visualstudio.com/items?itemName=ms-python.python
Visual Studio Code 中 Python 支持
https://code.visualstudio.com/docs/python/python-tutorial
Python VS Code GitHub 页面上提交问题
https://github.com/Microsoft/vscode-python