V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX  ›  Visual Studio Code

Python in Visual Studio Code – 五月更新 新的自动缩进设置、实现所有继承的抽象类、Pylance 性能更新

  •  
  •   winffee · 204 天前 · 963 次点击
    这是一个创建于 204 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们很高兴地宣布 Visual Studio Code 的 PythonJupyter 扩展将于 2024 年 5 月发布!

    此版本包括以下公告:

    • “Implement all inherited abstract classes”代码操作
    • 新的自动缩进设置
    • Debugpy 从 Python 扩展中删除,转而使用 Python 调试器扩展
    • 现在可以在测试期间禁用 Socket
    • Pylance 性能更新 如果您有兴趣,可以在我们的 PythonJupyterPylance 扩展更新日志中查看完整的改进列表。

    “Implement all inherited abstract classes”代码操作

    抽象类充当其他类的“蓝图”,并通过促进子类要遵守的清晰结构和要求来帮助构建模块化、可重用的代码。要在 Python 中定义抽象类,可以在 abc 模块中创建一个继承自 ABC 类的类,并使用 @abstractmethod 装饰器注释其方法。然后,可以创建从此抽象类继承的新类,并为基方法定义实现。使用最新的 Pylance 预发布版本可以更轻松地实现这些操作!定义从抽象类继承的新类时,现在可以使用“实现所有继承的抽象类”代码操作自动实现父类中的所有抽象方法和属性:

    新的自动缩进设置

    以前,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 版本的支持。

    现在可以在测试期间禁用 Socket

    现在,您可以从测试 UI 使用套接字禁用来运行测试。这是通过 Python 扩展和测试运行子进程之间的通信切换来实现的,现在使用命名管道而不是编号端口。此功能在 Python 测试重写中可用,默认情况下向所有用户推出,并将很快在 Python 扩展中完全采用。

    Pylance 性能

    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 命令启动和停止性能分析后生成的,并且可以在问题中作为附加数据提供。

    通过这些较小的改进和报告性能问题的其他方法,我们希望继续改进性能。我们非常感谢在我们努力解决问题时的反馈和合作!

    其他更改和增强功能

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

    • 测试资源管理器在嵌套类中正确显示使用 testscenarios 单元测试和参数化测试的项目 (@vscode-python#22870)。
    • 测试资源管理器现在处理具有符号链接的工作区中的测试,特别是工作区根目录,这些工作区根目录是符号链接路径的子级,这在 WSL 方案中特别有用 (@vscode-python#22658)。

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

    征集社区反馈

    当我们计划和优先考虑未来的工作时,我们重视您的反馈!以下是我们希望得到反馈的几个问题:

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3209 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 00:36 · PVG 08:36 · LAX 16:36 · JFK 19:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.