Python in Visual Studio Code 五月更新 新的自动缩进设置、实现所有继承的抽象类、Pylance 性能更新 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
注册用户请  登录
winffee
V2EX    Visual Studio Code

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

  •  
  •   wnffee 2024-05-07 10:19:03 +08:00 1359 次点击
    这是一个创建于 522 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们很高兴地宣布 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     Solana     3548 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:36 PVG 12:36 LAX 21:36 JFK 00:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86