技术速递|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)。
我们还要特别感谢本月的贡献者:
- @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服务器集群,他具有良好的可靠性࿰…...

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.以下关于函数指针的叙述中,正确…...

Unity动画模块 之 简单创建一个序列帧动画
本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 1.什么是序列帧动画 序列帧动画简单来讲就是通过连续播放一系列静态图像,形成动态视觉效果的过程ÿ…...
学会高效记录并整理编程学习笔记
文章目录 一、前言二、建议和方法2.1 明确笔记目的2.2 选择合适的工具2.3 结构化笔记2.4 高效记录技巧2.5 图文并茂2.6 定期回顾与整理2.7 利用搜索与链接2.8 分享与交流2.9 实践与应用 三、总结 一、前言 高效记录并整理编程学习笔记是提升学习效率和巩固知识的重要手段&…...

Llama 3.1中文微调数据集已上线,超大模型一键部署
7 月的 AI 圈真是卷完小模型卷大模型,精彩不停!大多数同学都能体验 GPT-4o、Mistral-Nemo 这样的小模型,但 Llama-3.1-405B 和 Mistral-Large-2 这样的超大模型让很多小伙伴犯了难。 别担心!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/…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...