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

相关推荐
bst@微胖子38 分钟前
Python高级语法之selenium
开发语言·python·selenium
王小义笔记42 分钟前
Postman如何流畅使用DeepSeek
开发语言·测试工具·lua·postman·deepseek
查理零世2 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
流星白龙5 小时前
【C++】36.C++IO流
开发语言·c++
诚信爱国敬业友善6 小时前
常见排序方法的总结归类
开发语言·python·算法
nbsaas-boot7 小时前
Go 自动升级依赖版本
开发语言·后端·golang
架构默片7 小时前
【JAVA工程师从0开始学AI】,第五步:Python类的“七十二变“——当Java的铠甲遇见Python的液态金属
java·开发语言·python
不只会拍照的程序猿8 小时前
从插入排序到希尔排序
java·开发语言·数据结构·算法·排序算法