技术速递|Python in Visual Studio Code 2024年8月发布

排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2023 年 8 月发布!

此版本包括以下公告:

  • 面向贡献者的 Python 扩展开发容器
  • 用于运行带有参数的 Python 文件的调试配置
  • Python 扩展 API 的 Npm 包
  • 容错 pytest 发现

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

面向贡献者的 Python 扩展开发容器

现在,Python 扩展的源存储库中有一个 Dev Container。使用此自定义开发容器,贡献者可以在 GitHub Codespaces 中打开 Python 扩展存储库,并开始开发和测试 Python 扩展,而无需进行其他安装。由于我们启用了预构建,因此 Dev Container 将立即加载。

预装了 Python 版本 3.7、3.8、3.9、3.10 和 3.11,因此您可以使用 pyenv 轻松在 Python 版本之间切换。dev 容器还配置为安装开发所需的任何扩展,包括 Pylance 和 Black 格式化程序扩展。

用于运行带参数的文件的调试器配置

新的 Debugpy 扩展https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy现在提供"Python File with Arguments " launch.json 配置,当您想要为 Python 文件提供不同的输入值而无需在每次运行时修改代码或调试器配置时,这非常有用。

若要使用此配置,请确保已安装 Debugpy 扩展。然后,按 Ctrl + Shift + D 或者 ⌘ + ⇧ + D 打开"Run and Debug"视图,然后单击"Create a launch.json file "或齿轮图标以访问该 launch.json 文件。选择"Debugpy",然后从可用配置中选择"Python: File with Arguments"。

然后,打开要调试的 Python 文件,该文件需要命令行参数。要开始调试,请按 F5 或 Run > Start Debugging。将出现一个提示,允许您输入应传递给 Python 文件的所需参数。

输入参数后,按 Enter,调试器将启动,让您单步执行代码! 点此查看视频演示。

主题:Catppuccin Macchiato(vscode.dev 预览)

Python 扩展 API 的 Npm 包

Python 扩展现在提供了一个 npm 包,使其他扩展作者更容易访问和跟踪 Python 扩展 API 中的更改。请查看 @vscode/python-extension npm 模块,以使用计算机上可用的 Python 环境。

容错 pytest 发现

Test Explorer 面板现在支持容错 pytest 发现,这是我们新测试架构中包含的一项功能。如果 pytest 在发现过程中遇到可管理的错误,例如未知导入,则仍将在包含错误的文件之外发现所有剩余的测试。此功能仅在实验性功能后面的新测试重写中可用。重写目前对 100% 的预发布用户和 25% 的发布用户有效,但将在不久的将来普遍推出。在此期间,您可以继续选择加入或退出使用 pythonTestAdapter 设置的重写。

其他更改和增强功能

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

  • 导入解析错误显示有关正在使用的环境的更多信息 (@pylance-release#4368)。
  • 根据反馈,将向 100% 的用户推出依赖项文件中的 Create Environment 按钮的移除 (@vscode-python#20982)。
  • Run file in dedicated terminal 重新添加为运行配置 (@vscode-python#21282)。

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

征集社区反馈

由于我们正在规划和确定未来工作的优先级,因此我们重视您的反馈!以下是我们希望得到反馈的几个问题:

  • 通过双击它们,支持本地查看 numpy 和 pickle 文件:@vscode-python#21443
  • 通过右键单击 requirements.txt 文件,添加对在当前虚拟环境中安装的支持:@vscode-python#21555
  • 配置 launch.json 中的动态模块路径:@vscode-python#21449
    此外,需要提醒的是,功能请求标签的问题需要在开放发布后的 60 天内获得 7 票的👍赞成票,以衡量社区的兴趣。我们将此作为确定即将进行的工作优先级的另一种方式。

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

相关推荐
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003963 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_3 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川4 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc5 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl5 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
云和数据.ChenGuang5 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain