PyCharm 2023.2 最新变化

PyCharm 2023.2:新 Django 实时模板、Black 格式化程序集成、Run Anything(运行任何内容)以及 AI Assistant

主要更新

Django 支持更新
Pro

适用于 Django 表单和模型的新实时模板

适用于 Django 表单和模型的新实时模板

PyCharm 2023.2 扩展了 Django 实时模板列表。 新实时模板将允许您通过输入简短缩写来为 Django 视图、表单和模型(包括 admin)插入通用代码构造。 您可以在 Settings | Editor | Live Templates | Django(设置 | 编辑器 | 实时模板 | Django)中管理。 要编辑现有模板或创建新模板,请参阅 PyCharm 帮助页面

我们还扩展了可在模板文件中快速创建 Django 标记的实时模板列表。 您可以通过 Settings | Editor | Live Templates | Django Templates(设置 | 编辑器 | 实时模板 | Django 模板)找到更新的列表。

适用于 Django 的 Endpoints(端点)工具窗口

适用于 Django 的 Endpoints(端点)工具窗口

The Endpoints tool window now has initial support for the Django REST framework. 您可以搜索端点声明、导航到特定端点声明,以及重命名 URL 路径段。 在 HTTP Client(HTTP 客户端)标签页中时,您将在修改端点时获得代码补全。 试用该功能,并分享您希望在 PyCharm 的未来版本中添加哪些功能!

Black 格式化程序集成

Black 格式化程序集成

PyCharm 2023.2 includes integration with the Black formatter. 如果 Black 已经安装,PyCharm 将在检测后建议为项目进行设置。

在 PyCharm 中,Black 可以处理 .py.pyi 文件。 整个文件和文件片段都可以格式化。 手动重新设置代码格式(Ctrl+Alt+L 或从主菜单选择 Code | Reformat Code(代码 | 重新设置代码格式))或保存文件更改时,您可以运行 Black 而不是内置格式化程序。 前往专属帮助页面详细了解 Black 配置选项。

Run Anything(运行任何内容)

Run Anything(运行任何内容)

PyCharm 2023.2 引入了 Run Anything(运行任何内容)工具,可供运行任何内容,无论当前打开的是什么文件。 使用它可以快速创建和启动运行/调试配置、启动 Python 控制台、管理 Python 软件包,或者运行应用程序、脚本、命令和任务。 要打开 Run Anything(运行任何内容)弹出窗口,请按两下 Ctrl

AI Assistant

AI Assistant 限定访问
Pro

在此版本中,我们为 PyCharm Professional 引入了一项重要补充 – AI Assistant。 AI Assistant 当前具备一组由 AI 提供支持的初始功能,提供集成式 AI 聊天,可以完成一些任务,例如自动编写文档注释、建议名称、生成提交消息等。

JetBrains AI 服务为 AI Assistant 提供技术支持,此服务目前可以连接到 OpenAI,后续还将包含其他语言模型提供商。 要访问 AI Assistant 的功能,您需要安装 JetBrains AI 插件并使用 JetBrains Account 登录 JetBrains AI 服务。 JetBrains AI 服务的初始可用性可能受限。 有关 AI Assistant 的更多信息以及访问说明,请查阅这篇博文

对 QML 的支持
Pro

QML 语法支持

QML 语法支持

PyCharm 为在代码中使用 Qt 建模语言 (QML) 的用户带来了 QML 语法支持。 包括:

  • 代码高亮显示和代码补全。
  • 用法搜索。
  • Structure(结构)视图可供在 QML 文件中轻松导航。
  • Quick Documentation(快速文档)弹出窗口显示符号信息。
QML 格式化程序和其他设置

QML 格式化程序和其他设置

PyCharm 默认对 QML 代码使用内置代码样式设置。 Qt 和 QML 路径、格式化工具 qmlformat 和 QML 语言服务器可以在 Settings | Languages & Frameworks | QML(设置 | 语言和框架 | QML)中配置。

