PyCharm 2021.2 最新变化

PyCharm 2021.2:Python 3.10 新功能,HTML 预览:保存时重新加载浏览器页面、Python 控制台中的协作模式

代码洞察

Python 3.10

了解如何借助 PyCharm 从 Python 3.10 的新功能中受益,甚至不必等到 Python 3.10 稳定版本发布! We started working on support for Python 3.10 by delivering code insight for Explicit Type Aliases (PEP 613) in PyCharm 2020.3. 在此版本中,我们引入了对更多 PEP 的支持。

模式匹配(PEP 634、635、636)

Pattern Matching (PEPs 634, 635, 636)

Python 3.10 中即将推出结构模式匹配功能。 PyCharm 提供了许多关键功能来帮助您适应该功能的到来,例如 Unused local symbolsUnreachable code 检查、针对 matchcase 关键字的智能代码补全和语法高亮显示,以及 Complete Current Statement 操作。

Complete Current Statement
Complete Current Statement

PyCharm 现在可以补全 match 语句及其对应的 case 代码块。 输入初始 match 语句后,您可以选择 Complete Current Statement (Shift+Ctrl+Enter),PyCharm 将补全剩余部分内容,包括冒号和 case 代码块的第一部分。 文本光标将留在原处,以便您开始输入 case 代码块的其余部分。

格式化程序
格式化程序

PyCharm 的内置格式化程序可识别 match 语句并帮助您正确地对其进行格式化。

联合类型的新语法 (PEP 604)

New syntax for union types (PEP 604)

在 Python 3.10 中,您能够将 int | str(而非 Union[int, str])用于联合类型。 此功能在较早版本的 Python 中便已可用,方法为使用 from __future__ import annotations

PyCharm 为新语法提供了整体代码洞察,包括意图操作以及快速文档中的信息。 PyCharm 现已支持新语法类型的 isinstanceissubclass 参数类型推断。

其他改进:

  • 类型检查工具可识别各种集合类型中的 typing.Literal,这样便可针对集合元素的特定值实现匹配。 此功能甚至适用于嵌套集合。
  • 您可以使用 Markdown 中的 doctest 注入来演示 Python 代码在 REPL 模式下的执行,就像在 Python 控制台中执行一样。

协作开发:Code With Me

Python 控制台支持

Python 控制台支持

现在,客户端设备和主机端均已支持在 Python 控制台中工作。 在协作编码会话期间,当主持人在交互式控制台中运行代码时,访客可以检查代码。 Code With Me 中对 Python 控制台的支持包含所有常用的 PyCharm 功能,例如支持检查和和代码补全的实时语法高亮显示功能。

同步式代码补全

同步式代码补全

当您在 Code With Me 会话期间处于 Following 模式时,您可以跟踪您关注的人所使用的代码补全建议。 此外,对于任何会话类型,访客的补全结果都将与主持人的补全结果完全相同。

其他改进:

Code With Me 最近推出了两个新的中继服务器:一个位于美国西海岸,另一个位于南非。 这让 ping 几乎加速三倍。

IDE 改进

Python 软件包的工具窗口:从自定义位置安装软件包

Python 软件包的工具窗口:从自定义位置安装软件包

在 PyCharm 2021.1 中,我们实现了 Python Packages 工具窗口来管理当前所选 Python 解释器的软件包。 现在,您不仅可以从 PyPI 仓库安装软件包,还可以从 VCS 或本地计算机上安装软件包。 点击 Python Packages 工具栏上的 Add Package 链接,然后选择 From Version Control | From Disc

辅助功能更新

PyCharm 2021.2 针对在 macOS 上启用屏幕阅读器模式时的编码增加了多项实用更新。 此模式将讲述代码补全建议、所选组合框和组合框列表的内容以及您在 Search Everywhere 中的查询结果。

其他改进:

  • 我们添加了许多将在保存项目启动的操作,包括重新设置代码格式和优化导入。 这些都整合在 Preferences/Settings | Tools | Actions on Save 中。
  • 现在可以将工具窗口更轻松地拖放到主 IDE 窗口的所需位置或单独的窗口中。 您可以点击并按住工具窗口名称栏将其拖放到任何高亮显示的区域。
  • 右键点击欢迎屏幕上的项目并从上下文菜单中选择 Choose project icon 以上传自定义图标。
  • 从此版本开始,您可以体验到完全本地化的中文韩语日语 UI。 本地化以非捆绑式语言包插件提供,可以轻松安装到您的 IDE

