PyCharm 2022.2 最新变化

Python 3.11 支持、改进的 HTTP 客户端和用户体验增强

Python 3.11

Code insight for exception groups and except* operator (PEP 654)

PyCharm 会就禁止组合向您发出警告,例如在同一条 try 语句中的 exceptexcept* 运算符,或者 except* 子句中的 continuebreakreturn 运算符。 尝试在 try* 子句中捕获 ExceptionGroup 也会引发警告。

Code insight for marking individual TypedDict items as required or potentially missing (PEP 655)

Python 3.11 增加了将各个 TypedDict 键标记为 RequiredNotRequired 的功能,因此无需使用 total 形参创建复杂的类层次结构。 PyCharm 2022.2 可以理解 Required[ ]NotRequired[ ] 符号,并为它们提供了代码洞察。

Initial support for Variadic Generics (PEP 646)

PyCharm 2022.2 可以识别索引操作中带星号的表达式(在括号内),以及函数定义中的 *args: *Ts。 如果您没有使用 Python 3.11,IDE 会提醒您可变参数泛型尚不可用。

HTTP 客户端 Pro

运行前选择运行环境

现在,可以使用装订区域上的图标方便地选择运行环境。 要启用此功能,请从 Run with(运行方式)组合框中选择 Select Environment Before Run(运行前选择环境)选项。

“响应”视图中的状态栏

为了帮助您跟踪下载过程,我们在 Response(响应)视图中添加了一个进度条。

对 HTTP 客户端中 WebSocket 端点的支持

PyCharm 2022.2 现在支持 WebSocket 连接。 借助此 API,您可以向服务器发送消息并接收事件驱动的响应,而无需等服务器的回复。 PyCharm 现在可以原生通过 HTTP 和 WebSocket 协议发送查询。 ws://wss:// 现在被委托给 WebSocket 执行器。

其他改进:

  • 对 HTTP 客户端中 GraphQL 端点的支持

    在 2022.2 版本中,我们在 HTTP 客户端中引入了对 GraphQL 请求的支持。

用户体验

用于设置远程解释器的新 UI

新增了一个用于在远程目标(WSL、SSH、Docker、Docker Compose、Vagrant)设置解释器的向导。 它使设置过程更结构化、更容易操作。

运行当前文件

要在没有专门的运行配置的情况下立即运行和调试一个文件,可以使用 Run Current File(运行当前文件),您可以从 Run/Debug(运行/调试)微件中找到该功能。 微件现在具有一个二级菜单,提供了适用的运行程序以及 Run with Parameters(使用形参运行)操作,您可以使用该操作在运行文件之前调整运行配置形参。

从代码补全弹出窗口获得代码补全设置

现在,您可以直接从代码补全弹出窗口中的垂直省略号菜单按钮访问 Code Completion Settings(代码补全设置)并配置偏好设置。

高亮显示检查的增强配置

借助 PyCharm 2022.2,您可以配置检查在编辑器中的显示方式。 使用新的 Highlighting in editor(编辑器中的高亮显示)下拉菜单进行设置,该菜单清楚显示了所有可用高亮显示样式。

JSON、YAML 和 .properties 字符串值中的可点击 URL

JSON、YAML 和 .properties 文件现在会在以 http://https:// 开头的值中自动插入 Web 引用。 只需点击一下,即可轻松地在 Web 浏览器中打开这些链接,或者您可以在 HTTP 客户端中通过 Context Actions(上下文操作)菜单 (Alt + Enter) 生成一个请求。

其他改进:

  • 欢迎屏幕上的 Cloning repository(正在克隆仓库)进度条

    Cloning repository(正在克隆仓库)进度条现在直接显示在 Projects(项目)列表中,更清晰、更易用。

  • 用于控制自动圆括号插入的新设置

    选择您是否希望 IDE 在代码补全时自动插入圆括号:在 Settings / Preferences | Editor | General | Code Completion(设置/偏好设置 | 编辑器 | 常规 | 代码补全)中找到 Insert parentheses automatically when applicable(适用时自动插入圆括号)复选框。

  • 调整文件类型关联的新通知面板

    当您的文件被检测为纯文本时,IDE 现在会直接从编辑器建议重置可能多余的文件类型关联。

  • macOS 上的 Merge All Project Windows(合并所有项目窗口)操作

    我们为 macOS 用户引入了一项功能,利用此功能可以将所有打开的项目窗口合并成一个,将其变成标签页。 此操作位于 Window(窗口)菜单中。

