V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winffee
V2EX  ›  Visual Studio Code

Visual Studio Code Python - 2022 年 8 月更新 - Web 应用程序的自动调试配置 , 使用体验改进

  •  
  •   winffee · 2022-08-15 11:08:38 +08:00 · 1761 次点击
    这是一个创建于 835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们很高兴地宣布,2022 年 8 月发布的适用于 Visual Studio Code PythonJupyter扩展现已推出!

    此版本包括以下改进:

    • Web 应用程序的自动调试配置
    • 入门体验的改进
    • 在状态栏上显示解释器信息的相关设置
    • 一个全新的 Python 工具扩展模板
    • 使用 Pylance 删除未使用的导入模块
    • 双击接受 Pylance 的类型提示
    • 在 Jupyter 单元格中复制输出图像
    • 快速跳转到最近失败的单元格

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

    Web 应用程序的自动调试配置

    为了简化设置 VS Code 来运行或调试 Web 应用程序的过程,此版本包括使用FlaskDjangoFastAPI的项目的全新自动调试配置。

    当您在 VS Code 中打开 Run and Debug 视图( Ctrl + Shift + D 或⌘+ ⇧ + D )并且工作区中没有调试器配置时(即没有 launch.json 文件),您将看到"show all automatic debug configurations"选项。如果您的项目是遵循 Flask 、Django 或 FastAPI 预期格式的 Web 应用程序,在单击该选项后,您将能够看到为执行和调试项目而动态创建的调试配置。现在您只需选择它即可开始捕获所有错误!

    主题:Pink-Cat-Book

    入门体验的改进

    Python 扩展经过改进,现在可以更轻松地指导用户在需要时安装并选择指定版本的 Python 。 如果 Windows 计算机上未安装 Python ,在演练中选择"Install Python"按钮将在 Microsoft Store 中打开 Python 应用程序。同时,如果在 Linux 或 macOS 上,终端将自动运行并显示安装说明。

    与入门体验相关的另一项改进是,提示选择解释器的通知现在仅在需要解释器时显示(例如,在运行或调试文件时,或诸如使用 linter 或格式化程序之类的工具时),并且不再在启动时显示。其他通知提示也得到了改进,以更准确地显示错误和建议的更改。

    Python 解释器显示在状态栏上

    我们引入了一个名为"python.interpreter.infoVisibility" 的新用户设置,它控制所选解释器信息何时显示在状态栏中。您可以在用户设置(**Preferences > Command Palette… > Open User Settings (JSON)**)中进行设置为无论打开什么文件都始终显示它。默认情况下,它仅在 Python 相关文件在编辑器( "python.interpreter.infoVisibility": "onPythonRelated" ) 打开时显示。如果您想完全隐藏它,请设置"python.interpreter.infoVisibility": "never"

    还添加了警告状态以指示所选解释器无效的情况:

    Python 工具扩展模板

    根据一直以来我们为启用Blackpylintisort的格式化和 linting 以在语言服务器协议后面工作所做的事情,我们意识到我们可以更简单地为大多数 Python linter 或格式化程序创建扩展而无需 TypeScript (这是 VS Code 及其扩展内的语言编写的)。

    为此,我们的团队创建了一个模板,允许您通过更改大部分 Python 代码来为您最喜欢的 Python linter 或格式化程序创建一个 VS Code 扩展(除非您计划向其添加更多设置或自定义逻辑- 那么您将需要使用一些 TypeScript )。

    要试用它,您可以按照存储库中的说明进行操作。如果你想发布你的新扩展(并维护它,毕竟权力越大责任越大),你可以按照"发布扩展"文档中的步骤进行操作。

    如果您对这个新模板有任何反馈,请GitHub 存储库上提出问题

    删除所有未使用的导入

    Pylance现在提供了一种代码操作,如果存在多个导入但未在代码中使用或调用的库,那么可以一次性删除所有未使用的导入。要试用它,请打开一个包含未使用导入模块的 Python 文件并触发名为"Remove all unused imports"的代码操作:

    主题:Pink-Cat-Book

    您还可以通过将以下配置添加到用户设置中来配置VS Code以在保存 Python 文件时运行所有可用的"fix all"代码操作:

    "[python]":{
    	"editor.codeActionsOnSave":{
    		"source.fixAll":true
    	}
    }
    

    双击接受类型提示

    7 月版本中,我们添加了对使用Pylance时的变量类型和返回类型嵌入提示的支持。在此版本中,我们将支持接受建议的代码注释。您现在可以双击提示将建议添加到您的代码中:

    要了解有关 Inlay 类型提示的更多信息以及如何最好地利用此功能的一些提示,请查看 Jay Miller 的解释性视频和博客文章,了解如何"使Python 中的 Inlay 类型提示出现 /消失"

    将图像从 Jupyter Notebook 复制到剪贴板

    Jupyter 扩展的新版本允许您将图像从 Jupyter 笔记本输出单元复制到剪贴板,以便您可以更轻松地在 VS Code 之外共享它们!

    如果你想尝试一下,请确保通过单击要复制的图像左侧的图标将输出演示文稿更改为 png:

    然后将鼠标悬停在图像上并选择右侧显示的复制按钮:

    现在您可以将其粘贴到您的电子邮件、文档、报告甚至画图中!

    转到最近失败的单元格

    最新的 Jupyter 扩展版本中引入的另一项改进是能够导航到最近失败的单元格。当您运行所有单元格并且其中一个失败时,您可以单击编辑器顶部的"Go To"按钮,您将跳转到运行失败的那个单元格。

    其他更改和增强

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

    • Pylint 和 Black 扩展中有一个新设置,允许您指定解释器命令来启动 LSP 服务器( vscode-python#19303 )。
    • 我们现在有一个新命令(python.triggerEnvSelection),其他扩展可以使用它来触发错误通知以选择有效的 Python 解释器( vscode-python#19450 )。
    • 在使用 Pylance 时,我们改进了对交互式窗口中魔术命令的支持( pylance-release#2894 )。
    • Pylance 提高了类型分析性能( pylance-release#2881 )。
    • Jupyter 扩展现在具有诊断消息,其中包含可能干扰 Python 内核执行的文件的代码操作( vscode-jupyter#10924 )。
    • 现在可以通过打开设置恢复跨 VS Code 窗口重新加载来恢复交互式窗口会话( vscode-jupyter#6420 )。

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

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

    1 条回复    2022-08-15 11:32:58 +08:00
    Vegetable
        1
    Vegetable  
       2022-08-15 11:32:58 +08:00   ❤️ 1
    终于有了 remove all unused import ,这么个功能等了 2 年
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:47 · PVG 08:47 · LAX 16:47 · JFK 19:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.