用户体验

重做了 Python Run/Debug Configurations(运行/调试配置)对话框

重做了 Python Run/Debug Configurations(运行/调试配置)对话框

我们简化了 Python 运行配置的 Run/Debug Configurations(运行/调试配置)对话框。 现在,打开对话框后,您可以立即访问最常用的设置。 额外设置,例如 Run with Python Console(使用 Python 控制台运行)、Emulate terminal in output console(在输出控制台中模拟终端)和 Before Launch(启动前),现在都位于 Modify options(修改选项)菜单下。

从 Python Packages(Python 软件包)工具窗口更新软件包的选项

Python Packages(Python 软件包)工具窗口更新软件包的选项

Python Packages(Python 软件包)工具窗口是管理项目的 PyPI、Conda 或私有软件包的快速方法。

在 PyCharm 2023.2 中,Python Packages(Python 软件包)工具窗口左侧将显示新软件包版本列表,您可以根据需要直接从列表下载并安装新版本。

收起 Python 类型注解的选项

收起 Python 类型注解的选项

为了提高代码可读性,PyCharm 2023.2 提供了折叠复杂类型提示的选项。 如果您喜欢阅读没有类型注解的代码,您可以切换选择 Settings | Editor | General | Code Folding | Python | Type annotations(设置 | 编辑器 | 常规 | 代码折叠 | Python | 类型注解),在打开项目时默认折叠类型注解。 您也可以使用 Collapse Python Type Annotations(收起 Python 类型注解)和 Expand Python Type Annotations(展开 Python 类型注解)操作,快速移除类型注解或在需要时将其恢复。

Search Everywhere(随处搜索)中的文本搜索

Search Everywhere(随处搜索)中的文本搜索

Search Everywhere(随处搜索)(按两次 Shift)主要用于搜索文件、类、方法、操作和设置。 现在,当给定查询的其他搜索结果很少或没有时,将显示文本搜索结果。

代码洞察

嵌入形参名称提示

嵌入形参名称提示

为了使包含大量实参的函数调用更易阅读,PyCharm 2023.2 提供了嵌入形参名称提示。 您可以在 Settings | Editor | Inlay Hints(设置 | 编辑器 | 嵌入提示)中设置其行为。 您可以使用 Ctrl+Click 快捷键禁用特定方法的形参名称提示。

类型提示增强

类型提示增强

PyCharm 2023.2 能够识别使用 typing.NoReturn 注解的函数调用。 当您调用此类函数时,IDE 现在会提供有关不可到达的代码和可能未初始化的变量的正确信息。

对 pytest 中固定例程重写的支持

对 pytest 中固定例程重写的支持

对于重写的 pytest 固定例程,PyCharm 2023.2 将提供正确的类型推断、导航和代码补全。 IDE 解析固定例程的方式现在与 pytest 相同:首先是在测试类中检查固定例程,然后是在当前文件和 import 语句中,最后是在最近的 conftest.py 文件中。

增强了对 Jinja 模板的支持

增强了对 Jinja 模板的支持

与对 .j2.jinja2 的识别相同,PyCharm 2023.2 现在会自动将带有 .jinja 文件扩展名的文件识别为 Jinja 模板,并提供相应的语法高亮显示和代码补全。

带有复合扩展名的文件(例如 Ansible 模板)现在对模板语言和数据语言都有正确的语法高亮显示和代码补全。 识别的基于文本的格式包括 .xml.yaml.properties*-playbook.yaml 文件现在也被检测为具有 YAML 数据语言的 Jinja2 文件。

其他改进

  • pyproject.toml 文件中,PyCharm 2023.2 现在将为 dependenciesrequires 特性中的软件包名称提供代码补全。 IDE 还会从这些特性建议安装缺少的软件包。
  • 在 PyCharm 2023.2 中,我们引入了一个新选项,可以在换行时将代码包装在圆括号中。 这适用于二进制表达式、调用链、字符串和相对导入语句。
  • PyCharm 2023.2 为 <py-config> 标记内的内容提供了语法高亮显示。 另外,在 <py-script> 标记内,PyCharm 会为 displayElementElement.write 元素提供代码补全,并检查其实参的类型。