数据库 仅限 Pro 版

MongoDB 控制台中的字段和运算符代码补全

MongoDB 控制台中的字段和运算符代码补全

Now PyCharm can complete fields, nested fields, and fields inside aggregation expressions, as well as query operators, projection operators, update operators, and aggregation stages in the MongoDB console.

借助 SQL 脚本操作从数据编辑器中处理上下文实时模板

借助 SQL 脚本操作从数据编辑器中处理上下文实时模板

现在,用户可以直接从数据编辑器中处理上下文实时模板。 如果您正在处理某个表并希望查询它,则可以借助 SQL Scripts 操作轻松实现此目的!

前端开发仅限 Pro 版

保存时在浏览器中重新加载页面

保存时在浏览器中重新加载页面

PyCharm 让您可以使用内置 Web 服务器在浏览器中预览 HTML 文件。 现在,当您编辑和保存 HTML、CSS 和 JavaScript 文件时,它可以自动更新浏览器中的页面。 首先,在编辑器中打开一个 HTML 文件,将鼠标悬停在编辑器的一角,然后点击要使用的浏览器的图标 – 支持所有浏览器。

React useState hook 的 Rename 重构

React useState hook 的 Rename 重构

您将不再需要浪费时间逐一重构 useState 值和函数 – PyCharm 现在可以为您对这二者进行重命名! 将文本光标置于状态值上并按 Shift+F6 键或转到右键点击上下文菜单中的 Refactor | Rename

require() 自动导入

require() 自动导入

您知道 PyCharm 可以在您补全 ES6 符号时添加缺少的 import 语句吗? 现在,它可以对 CommonJS 模块实现相同功能 – 支持在代码补全时插入 require 导入。

其他改进:

将新的项目依赖项添加到 package.json 已变得更加方便,因为代码补全现已适用于私有 npm 软件包。 PyCharm 让您可以检查有关软件包最新版本的信息,与检查公共软件包一样。

版本控制

提交前检查的更改

提交前检查的更改

我们扩展了可以执行测试的可能提交前操作的列表。 勾选 Before Commit 部分中的 Run Tests 复选框以测试应用的更改。 您还可以点击相邻的 Choose profile 自定义 Analyze codeCleanup 选项。 所有提交前检查的进度和结果均在 Commit 区域内显示。

其他改进:

  • 通过启用使用 GPG 签署 Git 提交来保护您的提交。 为此,转到 Preferences/Settings | Version Control | Git,点击 Configure GPG Key,然后从下拉列表中选择。

Space 集成

将 PyCharm 连接到您机构的 JetBrains Space,我们新的软件开发和团队协作平台,查看和克隆项目仓库以及审查团队成员的代码。 如要登录 Space,请点击欢迎屏幕的 Get from VCS 按钮,选择左侧的 Space,在相关字段中输入您机构的 URL 。 与 Space 的集成现在可以开箱即用。

Git 日志中的 Space 作业状态

Git 日志中的 Space 作业状态

为使您只需查看提交列表即可快速跟踪作业进度,我们在 Git 工具窗口的 Log 标签页中添加了 Space 作业状态图标。 点击图标,IDE 将打开包含该作业自动化信息的弹出窗口。

如果不需要此状态信息,请点击 Log 中的眼睛图标,然后选择 Show Columns | Space Automation

在代码审查中显示分支

在代码审查中显示分支

您的 IDE 现在可以显示所选代码审查中的相关分支。 您可以在 Details 标签页的分支列表中查看包含在处理当前问题时所做的提交。

提及团队成员

提及团队成员

现在,您可以更方便地在 Space 代码审查中与团队成员进行交流,您可以用 @ 后接同事姓名提及相关成员。 这项微小但实用的功能同样适用于时间线和代码注释。

请注意,标记为仅限 Pro 版的功能仅在 PyCharm Professional Edition 中提供。