Python in Visual Studio Code 2023年9月更新

2023-09-14 20:57:22

作者:Courtney Webster - Program Manager, Python Extension in Visual
Studio Code
排版:Alan Wang

我们很高兴地宣布 Visual Studio Code 的 PythonJupyter 扩展将于 2023 年 9 月发布!
此版本包括以下内容:
• 将 Python 的 “Recreate” 或 “Use Existing” 选项添加到 Python: Create Environment
• 使用环境变量进行实验性终端激活
• 社区贡献的 yapf 扩展

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

将 Python 的 “Recreate” 或 “Use Existing” 选项添加到 Python: Create Environment 中

在已包含 .venv 文件夹的工作区中工作时,“Python: Create Environment”命令已更新,为您提供了重新创建或使用现有环境的选项。如果您选择重新创建环境,您的当前 .venv 环境将被删除,从而允许您重新创建名为 .venv 的新环境。您可以按照 Python: Create Environment 流程自定义此新环境,选择首选解释器,并指定要安装的任何依赖项文件。如果无法删除环境,例如,由于环境处于活动状态,系统将提示您手动删除环境。

或者,如果选择使用现有环境,则会为工作区选择该环境。

“Recreate” 或 “Use Existing” 选项

使用环境变量进行实验性终端激活

本月,我们将开始使用环境变量推出终端激活,这些变量无需任何激活命令即可激活终端中的选定环境。借助这种新体验,Python 扩展使用环境变量来激活终端,这是在终端启动时隐式完成的,从而带来更快的体验,特别是对于 conda 用户。此实验将作为 ["pythonTerminalEnvVarActivation"] 实验标志后面的 25% 预发布用户的默认体验。您可以在 settings.json 设置中修改 "python.experiments.optInto" 或者 "python.experiments.optOutFrom" 来选择加入或退出此实验。如果您对这种体验有任何意见或建议,请在 vscode-python#11039 中分享。
在这里插入图片描述

社区贡献的 yapf 扩展

现在有一个社区贡献的 (@EeyoreLeeyapf 格式化程序扩展可用!此扩展为 Python 文件和jupyter单元格提供 yapf 格式支持。内置在 Python 扩展中的 Yapf 支持将被弃用,取而代之的是扩展支持。随后,相应的设置 python.formatting.yapf 将从 Python 扩展中删除。

这与 2022 年 8 月宣布的工作相对应,在 Visual Studio Code 的 Python 扩展中提供的工具将支持分解为单独的扩展,目的是提高性能和稳定性,并且不再需要将这些工具安装在 Python 环境中——因为它们可以与扩展一起提供。

其他更改和增强功能

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

  • 未解决的导入错误现在指示 Pylance 在哪个环境中查找软件包(pylance-release#4368)
  • 有一个名为 python.analysis.enableSyncServer 的新实验设置,可在 vscode.dev 中启用多文件 IntelliSense 支持。即将推出对 github.dev 和虚拟工作区的支持!
  • Pylance 不再因 Jupyter 笔记本单元格删除而崩溃 (@pylance-release#4685)
  • 在我们的文档中有一个关于 Python 格式的新专门主题,您将学习如何设置默认格式化程序(如 autopep8黑色格式化程序)并通过各种设置对其进行自定义。

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

征集社区反馈

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

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

更多推荐

【ROS】机器人使用Nomachine进行远程控制

官网:NoMachine-FreeRemoteDesktopforEverybody支持的系统:WindowsMacLinux树莓派其他ARM板IOSAndroid由于网速问题,可以使用我下载好的:(8.8.1_1)链接:https://pan.baidu.com/s/16v6jn8a-dcVbIxGI3bI2QA提取

60+开源数据集资源大合集(医学图像、卫星图像、语义分割、自动驾驶、图像分类等)

1.医学图像疟疾细胞图像数据集下载链接:http://suo.nz/2VQTUt皮肤癌MNIST:HAM10000下载链接:http://suo.nz/33n6Xy该数据集收集了来自不同人群的皮肤镜图像,通过不同的方式获取和存储。最终数据集包含10015张皮肤镜图像,可用作学术机器学习目的的训练集。案例包括色素病变领域

记一次 Java Testcontainers CPU 100% 问题排查过程

以为代码进入了死循环,结果并没有!文章目录背景与问题排查过程代码路经确认内存分析咨询okio社区等等,好像并没有死循环能否从内存快照发现其他问题?背景与问题本问题来源于ShardingSphereissue:Integrationtestsoccasionallystuckinwaitingforcontainerre

C++之template可变模板参数应用总结(二百二十八)

简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.更多原创,欢迎关注:Android系统攻城狮1.前言本篇目的:C++之

步步为营,如何将GOlang引用库的安全漏洞修干净

文章目录引场景构建第一步、直接引用的第三方库升级修复策略1.确认是否为直接引用的第三方库2.找到需要升级的版本是否为release版本第二步、间接引用的第三方库升级修复策略那么问题来了,我们这么间接引用库的对应的直接引用库是哪个呢?(一)没有release版本,但直接引用库有最新的代码可升级(1)将最新代码下载到项目某

Redis 集合(Set)快速指南 | Navicat

Redis支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合(Set)数据类型。在Redis中,集合(Set)与列表(List)相似,但是,集合(Set)中的元素是无序的,并且每个

skywalking入门

参考:https://www.jianshu.com/p/ffa7ddcda4ab参考:https://developer.aliyun.com/article/1201085skywalking(APM)调用链路分析以及应用监控分析工具Skywalking主要由三大部分组成:agent、collector、webap

行为型模式-策略模式和责任链模式对比

一、区别:目的和问题解决方式:策略模式的主要目的是将一组算法或行为封装成独立的策略对象,并使客户端能够在运行时选择其中一个策略来执行。这种模式通常用于实现相同操作的不同算法或策略之间的切换和替换。责任链模式的主要目的是将请求的发送者和接收者解耦,允许多个对象依次处理请求,直到其中一个对象能够处理请求为止。责任链模式通常

opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

博客【opencvdnn模块示例(3)目标检测object_detection(2)YOLOobjectdetection】测试了yolov3及之前系列的模型,有在博客【opencvdnn模块示例(15)opencv4.2版本dnn支持cuda加速(vs2015异常解决)】说明了如何使用dnn模块进行cuda加速推理。

Android 混淆使用及其字典混淆(Proguard)

1.使用背景ProGuard能够通过压缩、优化、混淆、预检等操作,检测并删除未使用的类,字段,方法和属性,分析和优化字节码,使用简短无意义的名称来重命名类,字段和方法。从而使代码更小、更高效、更难进行逆向工程。Android代码混淆,又称Android混淆,是一种AndroidAPP保护技术,用于保护APP不被破解和逆

css知识学习系列(2)-每天10个知识点

目录1.基础知识CSS中的伪元素和实际元素有什么区别?2.动画与过渡CSS中的transition和animation有何区别?在什么情况下使用哪种动画?3.Flexbox在Flexbox布局中,“flex-wrap”属性有什么作用?4.Grid请解释CSS中的网格线(gridlines)和轨道(tracks)是什么?

热文推荐