用户界面

新 UI 中的彩色项目标题

新 UI 中的彩色项目标题

现在,您可以为每个项目分配唯一的颜色和图标,也可以自定义标题的预定义颜色。 为此,请右键点击标题,访问上下文菜单。 选择 Change Project Color(更改项目颜色)选项,然后选择您想要的颜色。 要禁用此功能,只需在上下文菜单中取消选择 Show Project Gradient(显示项目渐变)选项。

新 UI 中带有浅色标题的浅色主题

新 UI 中带有浅色标题的浅色主题

在 v2023.2 中,我们通过引入替代的 Light with Light Header(带有浅色标题的浅色主题)选项提升了浅色主题的用户体验,该选项可为窗口标题、工具提示和通知气球提供匹配的浅色。

在 Project(项目)视图中按修改时间对文件进行排序

Project(项目)视图中按修改时间对文件进行排序

PyCharm 2023.2 添加了备受期待的功能,让您可以根据修改时间在 Project(项目)视图中排列文件。 每当项目中有更改被保存时,这个新功能就会自动重排文件。 要启用此功能,首先打开 Project(项目)视图中的竖三点菜单,然后选择 Tree Appearance | Sort by Modification Time(树外观 | 按修改时间排序)。

在 Run(运行)微件中固定运行配置

Run(运行)微件中固定运行配置

为了简化多个运行配置的管理,我们在 Run(运行)微件中实现了固定首选配置的选项。 要将运行配置添加到 Pinned(固定)部分,首先打开其名称旁边的竖三点菜单,然后选择 Pin(固定)。 如果有多个固定的配置,在列表中拖放即可轻松排列。

其他改进

  • 我们扩展了新 UI 主工具栏的自定义选项。 右键点击任意微件,选择 Add to Main Toolbar(添加到主工具栏),然后浏览可用选项。

数据科学
Pro

配置托管 Jupyter 服务器的选项

配置托管 Jupyter 服务器的选项

使用 PyCharm 2023.2,您可以配置托管的 Jupyter 服务器。 您可以为托管服务器指定环境变量、将托管服务器配置为从任意目录启动,以及通过位于所选 Python 解释器外部的独立 jupyter.exe 文件启动托管服务器。 您还可以为 Jupyter 或 JupyterLab 服务器指定额外参数。

对 Polars DataFrames 的支持

对 Polars DataFrames 的支持

In PyCharm 2023.2 you can work with interactive Polars tables in Jupyter notebooks. 在 Python 控制台中,您可以通过 Special Variables(特殊变量)列表中的 View as DataFrame(作为 DataFrame 查看)选项检查 Polars DataFrame。 Python 和 Jupyter 调试器均支持 Polars。 PyCharm 将提供有关表的类型和维度的信息、补全列的名称和类型,还允许对表进行排序。

请注意,Scientific mode(科学模式)不支持 Polars DataFrame。

性能
Pro

轻松生成共享索引的新工具

PyCharm 2023.2 提供了新的命令行工具,用于快速构建和上传共享索引。 它旨在简化团队合作并消除本地索引大型项目花费的时间。 新工具将简化为团队生成共享索引的过程,只需几下点击,无需多个脚本和服务。 了解详情

代码质量工作流
Pro

捆绑了 Qodana 代码质量平台

捆绑了 Qodana 代码质量平台

在这个版本中,我们通过完全集成 Qodana 代码质量平台免除了静态分析配置。

现在,您可以直接在 PyCharm 中触发分析、查看整个项目的问题列表,并在首选 CI/CD 系统中设置质量门。 此外,您还可以在 PyCharm 内查看服务器端分析结果。

