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

Python in Visual Studio Code 2023年10月发布

排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展于 2023 年 10 月发布!
此版本包括以下公告:

  • Python 调试器扩展更新
  • 弃用 Python 3.7 支持
  • Pylint 扩展更换时的 Lint 选项
  • Mypy 扩展报告的范围和守护程序模式
  • Grace Hopper 会议和开源日

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

Python 调试器扩展更新

几个月前宣布的 Debugpy 扩展已重命名为“Python Debugger”,便于用户查找该扩展。

此扩展现在包括一个新的用户设置 debugpy.debugJustMyCode,禁用该设置后,允许你单步执行所有应用程序的系统或第三方库代码(默认情况下,调试器仅单步执行你自己的 Python 代码)。对于那些想要更方便地禁用所有项目的 justMyCode 的人来说,这是一个流行的功能请求,而不必在每个项目的 launch.json 调试配置中手动配置它。

若要试用,请确保已安装 Python 调试器扩展。然后打开设置 UI(File > Preferences > Settings),搜索“debugJustMyCode”并禁用复选框:
在这里插入图片描述
现在,一旦您创建了一个 launch.json 文件,只要文件中 justMyCode 未指定,它就会默认使用 debugpy.debugJustMyCode 的值。请注意,指定 justMyCode 时,其值将优先于 debugpy.debugJustMyCode 设置。

Pylint 扩展更换时的 Lint 选项

默认情况下,Pylint 扩展仅在保存文件时报告错误和警告。现在有一个名为 pylint.lintOnChange 的新设置,一旦设置为 true,将使扩展能够在您键入时报告错误和警告,而无需保存文件。

Mypy 扩展报告的范围和守护程序模式

Mypy 类型检查器扩展现在有两个新设置,允许您指定 mypy 的报告范围以及是否使用 mypy 的守护程序。

第一个是 mypy-type-checker.reportingScope,可以将其设置为 file (默认值) 以允许仅针对工作区中打开的文件报告问题,或设置为 workspace 启用工作区中所有文件的报告。

第二个是 mypy-type-checker.preferDaemon,当设置为 true 时,将使用 mypy 的守护程序 (dmypy) 而不是 mypy 本身 (mypy) 来执行类型检查,这在某些情况下可能会快得多。

弃用 Python 3.7 支持

如之前在 2023 年 7 月的发布博客中提到的,我们已经在 Python 扩展中删除了官方的 Python 3.7 支持。没有计划主动删除对 Python 3.7的支持,因此我们预计在未来,该扩展将继续与Python 3.7非正式地合作。

请记住,Python 的所有其他版本现在都处于年度发布节奏,因此,我们预计在下一个日历年的第一个扩展版本中,一旦 Python 版本的生命周期结束,我们将停止对 Python 版本的官方支持(即 Python 3.8 计划在 2024 年 10 月达到 EOL,因此 2025 年的第一个扩展版本将停止官方支持)。

Grace Hopper 会议和开源日

9月22日,我们的团队参加了开源日!开源日是一个全天的黑客马拉松,也是 Grace Hopper Celebration 的一部分,Grace Hopper Celebration 是开源领域最大的女性和非二元技术人员庆祝活动。在本次活动中,与会者与同行以及经验丰富的导师合作,为几个开源项目做出贡献。

我们很高兴再次参加这次活动,并感谢所有与我们一起参加这次活动的导师,以及每一位为我们的项目做出贡献的参与者:

  • @ludizhan 在 vscode-python#20233中做出了他们的第一个贡献。
  • @annaburlyaeva 在 vscode-python#22038中做出了他们的第一个贡献。
  • @rr2203 在 vscode-pylint#395 中做出了他们的第一个贡献
  • @aku1310 在 vscode-pylint#388 中做出了他们的第一个贡献
  • @Kelly-LC 在 vscode-black-formatter#321 中做出了他们的第一个贡献
  • @bhagya-98 在 vscode-black-formatter#315、vscode-black-formatter#316 和 vscode-flake8#221 中做出了他们的第一个贡献。
  • @Riya28 在 vscode-flake8#219 中做出了他们的第一个贡献
  • @sainarne15 在 vscode-flake8#218 中做出了他们的第一个贡献
  • @srilasya02 在 vscode-mypy#158 中做出了他们的第一个贡献
  • @antar-ghuman 和@Jyothirmaikottu 在 vscode-mypy#153中做出了他们的第一个贡献
  • @norasoliman 在 vscode-mypy#159 中做出了他们的第一个贡献
  • @pheonix-18 在 vscode-isort#326 中做出了他们的第一个贡献
  • @Riddhi-Thanki 在 vscode-isort#325 中做出了他们的第一个贡献

