2月更新 | Visual Studio Code Python

news2024/12/28 23:03:06

我们很高兴地宣布,2023年2月版 Visual Studio Code Python 和 Jupyter 扩展现已推出!

此版本包括以下改进:

  • 从激活的终端启动 VS Code 时的自动选择环境

  • 使用命令 Python: Create Environmen 时可选择需求文件或可选依赖项

  • 预发布:改进了 Pylance 对 pytest 的 IntelliSense 支持

  • Jupyter 内核选择器改进

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

从激活的终端启动 VS Code 时的自动选择环境

当用户通过已激活 conda 或虚拟环境的终端启动 VS Code 时,VS Code 现在会检测到该激活的环境。根据环境类型,VS Code 自动选择环境本身,或询问用户是否要选择现有环境。此功能旨在通过自动选择环境而不需要手动选择来改进您的工作流程。

使用命令 Python: Create Environment 时可选择需求文件和可选依赖项

我们将根据您的反馈继续改进 Python: Create Environment 命令!以前,当用户使用该命令创建环境时,该命令会搜索常见的需求和依赖文件并自动将它们加载到环境中。现在,该命令在工作区文件夹中查找需求文件,并允许用户多选任意数量的需求以快速选择安装。

或者,Python 扩展检测并读取 pyproject.toml 文件的 [project.optional-dependencies] 表中提供的可选依赖项。然后,我们使用 pip install--editable 命令执行任何选定的可选依赖项的安装(执行可编辑安装将以它们在未来版本中成为 pyproject.toml 中的 [build-system] 表为条件)。这被集成为 Python 中的快速选择:Python: Create Environment 命令。

预发布:改进 Pylance 对 pytest 的 IntelliSense 支持

我们很高兴地宣布在 Pylance 的预发布版本中支持 pytest fixtures 和参数化!此更新包括强大的功能,可以帮助您在使用 pytest 编写和维护清晰、简洁且易于理解的测试时更高效地工作。

由于增加了对转到定义和查找所有引用的支持,您可以更方便地导航和阅读测试。此功能还支持使用符号重命名 (F2) 进行快速更新:

Pylance 还为 pytest fixtures 和参数化参数提供补全,以帮助您更有效地编写测试:

将类型提示添加到 pytest fixture 参数可以帮助进一步提高测试的可读性并在错误成为问题之前捕获它。Pylance 现在提供了两个功能,使这个过程更加实用:您可以触发代码操作(在 macOS 上为 Cmd + . ,在 Windows/Linux 上为Ctrl + .)来注释 pytest 参数的类型,或者甚至通过"python.analysis.inlayHints.pytestParameters"设置启用嵌入提示(然后只需双击提示即可将其插入到您的代码中)。

Pylance 还将根据提供给装饰器的参数值推断参数化 pytest 参数的类型:

您可以通过安装 Pylance 扩展的预发布版本来尝试这些更新,并在https://github.com/microsoft/pylance-release 报告您可能遇到的任何问题。

Jupyter 内核选择器改进

我们继续改进 MRU(最近使用)内核选择器。它可以通过设置 "notebook.kernelPicker.type"为启用"mru"。未使用的内核将移至辅助选择器“选择另一个内核...”。当您安装了最新的 Jupyter 扩展和 Python 扩展时,此选择器将按其来源(例如:“Jupyter 内核”、“Python环境”等)对所有内核进行分组。

