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

技术速递|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 Argumentslaunch.json 配置,当您想要为 Python 文件提供不同的输入值而无需在每次运行时修改代码或调试器配置时,这非常有用。

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

然后,打开要调试的 Python 文件,该文件需要命令行参数。要开始调试,请按 F5Run > 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)。

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

  • @Imgarret 帮助提交问题并为与新测试重写相关的 pytest 的测试类、错误和跳过标志创建了测试用例(@vscode-python#21578 和 @vscode-python#21579)。
  • @Jammf 对 VSCode-MyPy 做出了第一个贡献,以修复使用 –follow-imports=normal (@vscode-mypy#76) 时的错误。
  • @PeterJCLaw 对 VSCode-MyPy 做出了第一个贡献,以删除可能与项目冲突的 Follow-Imports 参数 (@vscode-MyPy#90)。

征集社区反馈

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

  • 通过双击它们,支持本地查看 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 页面上提交问题。

相关文章:

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

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2023 年 8 月发布! 此版本包括以下公告: 面向贡献者的 Python 扩展开发容器用于运行带有参数的 Python 文件的调试配置Python 扩展 API 的 Npm 包容错 …...

【话题】重塑未来:AI辅助编程对程序员工作的影响与应对策略

目录 人工智能时代,程序员如何保持核心竞争力? 引言 方向一:AI辅助编程对程序员工作的影响 效率提升 代码质量 潜在风险 方向二:程序员应重点发展的核心能力 复杂系统设计 跨学科知识整合 与AI协作的能力 方向三:人机协…...

在Debian上安装freeswitch

在Debian上安装freeswitch 说明: 首次发表日期:2024-08-12参考文档: https://medium.com/jogikrunal9477/ultimate-guide-to-installing-freeswitch-on-ubuntu-22-04-lts-3745ef6a6bd6https://developer.signalwire.com/freeswitch/FreeSWI…...

论文分享 | Fuzz4All: 基于大语言模型的通用模糊测试

大语言模型是当前最受关注的研究热点,基于其生成和理解能力,对现有领域在提升性能和效果上做更多尝试。分享一篇发表于2024年ICSE会议的论文Fuzz4All,它组合多个大语言模型以非常轻量且黑盒的方式,实现了一种跨语言和软件的通用模…...

VS Code 配置docker 管理员权限终端

问题描述 在容器中需要使用sudo或者su root时候,权限不够,被灵魂提问。 然而,镜像是官方发布的,翻遍了githubissues也没有找到password. 解决 Attach shell 在docker插件中,attach shell 可以直接获得shell。 所…...

使用Linux实现FTP云盘1

关于FTP服务器 FTP(文件传输协议)服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP 协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。 程序运行,服务端不断接收客户端指令,服务 端可同时处…...

tombo resquiggle

Re-squiggle 算法 简介 纳米孔读取产生的电流信号水平数据称为squiggle。将这些squiggle信息进行基底呼叫通常与参考序列相比会包含一些错误。Re-squiggle算法定义了从squiggle到参考序列的新分配,即重新squiggle。 Re-squiggle算法是Tombo框架的基础。该算法输入包含原始信…...

vue3获取vue实例 并注册全局属性方法

vue3注册全局属性方法 前言一、app.config.globalProperties1 注册实例2 注册方法 二、依赖注入(Provide / Inject)1 注册实例2 注册方法3 一次性多次传入 最后 前言 在使用 Vue 时,多个地方使用同一个方法导致每个地方都需要按需引用&#…...

function calling后,如何让大模型进行自然语言输出?

在现代的自然语言处理(NLP)系统中,Function Calling 是指模型在对话过程中调用外部函数以获取特定数据或执行特定操作的能力。在 Function Calling 后,你可以将接收到的数据发送回大模型,并生成自然语言输出。以下是如…...

Android笔试面试题AI答之Kotlin(8)

文章目录 34.Kotlin 泛型中的“*”和“Any”有什么区别?Any*总结 35.Kotlin 协程在哪些方面优于 RxKotlin/RxJava?1. 语法简洁性和易读性2. 性能3. 错误处理和调试4. 场景适用性5. 学习和使用成本 36.Kotlin 协程中的 launch/join 和 async/await 有什么…...

LVS服务的搭建之NAT模式、DR模式的搭建实战

# LVS的概述 1/什么是LVS linux virtural server的简称,也就是linxu虚拟机服务器,使用lvs可以达到的技术目标是:通过linux达到负载均衡技术和linux操作系统实现一个高性能高可用的linux服务器集群,他具有良好的可靠性&#xff0…...

Raft分布式存储

文章目录 前言一、项目大纲二、Raft模块1.Raft介绍2.大致内容Leader与选举日志同步、心跳raft日志的两个特点 3.主要流程1. raft类的定义关键函数m_nextIndex 和 m_matchIndex作用 2.启动初始化3.竞选leaderelectionTimeOutTicker:doElectionsendRequestVoteRequestVote 4.日志…...

【Linux】使用nm命令查看动态库包含的符号表

【Linux】使用nm命令查看动态库包含的符号表 文章目录 【Linux】使用nm命令查看动态库包含的符号表1. nm的简介2. nm的使用3. nm查找具体的函数名或变量名Reference 1. nm的简介 nm命令来自name的简写。nm命令常用于查看二进制文件中的符号表,通常用于静态库和可执…...

你还不知道苹果手机截长图的方法?4 种方法都可以

苹果手机截长图 先给大家介绍第一个苹果手机截长图的方法,如果你是在 Safari 浏览器中想要截图分享的话,浏览器截图自带可以截取全页的选项,让你实现截长屏的操作。首先找到你想要截取的网页,然后按下手机的电源按键以及音量按键…...

C++选择题带答案

1. 在定义成员函数时给出的成员函数的正确标记是 (1) 。 (a) <类名>.<函数名> (b) <类名>::<函数名> (c) <对象名>.<函数名> (d) <对象名>::<函数名> 2&#xff0e;以下关于函数指针的叙述中&#xff0c;正确…...

Unity动画模块 之 简单创建一个序列帧动画

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正​ 1.什么是序列帧动画 序列帧动画简单来讲就是通过连续播放一系列静态图像&#xff0c;形成动态视觉效果的过程&#xff…...

学会高效记录并整理编程学习笔记

文章目录 一、前言二、建议和方法2.1 明确笔记目的2.2 选择合适的工具2.3 结构化笔记2.4 高效记录技巧2.5 图文并茂2.6 定期回顾与整理2.7 利用搜索与链接2.8 分享与交流2.9 实践与应用 三、总结 一、前言 高效记录并整理编程学习笔记是提升学习效率和巩固知识的重要手段&…...

Llama 3.1中文微调数据集已上线,超大模型一键部署

7 月的 AI 圈真是卷完小模型卷大模型&#xff0c;精彩不停&#xff01;大多数同学都能体验 GPT-4o、Mistral-Nemo 这样的小模型&#xff0c;但 Llama-3.1-405B 和 Mistral-Large-2 这样的超大模型让很多小伙伴犯了难。 别担心&#xff01;hyper.ai 官网在教程板块为大家提供了…...

css实现太极图

<template><div><!-- 太极图 --><div class"all"><div class"left box"></div><div class"right box"></div><div class"black"><div class"inner_white"><…...

Android 13 移植EthernetSettings/Ethernet更新

移植EthernetSettings Android 13 在Settings搜索没有发现以太网设置,应该是移除了,但是客户的设备需要,所以移植Android 11的. 以太网相关的功能在Android13中进行模块化,提取到packages/modules/Connectivity/中, EthernetManager相关代码从framework移到packages/modules/…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...