有许多“quick fix”功能问题可供那些希望做出贡献的人使用!我们希望鼓励 Python 社区以任何方式贡献和维护我们创建的各种扩展。您可以在 vscode-python、vscode-pylint、vscode-flake8、vsocde-isort、vscode-mypy 和 vscode-black-formatter 存储库中找到这些问题。

其他更改和增强功能

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

  • 为 conda 环境启用“Use Existing”和“Delete and Recreate”创建环境命令(vscode-python#21828)
  • 支持转到 Pylance 的 __getattr__ 定义(pylance-release#4764)
  • 现在可以将为部分调用参数( python.analysis.inlayHints.callArgumentNames) 启用 inlay 提示的设置为 partial 禁用仅位置和仅关键字参数的提示,或设置为 all 启用它们 (pylance-release#4543)

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

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

  • @Spitfire1900 在 vscode-python#22019中做出了他们的第一个贡献。
  • @annaburlyaeva 在 vscode-python#22055中做出了他们的第一个贡献。
  • @ludizhan 在 vscode-python#22058中做出了他们的第一个贡献。
  • @himi11 在 vscode-python#22062中做出了他们的第一个贡献。

相关文章:

Python in Visual Studio Code 2023年10月发布

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展于 2023 年 10 月发布! 此版本包括以下公告: Python 调试器扩展更新弃用 Python 3.7 支持Pylint 扩展更换时的 Lint 选项Mypy 扩展报告的范围和守护程序模式G…...

Webmin远程命令执行漏洞复现报告

漏洞编号 CVE-2019-15107 漏洞描述 Webmin是一个基于Web的系统配置工具&#xff0c;用于类Unix系统。密码重置页面中存在此漏洞&#xff0c;允许未经身份验证的用户通过简单的 POST 请求执行任意命令。 影响版本 Webmin<1.920 漏洞评级 严重 利用方法&#xff08;利…...

webstorm自定义文件模板(Vue + Scss)

最终效果如下&#xff1a; 具体配置如下&#xff1a; 新增文件代码如下&#xff1a; <!--* Description: ${COMPONENT_NAME} 页面* Author: mhf* Date: ${DATE} --> <template><div>${COMPONENT_NAME} </div> </template><script&g…...

楔子-写在之前

最近一年都在忙着一个项目&#xff0c;并且需要学习另一个领域的知识&#xff0c;从单片机过渡到了LINUX嵌入式&#xff0c;倒静不下心去写点东西。看了下之前写的东西&#xff0c;感觉已经过去了很久很久。现在项目快忙完了&#xff0c;准备把最近的心得给大家分享下。 前言 …...

第 5 章 数组和广义表(稀疏矩阵的三元组顺序表存储实现)

1. 背景说明 为了节省存储空间&#xff0c;可以对这类矩阵进行压缩存储。所谓压缩存储是指&#xff1a;为多个值相同的元只分配一个存储空间&#xff0c;对零元不分配空间。 2. 示例代码 1)status.h /* DataStructure 预定义常量和类型头文件 */ #include <string.h>#i…...

【RabbitMQ 实战】11 队列的结构和惰性队列

一、 队列的结构 队列的组成&#xff1a; 队列由 rabbit_amgqueue_process 和 backing_queue两部分组成。rabbit_amqqueue_process负责协议相关的消息处理&#xff0c;即接收生产者发布的消息、向消费者交付消息、处理消息的确认 (包括生产端的 confirm 和消费端的 ack) 等。…...

Python3-批量重命名指定目录中的一组文件,更改其扩展名

Python3-批量重命名指定目录中的一组文件&#xff0c;更改其扩展名 1.argparse模块2.vars内置函数3.os.listdir(path)4.os.path.splitext(filepath)5.os.path.join6.os.rename7.os.path.isfile8.批量重命名指定目录中的一组文件&#xff0c;更改其扩展名 1.argparse模块 argpa…...

渗透测试KAILI系统的安装环境(第八课)

KAILI系统的安装环境(第八课) Kaili是一款基于PHP7的高性能微服务框架&#xff0c;其核心思想是面向服务的架构&#xff08;SOA&#xff09;&#xff0c;支持http、websocket、tcp等多种通信协议&#xff0c;同时还提供了RPC、Service Mesh、OAuth2等功能。Kaili框架非常适合构…...

如何正确方便的理解双指针?力扣102 (二叉树的层序遍历)

双指针&#xff0c;顾名思义就是指针的指针。 在此之前我们需要先理解单指针 &#xff08;简称为指针&#xff09;。指针很简单&#xff0c;直接上例子&#xff1a;例&#xff1a;现有两个变量&#xff0c;a10,b20. 要求&#xff1a;交换他们的值&#xff0c;输出的结果应为a20…...

Vue或uniapp引入自定义字体

一、为什么引入字体 对于大部分APP或网站而言&#xff0c;字体是很重要的一部分。在前端开发中&#xff0c;选用合适的字体往往会极大地提升网站的视觉体验。然而&#xff0c;网页中默认字体的种类和风格有限&#xff0c;且在不同的设备、浏览器上渲染效果不尽相同。因此&…...

​力扣:LCR 122. 路径加密​ 题目:剑指Offer 05.替换空格(c++)

本文章代码以c为例&#xff01; 力扣&#xff1a;LCR 122. 路径加密 题目&#xff1a; 代码&#xff1a; class Solution { public:string pathEncryption(string path) {for(int i0;i<path.size();i){if(path[i].){path[i] ;}}return path;} }; 难度升级&#xff08;原…...

cJson堆内存释放问题

cJSON_Delete()&#xff0c;是用来释放json对象的&#xff0c;释放父JSON对象后&#xff0c;子JSON对象也会被释放。 CJSON_free()&#xff0c;是用来释放其他对象的。 int main(void) {cJSON* cjson_test NULL;cJSON* cjson_address NULL;cJSON* cjson_skill NULL;char* s…...

论文阅读/写作扫盲

第一节&#xff1a;期刊科普 JCR分区和中科院分区是用于对期刊进行分类和评估的两种常见方法。它们的存在是为了帮助学术界和研究人员更好地了解期刊的学术质量、影响力和地位。 JCR分区&#xff08;Journal Citation Reports&#xff09;&#xff1a;JCR分区是由Clarivate Ana…...

一文拿捏对象内存布局及JMM(JAVA内存模型)

1 JMM(Java Memory Model) 1 概述 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念&#xff0c;并不真实存在&#xff0c;它描述的一组规则或者规范。通过这些规则、规范定义了程序中各个变量的访问方式。jvm运行的程序的实体是线程&#xff0c;而每个线程运行时&am…...

Android组件通信——ActivityGroup(二十五)

1. ActivityGroup 1.1 知识点 &#xff08;1&#xff09;了解ActivityGroup的作用&#xff1b; &#xff08;2&#xff09;使用ActivityGroup进行复杂标签菜单的实现&#xff1b; &#xff08;3&#xff09;使用PopupWindow组件实现弹出菜单组件开发&#xff1b; 1.2 具体…...

js的继承的方式

1.对象冒充继承 使用 bind,call,apply 解决构造函数属性的继承 缺点:不能继承原型上的属性和方法 //-------------父类-------------function Person(name, age, sex) {this.name name;this.age age;this.sex sex;}Person.prototype.run function () {console.log(我${this…...

聊聊HttpClient的重试机制

序 本文主要研究一下HttpClient的重试机制 HttpRequestRetryHandler org/apache/http/client/HttpRequestRetryHandler.java public interface HttpRequestRetryHandler {/*** Determines if a method should be retried after an IOException* occurs during execution.**…...

北邮22级信通院数电:Verilog-FPGA(4)第三周实验:按键消抖、呼吸灯、流水灯 操作流程注意事项

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.注意事项 二.按键消抖 2.1 LED_deboun…...

Ghidra101再入门(上?)-Ghidra架构介绍

Ghidra101再入门(上&#xff1f;)-Ghidra架构介绍 最近有群友问我&#xff0c;说&#xff1a;“用了很多年的IDA&#xff0c;最近想看看Ghidra&#xff0c;这应该怎么进行入门&#xff1f;“这可难到我了。。 我发现&#xff0c;市面上虽然介绍Ghidra怎么用的文章和书籍很多&…...

Vue3路由引入报错解决:无法找到模块“xxx.vue”的声明文件 xxx隐式拥有 “any“ 类型。

这类情况应该遇见过吧&#xff0c;这是因为 TypeScript只能理解 .ts 文件&#xff0c;无法理解 .vue 文件。 解决方法&#xff1a;在项目的根目录或者src文件夹下创建一个后辍为 文件名.d.ts 的文件&#xff0c;并写入一下内容&#xff1a; declare module *.vue {import { …...

Vmware系列虚拟机系列【仅供参考】:解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“

解决 VMware 嵌套虚拟化提示 关闭“侧通道缓解“ 解决 VMware 嵌套虚拟化提示 关闭"侧通道缓解" 解决方法 方法1: 方法2: 完全禁用 Hyper-V 方法3 参考链接: 解决 VMware 嵌套虚拟化提示 关闭"侧通道缓解" 最近给电脑做了新版的 Windows 11 LTSC操作系…...

音乐版权检测新方案:CCMusic模型与MySQL数据库集成

音乐版权检测新方案&#xff1a;CCMusic模型与MySQL数据库集成 用AI技术解决音乐版权保护难题&#xff0c;让每一首作品都能得到应有的尊重 1. 引言&#xff1a;音乐版权保护的现实挑战 音乐创作者们经常面临这样的困境&#xff1a;自己的作品在各大平台被无授权使用&#xff…...

Emmc系列(二)--------协议解析与实战应用

1. Emmc协议基础解析 Emmc协议作为嵌入式存储领域的核心标准&#xff0c;其重要性不言而喻。简单来说&#xff0c;它就像存储设备与主机之间的"普通话"&#xff0c;规定了双方如何高效沟通。我在实际项目中遇到过不少因为协议理解不到位导致的通信故障&#xff0c;今…...

forkrun:革新数据处理,突破传统并行工具性能瓶颈

【导语&#xff1a;forkrun 作为一款自调优工具&#xff0c;可直接替代 GNU Parallel 和 xargs -P。它在现代 CPU 上能显著提升基于 Shell 的数据准备速度&#xff0c;尤其在 NUMA 架构上表现出色&#xff0c;为数据处理领域带来了新的变革。】数据处理速度的飞跃&#xff1a;5…...

Phi-4-mini-reasoning应用场景:数学建模竞赛辅助推导与公式生成

Phi-4-mini-reasoning应用场景&#xff1a;数学建模竞赛辅助推导与公式生成 1. 模型概述与核心能力 Phi-4-mini-reasoning是一款由微软开发的轻量级开源模型&#xff0c;专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个3.8B参数的模型虽然体积小巧&#xff0c;但在数…...

MySQL 8.0.34和5.7.43双版本共存安装指南(Windows环境避坑大全)

MySQL 8.0与5.7双版本共存实战&#xff1a;Windows环境全流程避坑指南 1. 版本共存的核心挑战与解决方案 在开发环境中同时运行MySQL 8.0和5.7版本的需求日益普遍——可能是为了兼容旧系统&#xff0c;或是测试应用在不同版本下的表现。但Windows环境下实现双版本共存会遇到几个…...

从理论到实践:拆解FOC滑模观测器中的三个关键增益(Gsmopos, Fsmopos, Hsmopos)

从理论到实践&#xff1a;拆解FOC滑模观测器中的三个关键增益&#xff08;Gsmopos, Fsmopos, Hsmopos&#xff09; 在永磁同步电机&#xff08;PMSM&#xff09;的磁场定向控制&#xff08;FOC&#xff09;系统中&#xff0c;滑模观测器&#xff08;SMO&#xff09;因其强鲁棒性…...

Cogito 3B实战案例:GitHub PR描述自动生成+变更点总结

Cogito 3B实战案例&#xff1a;GitHub PR描述自动生成变更点总结 1. 快速了解Cogito 3B模型 Cogito v1预览版是Deep Cogito推出的混合推理模型系列&#xff0c;这个3B版本在大多数标准基准测试中都表现出色&#xff0c;超越了同等规模的其他开源模型。简单来说&#xff0c;它…...

抖音音频高效提取工具:从繁琐操作到一键解决方案

抖音音频高效提取工具&#xff1a;从繁琐操作到一键解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...

【vue】二、vue2仿去哪儿网app——首页开发实战:从零搭建到性能优化

1. 项目初始化与页面结构设计 开始一个Vue2仿去哪儿网App首页项目&#xff0c;首先要搭建基础框架。我习惯用vue-cli脚手架快速初始化项目&#xff0c;这个工具能帮我们处理好webpack配置、基础目录结构等繁琐工作。执行vue init webpack qunar-app命令后&#xff0c;会生成标…...