其他变化和增强

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

  • Join Selected Cells ( kb(notebook.cell.joinSelected)) 在 Jupyter Notebooks 中将多个选定的单元格合并为一个单元格

  • 将输出回退呈现为 Jupyter 中受支持的 mimetype (vscode-jupyter#8635)

  • Pylance 代码操作 refactor.extract 的新类型:refactor。extract.method 和 refactor.extract.variable (pylance-release#3803)

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

@enthusiastic2003:修复运行路径中带括号的 Python 文件的问题(vscode-python#20414)

通过从 Marketplace 更新或下载 Python 扩展和 Jupyter 扩展来尝试这些新改进,或者直接从 Visual Studio Code 中的扩展视图安装它们(Ctrl + Shift + X 或 ⌘ + ⇧ + X)。您可以在文档中了解有关 Visual Studio Code Python 的更多信息。如果您遇到任何问题或有建议,请在 Python VS Code GitHub 页面上提出问题,或在本文下方留言。谢谢!

参考链接:

  • Python 1:https://marketplace.visualstudio.com/items?itemName=ms-python.python

  • Jupyter 1:https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter

  • Python 2:https://github.com/microsoft/vscode-python/releases

  • Jupyter 2:https://github.com/microsoft/vscode-jupyter/blob/main/CHANGELOG.md

  • Pylance:https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md

  • Pylance 扩展的预发布版本:https://devblogs.microsoft.com/python/python-in-visual-studio-code-june-2022-release/#pre-release-pylance-extension

  • 文档:https://code.visualstudio.com/docs/python/python-tutorial

  • 提出问题:https://github.com/microsoft/vscode-python/issues/new/choose

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能优化之HBase性能调优

HBase是Hadoop生态系统中的一个组件,是一个分布式、面向列存储的内存型开源数据库,可以支持数百万列(MySQL4张表在HBase中对应1个表,4个列)、超过10亿行的数据存储。可用作:冷热数据分离HBase适合作为冷数据…

坐标系、视窗体(裁剪区域),存储着色器

坐标系 两种常见的投影/坐标系,正交和透视,实际上只是特定的4x4变换矩阵。啥都不规定默认的就是-1.0~1.0的笛卡尔坐标系。 正交: 在opengl的核心框架下,没有提供任何内置渲染管线,所以在提交一个几何图形进行渲染之前&…

Ubuntu Protobuf 安装(测试有效)

安装流程 下载软件 下载自己要安装的版本:https://github.com/protocolbuffers/protobuf 下载源码编译: 系统环境:Ubuntu16(其它版本亦可),Protobuf-3.6.1 编译源码 cd protobuf# 当使用 git clone 下来的…

【C语言】操作符详解总结(万字)

操作符详解1. 操作符分类2. 算术操作符3. 移位操作符3.1 整数的二进制是怎么形成的3.2 左移操作符3.3 右移操作符4. 位操作符5. 赋值操作符6. 单目操作符6.1 单目操作符介绍6.2 sizeof 和 数组7. 关系操作符8. 逻辑操作符9. 条件操作符9.1 练习19.2 练习210. 逗号表达式11. 下标…

【Vue】vue2导出页面内容为pdf文件,自定义选中页面内容导出为pdf文件,打印选中页面内容,预览打印内容

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、安装html2canvas和jspdf二、导出pdf使用步骤1.在utils文件夹下创建htmlToPdf.js2.在main.js中引入3.在页面中使用三、打印预览1. 引入print-js2.页面中impor…

PG数据库实现高可用方案(包括通用型方案Corosync+pacemaker协作)

实现高可用方案首先了解一下高可用集群高可用:透明切换,故障切换,连接管理器/集群管理器pgpool-Ⅱ:连接池、复制、负载均衡功能PatroniCorosyncpacemaker高可用解决方案Corosyncpacemakercorosyncpacemaker架构协作资源分配&#…

功耗降低99%,Panamorph超清VR光学架构解析

近期,投影仪变形镜头厂商Panamorph获得新型VR显示技术专利(US11493773B2),该专利方案采用了紧凑的结构,结合了Pancake透镜和光波导显示模组,宣称比传统VR方案的功耗、发热减少99%以上,可显著提高…

通讯录(C++实现)

系统需求通讯录是一个可以记录亲人、好友信息的工具。本章主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录…

【006】Redis主从/哨兵/分片集群Docker搭建

项目源码合集 https://gitee.com/qiuyusy/small-project-study 搭建过程疯狂踩坑,记录一下希望各位少走弯路 目录主从搭建配置文件redis.conf运行容器测试优化哨兵集群配置文件运行容器测试代码读写分离分片集群mkdir -p /opt/docker/redis_study/redis_0/conf mkdir -p /opt/…

藏经阁(五)温湿度传感器 SHT3x-DIS 手册 解析

文章目录芯片特性芯片内部框图芯片引脚定义芯片温湿度范围芯片寄存器以及时序讲解信号转换公式芯片特性 湿度和温度传感器完全校准,线性化温度补偿数字输出供电电压范围宽,从2.4 V到5.5 VI2C接口通讯速度可达1MHz和两个用户可选地址典型精度 2% RH和 0.…

Python 二分查找:bisect库的使用

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

优先级队列详解

目录优先级队列简介关于堆为什么得用完全二叉树用堆来实现优先级队列插入/删除/获取优先级最高的元素模拟实现使用PriorityQueue的注意事项PriorityQueue常用接口优先级队列的构造方法优先级队列简介 PriorityQueue,即优先级队列。它可以保证每次出出来的数据是队列…

探究:kafka生产者/消费者与多线程安全

目录 1. 多线程安全 1.1. 生产者是多线程安全的么? 1.1. 消费者是多线程安全的么? 2. 消费者规避多线程安全方案 2.1. 每个线程维护一个kafkaConsumer 2.2. [单/多]kafkaConsumer实例 多worker线程 2.3.方案优缺点对比 1. 多线程安全 1.1. 生产…

我的Git stash不小心清空了怎么办,提了代码能反悔吗

文章目录1. 前言2. git stash清空场景2. git stash clear后如何还原3.Git撤销已经推送(push)至远端仓库的信息1. 前言 本文总结的知识很实用哈,虽然是git工具的不常用操作,但是绝对不是冷知识,学会可以从会用git升级到git高手。 主要是两种场…

Centos7 安装Mysql8.0

1、到指定目录下下载安装包[rootVM-0-14-centos ~]# cd /usr/local/src2、下载mysql8[rootVM-0-14-centos src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz3、解压mysql8, 通过xz命令解压出tar包, 然后通过t…

KDZD耐电压高压击穿强度测试仪

一、技术参数 01、输入电压: 交流 220 V。 02、输出电压: 交流 0--50KV ; 直流 0—50kv 。 03、电器容量:3KVA。 04、高压分级:0—50KV,(全程可调)。 05、升压速率:0.1KV/s-…

c++11 标准模板(STL)(std::unordered_map)(八)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…

【C++】你不得不爱的——继承

凡是面向对象的语言&#xff0c;都有三大特性&#xff0c;继承&#xff0c;封装和多态&#xff0c;但并不是只有这三个特性&#xff0c;是因为者三个特性是最重要的特性&#xff0c;那今天我们一起来看继承&#xff01; 目录 1.继承的概念及定义 1.概念 2.继承的定义 2.基类…

Linux进程学习【进程地址】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

Dynabook笔记本电脑无法开机怎么重装新系统?

Dynabook笔记本电脑无法开机怎么重装新系统&#xff1f;有用户使用Dynabook笔记本电脑出现了无法正常开机的情况。遇到这样的问题是我们的电脑系统出现了损坏&#xff0c;可以尝试进行系统修复。如果无法修复的话&#xff0c;就需要进行系统重装了。以下为大家带来Dynabook笔记…