当前位置: 首页 > news >正文

2月更新 | Visual Studio Code Python

我们很高兴地宣布,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

相关文章:

2月更新 | Visual Studio Code Python

我们很高兴地宣布,2023年2月版 Visual Studio Code Python 和 Jupyter 扩展现已推出!此版本包括以下改进:从激活的终端启动 VS Code 时的自动选择环境 使用命令 Python: Create Environmen 时可选择需求文件或可选依赖项 预发布:改…...

C++回顾(十八)—— 文件操作

18.1 I/O流概念和流类库结构 1 概念 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。 C输入输出包含以下三个方面的内容: (1)对系统指定的标准设备的输入和输出。即从键盘输入数据&am…...

以java编写员工管理系统(测试过 无问题)

一、系统结果的部分展示 二、题目以及相关要求 三、组成 1.该系统由 Employee 类 、commonEmployee类、Testemd类和managerEmployee类组成 2.Employee实现的代码 public class Employee {private String id;private String name;private String job;private int holiday…...

单例模式之懒汉式

在上篇文章中,我们讲了单例模式中的饿汉式,今天接着来讲懒汉式。 1.懒汉式单例模式的实现 public class LazySingleton {private static LazySingleton instance null;// 让构造函数为private,这样该类就不会被实例化private LazySingleto…...

1638_chdir函数的功能

全部学习汇总:GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 今天看一个半生不熟的小函数,chdir。说半生不熟,是因为这个接口一看就知道是什么功能。然而,这个接口如何用可真就没啥想法了。 …...

使用CEF 获得某头条请求,并生成本地文件的方法

目录 一、获得网站请求响应信息 1、响应过滤 2、匹配过滤URL的函数 3、获得请求响应后的处理...

二十、Django-restframework之视图集和路由器

一、视图集和路由器 REST框架包含了一个处理视图集的抽象,它允许开发人员集中精力建模API的状态和交互,并根据通用约定自动处理URL构造。 视图集类与视图类几乎相同,不同之处在于它们提供的是retrieve或update等操作,而不是get或…...

[深入理解SSD系列 闪存实战2.1.2] SLC、MLC、TLC、QLC、PLC NAND_固态硬盘闪存颗粒类型

闪存最小物理单位是 Cell, 一个Cell 是一个晶体管。 闪存是通过晶体管储存电子来表示信息的。在晶体管上加入了浮动栅贮存电子。数据是0或1取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1. SSD 根据闪存颗粒区分,固态硬盘有SLC、MLC、TLC、QLC、PLC 五种类型…...

论文阅读-MGTAB: A Multi-Relational Graph-Based Twitter Account DetectionBenchmark

目录 摘要 1. 引言 2. 相关工作 2.1. 立场检测 2.2.机器人检测 3.数据集预处理 3.1.数据收集和清理 3.2.专家注释 3.3. 质量评估 3.4.特征分析 4. 数据集构建 4.1.特征表示构造 4.2.关系图构建 5. 实验 5.1.实验设置 5.2.基准性能 5.3训练集大小的研究 5.4 社…...

基于libco的c++协程实现(时间轮定时器)

在后端的开发中,定时器有很广泛的应用。 比如: 心跳检测 倒计时 游戏开发的技能冷却 redis的键值的有效期等等,都会使用到定时器。 定时器的实现数据结构选择 红黑树 对于增删查,时间复杂度为O(logn),对于红黑…...

java多线程与线程池-04线程池与AQS

第7章 线程池与AQS java.util.concurrent包中的绝大多数同步工具,如锁(locks)和屏障(barriers)等,都基于AbstractQueuedSynchronizer(简称AQS)构建而成。这个框架提供了一套同步管理的通用机制,如同步状态的原子性管理、线程阻塞与解除阻塞,还有线程排队等。 在JD…...

优化模型验证关键代码25:样本均值近似技术处理两阶段随机旅行商问题及Gurobipy代码验证

大多数数学规划模型都会考虑到研究问题中存在的不确定性,针对这些不确定性,两种常用的处理方法是鲁棒优化和随机规划。这篇论文我们关注后者,也就是两阶段随机旅行商问题;利用套期保值算法计算不同规模TSP的可行解,同时比较了样本均值近似技术的解的情况,并计算了该问题的…...

老爸:“你做的什么游戏测试简直是不务正业!”——我上去就是一顿猛如虎的解释。

经常有人问我:游戏测试到底是干什么呢?是游戏代练?每天玩游戏?装备随便造,怪物随便秒,线上GM指令随便用?可以每天玩玩游戏,不用忙工作,太爽了?有时朋友不理解…...

JVM垃圾回收调优知识点整理

目录 1、JVM内存模型 1.2、堆及垃圾回收 1.3、JVM参数设置经验: 1.4、对象逃逸分析:...

linux安装mysql-8.0.31

1)、下载mysql-8.0.31压缩包两种方式 a.本地下载后上传服务器解压,下载地址:https://downloads.mysql.com/archives/community/ b.服务器使用命令下载,注意:路径在那,就下载到那个位置。 wget https://dev.mysql.com/…...

2023 年会是网络安全的关键年吗?

过去 12 个月对网络安全领域和周围的每个人来说再次充满挑战。和往年不同,感觉很不一样,攻击源源不断。过去,大型漏洞每季度发生一次,但在过去一年中,在某些情况下,我们几乎每周都会处理严重漏洞。 已知利…...

【深度强化学习】(1) DQN 模型解析,附Pytorch完整代码

大家好,今天和各位讲解一下深度强化学习中的基础模型 DQN,配合 OpenAI 的 gym 环境,训练模型完成一个小游戏,完整代码可以从我的 GitHub 中获得: https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Mod…...

Nginx服务优化与防盗链

目录 1.隐藏nginx版本号 1.查看版本号 2.隐藏版本信息 2.修改用户与组 3.缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.配置防盗链 1.配置web源主机(192.168.156.10 www.lhf.com) 2.配置域名映射关系 3.配置盗链主机 &#xff0…...

npm与yarn常用命令

npm npm -v:查看 npm 版本npm init:初始化后会出现一个 Package.json 配置文件,可以在后面加上 -y,快速跳到问答界面npm install:会根据项目中的 package.json 文件自动给下载项目中所需的全部依赖npm insall 包含 --…...

【C++】C++11新特性——右值引用

文章目录一、左值引用、 右值引用1.1 左值与右值1.2 左值引用1.3 右值引用二、右值引用的意义三、移动语句3.1 移动构造3.2 移动赋值3.3 总结四、move问题五、完美转发5.1 万能引用与折叠5.2 完美转发std::forward一、左值引用、 右值引用 1.1 左值与右值 我们经常能听到左值…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...