Qodana 已结束预览阶段,您可以在这篇博文中详细了解版本。

Web 开发
Pro

针对 JavaScript 和 TypeScript 改进了错误格式设置

针对 JavaScript 和 TypeScript 改进了错误格式设置

我们在 PyCharm 2023.2 中关注如何改进呈现 JavaScript 和 TypeScript 中类型错误的方式。 现在,您的错误和警告将以可读性更高的方式格式化,使代码中的问题更易发现。 这适用于所有 TypeScript 和一些最常见的 JavaScript 错误,甚至包括本地化后的错误。

CSS 嵌套支持

CSS 嵌套支持

PyCharm 2023.2 now supports CSS nesting. 我们实现了语法支持和检查,新检查会在嵌套选择器以标识符或函数符号开头时发出提醒。

捆绑了 OpenAPI Specifications 插件

捆绑了 OpenAPI Specifications 插件

OpenAPI Specifications 插件现在与 PyCharm 2023.2 捆绑。 This plugin provides support for OpenAPI and Swagger specification files. 主要功能包括 JSON 架构验证、导航,以及使用 Swagger Codegen 和 OpenAPI Generator 生成代码。

OpenAPI 和 Swagger 文件的 Redoc UI 预览

OpenAPI 和 Swagger 文件的 Redoc UI 预览

PyCharm now supports Redoc UI previews for OpenAPI and Swagger specification files, including YAML and JSON files, allowing you to switch between the Redoc and Swagger UIs within the IDE. 通过 Redocly 集成,您可以从 PyCharm 中访问 Try it 控制台,使用它设置参数并向 API 发送请求。

对编辑 AsyncAPI 文件的支持

对编辑 AsyncAPI 文件的支持

现在,在 PyCharm 中使用 AsyncAPI 规范格式更加简单。 IDE 支持架构验证功能,并为引用、Endpoints(端点)视图和 Editor Preview(编辑器预览)窗格提供了代码补全。

HTTP 客户端

在 HTTP 客户端中使用 TLS 发送 gRPC 请求

在 HTTP 客户端中使用 TLS 发送 gRPC 请求

您现在可以在 HTTP 客户端中通过传输层安全 (TLS) 发送 gRPC 请求。 TLS 提供加密和身份验证,确保数据传输的保密性和完整性。 请求语法支持 https://grpcs:// 架构。

HTTP 客户端中对 Swagger 和 OpenAPI 架构的支持

HTTP 客户端现在能够理解 Swagger 和 OpenAPI 规范,并为 JSON 请求正文提供相应的代码补全选项。

HTTP 客户端中对 JavaScript 导入的支持

HTTP 客户端中对 JavaScript 导入的支持

在 PyCharm 2023.2 中,现在可以通过导入的模块共享 HTTP 客户端请求处理程序的通用 JavaScript 代码。

HTTP 客户端中响应的 PDF 和 HTML 预览

HTTP 客户端中响应的 PDF 和 HTML 预览

PyCharm 现在能够在 HTTP 客户端的请求结果中显示 PDF 和 HTML 文件的预览。

HTTP 客户端 CLI 中对 GraphQL 和 WebSocket 的支持

HTTP 客户端 CLI 中对 GraphQL 和 WebSocket 的支持

您现在可以在 PyCharm 中使用 HTTP 客户端 CLI 与 GraphQL API 交互,并与服务建立 WebSocket 连接,用于测试或自动化脚本。

VCS

GitLab 集成

GitLab 集成

PyCharm 2023.2 引入了与 GitLab 的集成,帮助简化您的开发工作流。 现在,您可以直接在 IDE 中使用 Merge Requests(合并请求)功能:查看请求列表、检查更改、留下评论,以及导航到相关视图。

提交特定代码行的选项

提交特定代码行的选项

