Python in Visual Studio Code 2024年3月发布

排版:Alan Wang

我们很高兴地宣布 2024 年 3 月发布适用于 Visual Studio Code 的 PythonJupyter 扩展!

此版本包括以下公告:

  • 新的"Add Imports"代码操作设置
  • 调试 Django 或 Flask 应用时自动启动浏览器
  • Python REPL 的 Shell 集成
  • 对本地运行的 Jupyter 服务器的语言支持
    如果您有兴趣,可以在 PythonJupyterPylance 扩展的更新日志中查看完整的改进列表。

新的"添加导入代码操作"启发式设置

在 Python 项目中缺少导入时触发的 Add Import 快速修复 (💡) 已在 Pylance 扩展的预发布版本中进行了改进!Pylance 现在使用启发式方法,仅显示前 3 个高置信度导入选项,优先级基于:最近使用的导入、来自同一模块的符号、来自标准库的符号、来自用户模块的符号、来自第三方包的符号,最后按模块和符号名称排序。如果 3 个高置信度导入选项不是您要查找的选项,Pylance 引入了一个新的代码操作:Search for additional import matches,该操作显示一个快速选择菜单,允许您搜索与缺少的导入符号前缀匹配的导入选项。

此外,Pylance 还引入了 Change spelling 操作,该操作为由于拼写错误而丢失的导入提供了导入建议。

我们计划很快默认启用此新行为。但是,与此同时,您现在可以通过设置 python.analysis.addImport.heuristics : "true" 来启用它。

调试 Django 或 Flask 应用时自动启动浏览器

现在,使用 Python 调试器扩展,开发和测试 Python Web 应用程序更加方便!现在,可以通过在 launch.json 中设置 autoStartBrowser: true,在使用 Django 或 Flask 应用启动调试器时自动打开浏览器:

json 复制代码
{
    "name": "Python Debugger: Flask",
    "type": "debugpy",
    "request": "launch",
    "module": "flask",
    "env": {
        "FLASK_APP": "hello_app.webapp",
        "FLASK_DEBUG": "1"
    },
    "args": [
        "run"
    ],
    "jinja": true,
    "autoStartBrowser": true
}

Python REPL 的 Shell 集成

现在,我们在 Mac、Linux 和 Windows 上启用了 Python REPL 的 shell 集成(使用 WSL 扩展时)。在 Python REPL 中执行命令时,彩色圆圈装饰器将指示命令是成功还是失败。这还支持 Terminal: Run Recent Command 命令,允许您查看和利用 REPL 的命令历史记录。此外,此功能允许通过 Terminal: Run Recent Command 访问所有操作系统的 Python shell 文件历史记录。

对本地运行的 Jupyter 服务器的语言支持

以前,在连接到本地 Jupyter 服务器时,Jupyter 扩展将这些服务器视为远程服务器,因此 Pylance 扩展无法检测到已安装的软件包。在此迭代中,我们进行了更改,以便 Jupyter 扩展检测连接的 Jupyter 服务器是本地服务器还是远程服务器,因此 Pylance 现在能够基于本地 Python 环境中安装的包提供更丰富的语言功能。

其他更改和增强功能

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

征集社区反馈意见

当我们计划和优先考虑未来的工作时,我们重视您的反馈!以下是我们希望得到反馈的几个问题:

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

相关推荐
许彰午1 小时前
14_Java泛型完全指南
java·windows·python
广州灵眸科技有限公司1 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
TechWayfarer2 小时前
IP风险等级评估接入实战:金融信贷如何用IP画像辅助风控审核
python·tcp/ip·安全·金融
Esaka_Forever2 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
代码中介商4 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
JAVA9654 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
Halo_tjn5 小时前
反射与设计模式1
java·开发语言·算法
神仙别闹5 小时前
基于Python + SQL server 实现(GUI)原神圣遗物管理与角色数值模拟系统
java·数据库·python
珊瑚里的鱼5 小时前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
是有头发的程序猿5 小时前
电商自动化实战:淘宝/天猫item_get商品详情API全量采集教程(Python源码)
java·python·自动化