Python in Visual Studio Code 2024年3月发布

排版:Alan Wang

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

此版本包括以下公告:

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

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

在 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 页面上提交问题。

相关推荐
apcipot_rain3 小时前
C++转Java日记(04)
java·开发语言·c++
特立独行的猫A4 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持4 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang5 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰6 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc6 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
蜗牛一步步往上爬8 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
羲云网络10 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
张张123y10 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
冻柠檬飞冰走茶13 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划