PyCharm 2023.2 引入了一项备受期待的功能,可供有选择地提交代码区块的特定部分。 要执行部分提交,请选择区块中的行,然后从上下文菜单中调用 Include these lines into commit(将所选行包含到提交中)。 区块将被分为单独的行,所选行将被高亮显示。 您可以使用复选框或上下文菜单在选区中添加或排除行。

Docker
Pro

在 Docker 镜像层内预览文件

在 Docker 镜像层内预览文件

现在可以在 Services(服务)工具窗口中轻松访问和预览 Docker 镜像层的内容。 从列表选择镜像,选择 Show layers(显示层),然后点击 Analyze image for more information(分析镜像以获得更多信息)。 这将打开层中存储的文件列表,您可以右键点击文件,然后点击 Open File(打开文件)(对于二进制文件,则为 Download File(下载文件)),在编辑器中轻松打开所选文件。

将 Docker 容器设为作为运行配置的 Before Launch(启动前)任务运行

将 Docker 容器设为作为运行配置的 Before Launch(启动前)任务运行

现在,可以将 Docker 运行配置指定为 Before Launch(启动前)任务,从而在另一个配置之前运行。 IDE 将等待当前运行的容器恢复正常,然后再启动下一个运行配置。 要将 Docker 运行配置放入队列中,首先创建配置,然后通过 Modify options | Add before launch task | Run configuration(修改选项 | 添加启动前任务 | 运行配置)将其添加到相关容器中。

Kubernetes
Pro

对单个项目中多个 kubeconfig 文件的支持

对单个项目中多个 kubeconfig 文件的支持

我们引入了一项新功能,允许您在单个项目中设置多个 kubeconfig 文件。 这简化了处理多个集群或在同一项目中的不同集群上使用环境的体验。 转到 File | Settings | Build, Execution, Deployment | Kubernetes(文件 | 设置 | 构建、执行、部署 | Kubernetes)即可设置文件。

查看部署日志

查看部署日志

现在,您可以在 Services(服务)工具窗口中查看 Kubernetes 集群中的部署日志。 右键点击树中的 Deployment(部署),然后从上下文菜单中选择 Follow Log(关注日志)或 Download Log(下载日志)。

数据库工具
Pro

Redis Cluster 支持

Redis Cluster 支持

您现在可以连接到 Redis Cluster 并拥有与独立 Redis 相同的功能集。 连接到集群时,必须在所需 URL 之前输入 jdbc:redis:cluster:。 为此,您需要选择适当的连接类型。 如果连接到集群需要 SSH 隧道,应在 URL 中指明集群中所有节点的主机和端口。

架构迁移对话框的新 UI

架构迁移对话框的新 UI

在 v2023.2 中,我们重做了架构迁移功能。 主要区别在于,同一个对象现在位于对话框两个部分的同一行上,从而更清晰地显示将在目标架构中添加、移除或更改的对象。

数据编辑器的 Time zone(时区)设置

数据编辑器的 Time zone(时区)设置

Data Editor and Viewer(数据编辑器和查看器)设置页面新增了 Time zone(时区)字段,用于设置显示 datetime 值的时区。

对 Redshift 中外部数据库和数据共享的支持

现在,共享数据库及其内容均会内省。 创建这些数据库的数据共享也会内省。

其他

  • 在这个版本中,我们为想要在 IDE 中使用特定 LSP 服务器提供编码辅助的插件开发者引入了 LSP API。 如果您已经创建了自己的编程语言或框架,则可以创建 LSP 服务器和插件以在 IDE 中获得支持。 请注意,此功能仅在 IDE 的付费版本中可用。 了解详情
  • 我们分解了 Big Data Tools 插件,允许单独使用其各个部分。 这让 PyCharm 得到六个新插件:KafkaSparkFlinkRemote File SystemsBig Data File ViewerZeppelin。 如果您需要全部六个插件,仍然可以一键安装 Big Data Tools 插件。
  • 从 2023.2 开始,最大堆大小 (-Xmx) 的默认值已更改为 2 GB。