初步 PyScript 支持 Pro

PyScript is a framework for creating rich Python applications in the browser using HTML's interface and the power of Pyodide, WASM, and modern web technologies. PyScript 为各种经验水平的用户提供了一种支持无数应用程序、富有表现力并且易于学习的编程语言。

“PyScript 是 Anaconda 实现数据科学和 Python 民主化愿景的一个关键部分。 我们很高兴看到 JetBrains 通过在其专业产品中增加初步支持来拥抱 PyScript 的潜力。”

Fabio Pliger,
Principal Software Architect at Anaconda, Inc.,
co-creator of PyScript

<py-script> 内的代码洞察

利用 <py-script> 标记,您可以执行多行 Python 脚本并与页面交互。 PyCharm 2022.2 可以识别 HTML 文件中 <py-script> 标记内代码的 Python 语法,包括 NumPy 和 Matplotlib 库,并为其提供了适当的代码补全和高亮显示。

标记及其特性的语法高亮显示和代码补全

代码补全和语法高亮显示现在可用于 PyScript 标记,例如用于声明依赖项的 <py-env> 和用于创建 REPL 组件的 <py-repl>

内置浏览器中对 PyScript 的支持

您可以直接在 PyCharm 内置浏览器中预览 PyScript 文件,就像预览 HTML 文件一样,每次保存时都会在浏览器中显示对脚本的更改。

Jupyter Notebook Pro

可调整大小的图像输出

在 PyCharm 2022.2 中,您可以通过简单地拖动输出的下边框来调整图像输出的大小。 这应该会改善此类输出的可读性。

为方便起见,底栏将变得更加明显。

工具栏上的新单元复制-粘贴操作

您将能够直接在 Jupyter 编辑器工具栏中通过相应的操作(按钮和图标)来剪切、复制和粘贴单元。

Docker Pro

上传本地 Docker 镜像到 Minikube 和其他连接

现在,您可以使用新的 Copy Docker Image(复制 Docker 镜像)操作轻松地将镜像从一个 Docker 守护进程复制到另一个,该操作会将镜像保存到文件中,然后将其推送到所选连接。

不同 Docker 守护进程的 Docker 连接选项

PyCharm 与 Colima 和 Rancher 集成,支持更多用于建立与 Docker 守护进程的连接的选项。

其他改进:

  • IDE 重启时 Docker 自动连接

    重新启动 IDE 后,PyCharm 2022.2 会自动连接到 Docker。 此新设置默认启用,也可以在 Settings / Preferences | Advanced Settings | Docker(设置/偏好设置 | 高级设置 | Docker)中进行切换。

数据库管理 Pro

导入多个 CSV 文件的选项

使用 PyCharm 2022.2,您可以将多个 CSV 文件导入新的或现有的数据库表。 为此,在 Project(项目)视图中选择多个文件,并将它们拖到数据库架构,或在上下文菜单中选择 Import to database(导入到数据库)。

Playground(演练场)和 Script(脚本)解析模式

在 PyCharm 2022.2 中,SQL 脚本有两种解析模式。 在 Playground(演练场)模式下,对象根据上下文进行解析。 它现在是查询控制台的默认模式。在 Script(脚本)模式下,文件的开头被解析为上下文,但脚本中的任何 SET CURRENT SCHEMA 语句都会更改解析的上下文。 Script(脚本)模式现在是本地文件的默认模式。要在两种模式之间切换,只需使用工具栏上的下拉菜单。

其他改进:

  • 对 DuckDB、Mimer SQL 和 Apache Ignite 的基本数据库支持

    PyCharm 2022.2 现在提供了对另外三个数据库的基本支持:DuckDBMimer SQLApache Ignite

  • 新的 Modify(修改)UI

    在 PyCharm 2022.2 中,可以使用新的 Modify(修改)UI 添加和编辑表的所有子对象。 上下文菜单将继续提供旧 UI。