PyCharm 2024.2 最新变化

在改进的 Jupyter Notebook 界面中直接通过 AI Assistant 进行数据分析,并更高效地使用 Hugging Face 模型

下载

AI Assistant

JetBrains AI Assistant 2024.2 对云代码补全引入了重大增强,提供更准确、更快速的建议。 UX 经过重做,可以将 AI 代码补全功能更好地集成到 IDE 工作流中,并获得多项改进,包括建议代码中的语法高亮显示和代码建议的增量接受。 AI 聊天也更加智能,现在支持最新的 GPT-4o 模型、聊天引用和语义搜索。

新功能包括 Terminal(终端)工具窗口中用于高效生成命令的 AI 集成和 AI 辅助 VCS 冲突解决。此外,用户现在可以为文档生成和单元测试创建自定义提示,以根据特定编码标准和语言进行定制。

这篇博文中了解这些和其他增强。

Jupyter Notebook 中的 AI 单元

现在,AI Assistant 在 PyCharm 中与 Jupyter Notebook 更深入地集成。您现在可以选择直接在 Notebook 中添加提示和使用 AI Assistant。选择每个单元上方或下方显示的 AI 单元选项,就会出现带有提示字段的单元。

如果您在执行数据分析时遇到困难,并且想要了解其他数据分析师通常在该阶段执行的最常见步骤,请点击 AI 单元右侧的灯泡。AI Assistant 将根据 Notebook 的当前上下文提供最相关的建议,让您更快、更有效地清理数据。

如果您希望 AI Assistant 帮助您迭代特定单元的代码,请使用上下文菜单中的 AI Edit Cell(AI 编辑单元)选项。这将直接在选定的单元中打开提示字段。AI Assistant 建议的更改将在差异视图中显示,让您可以看到代码将如何更改。

一键 DataFrame 可视化

借助 AI Assistant 直观呈现 DataFrame,AI Assistant 现在可以提供最适合上下文的图和绘图建议。

使用 DataFrame 右上角的 AI 图标并选择 Suggest Visualization(建议可视化)。然后,PyCharm 将打开 AI 聊天提供建议。选择您最喜欢的建议,AI Assistant 将在 Notebook 中生成包含适当代码段的新单元。运行即可。图将出现在 Notebook 中。

Databricks 集成

PRO

PyCharm 现在提供与 Databricks 的直接集成。您可以从 IDE 连接到 Databricks 集群,将脚本和 Notebook 作为工作流执行,直接在集群上的 Spark shell 中执行文件,以及监控进度。

PyCharm 可以检测磁盘上的 Databricks 配置文件并使用它们连接到 Databricks 集群。您可以在 Databricks 中以两种模式运行代码:Run on Cluster(在集群上运行)或 Run as a Workflow(作为工作流运行)。

要使用 Databricks 集成,您必须安装这个专属插件

Hugging Face 集成

PRO

模型建议

PyCharm 现在能够建议一系列最适合您的需求的 Hugging Face 模型。 这样一来,您可以直接在 IDE 内决定使用和安装哪种模型。 在编辑器标签页中点击右键以调用上下文菜单,选择 Insert HF Model(插入 HF 模型),确定您想让模型做什么。然后,PyCharm 将提供一系列建议。选择一个模型之后,PyCharm 会建议插入一个代码段,让您直接在打开的文件中使用此模型,并且它还会下载并安装模型依赖的所有缺失的软件包。

Hugging Face 数据集库的交互式 DataFrame

您现在可以将 Hugging Face 数据集库数据作为交互式 DataFrame 进行检查。这样一来,您可以利用已经用于 pandas、Polars、PyTorch 和 TensorFlow DataFrame 的功能,包括图表视图、分页以及表排序和导出。

识别和删除未使用模型的选项

新的专属 Hugging Face 工具窗口可供监控和管理存储在您的计算机上的 Hugging Face 模型。这将帮助您识别可以删除的未使用模型以释放磁盘空间,以及轻松复制模型路径或打开存储模型的文件夹。

Jupyter Notebook

PRO

内联变量预览

如果您只想检查变量值,则不再需要启动调试器或使用 print 语句。现在,只需将光标放在变量的行上,即可立即预览所选变量的值。

Jupyter Notebook 的用户体验

简化的单元执行

Run(运行)按钮现在位于每个单元旁边,因此您不再需要导航到上部菜单,新的 Go To(转到)按钮可用于导航到最近运行的单元。

此外,每个单元现在都会显示其状态,指示成功运行、运行时出现错误,还是执行被取消。您可以将鼠标悬停在 Notebook 主工具栏上的 Go To(转到)按钮上来检查执行状态。单元运行完毕后,PyCharm 会显示通知,即使 Notebook 已经关闭。

标签

现在,为每个单元指定的标签在编辑器中可见。您可以通过上下文菜单添加新标签。

展开和收起代码和 Markdown 单元

为了充分利用 Notebook 中的工作空间,您现在可以展开和收起代码和 Markdown 单元。处于焦点的单元以蓝线高亮显示,点击此线可收起或展开单元的内容和输出。焦点外的单元也可以收起。悬停鼠标会显示一条灰线以供点击。

Endpoints(端点)工具窗口:对 Django REST Framework 视图集的 @action 的支持

PRO

Endpoints(端点)工具窗口可以识别通过 @action 装饰器为视图集指定的路由。您可以看到 methods 形参中指定的路由和 HTTP 方法。此外,除了指定至视图集的初始路由之外,PyCharm 现在还根据 detailurl_path 形参生成路由。HTTP 客户端将为每个路由建议带有相关方法的请求。

用户体验

Search Everywhere(随处搜索)中的预览选项

Search Everywhere(随处搜索)对话框增加了一个选项,用于预览您正在搜索的代码库元素。通过对话框工具栏上的 Preview(预览)图标启用此功能后,预览窗格将出现在搜索结果下方,提供更多上下文并让您更轻松地浏览项目。

改进的全行代码补全

PRO

在 2024.2 版本中,我们使接受全行代码补全建议的流程更加直观和精确。 内联代码补全建议现在包含代码高亮显示,新的快捷键可以让您从较长的建议中接受单个单词或整个行。 我们还优化了将接受的更改集成到代码中的方式,消除了格式设置和相关问题。

其他改进

  • 新 UI 已成为所有用户的默认选项。在 PhpStorm 2024.2 中, 新 UI 现在成为所有用户的默认选项,经典 UI 则作为插件提供。 详细了解新 UI
  • PyCharm 现在会自动检测并默认使用您的计算机上配置的系统代理设置。

代码编辑器

Markdown 文件中的数学语法支持

Rider 现在可以在 Markdown 文件中原生渲染数学表达式。处理 Markdown 时,您可以使用 $ 插入内联数学表达式,使用 $$ 插入包含数学内容的代码块。

语言感知粘性行

现在,您可以选择要为其显示粘性行的语言。 您可以在 Settings/Preferences | Editor | General | Sticky Lines(设置/偏好设置 | 编辑器 | 常规 | 粘性行)中根据自己的偏好定制功能,或者在编辑器中右键点击粘性行调用上下文菜单。

运行/调试

JSON、XML 和其他格式的字符串变量可视化器

现在,调试和浏览具有复杂数据格式的长字符串变量变得容易多了。 更新后的调试器为具有以 JSON、XML、HTML、JWT 和 URL 编码的字符串的字符串变量提供了格式正确的可视化效果。点击变量旁边的 View(查看)超链接即可快速确定 bug 的根本原因。相关的可视化器便会根据变量的内容自动选择。

当前功能分支中更改的测试覆盖率

PyCharm 2024.2 进一步提高了您在本地快速检查和改进测试覆盖率的能力,无需执行使用 CI/CD 管道的缓慢流程。Coverage(覆盖率)工具窗口现在仅显示当前功能分支中更改的类,这样一来,您无需浏览整个项目状态即可检查最近更改的测试覆盖率。要检查整个项目的测试覆盖率并查看所有类,请禁用 Show Only Modified Classes(仅显示修改的类)选项。

版本控制系统

Version Control(版本控制)微件中的标记

我们在 Version Control(版本控制)微件中为标签提供了一个专属节点,使其更易查看。节点默认显示,如果您想将其隐藏,只需点击齿轮图标并取消选中 Show Tags(显示标记)选项。

其他改进

  • Git 工具窗口中的 Graph Options(图选项)图标下有两个新选项:--first-parent--no-merges。使用 First Parent(第一个父项)选项隐藏合并中的个别提交来专注于主线更改。或者,您可以使用 No Merges(无合并)选项完全筛选掉合并提交。
  • 为了简化复杂项目中的更改检查,我们使 Local History(本地历史记录)操作可同时用于多个文件或目录。在 Project(项目)工具窗口中,选择多个文件或文件夹,然后选择 Local History | Show History(本地历史记录 | 显示历史记录),查看包含您选择内容的更改历史记录的弹出窗口。
  • 您现在可以将 Git 日志作为编辑器中的标签页打开,从而提供更多的工作空间,并更轻松地浏览提交列表和相关详细信息。此操作也可以通过 Log(日志)工具窗口工具栏中的下拉菜单执行。
  • 我们优化了 Git 工具窗口 Log(日志)标签页中提交图的分支线的颜色编码和布局。重要的分支行现在始终位于图表左侧,并维持其指定颜色,更易识别和跟踪。

框架和技术

PRO

GraalJS 作为 HTTP 客户端的执行引擎

我们已将 HTTP 客户端中使用的 JavaScript 执行引擎升级为 GraalJS。这让您可以在使用 PyCharm 的 HTTP 客户端测试端点以及在 .http 文件中使用 JavaScript 处理结果时使用所有 GraalJS 功能,包括对 ECMAScript 2023 规范的完全支持。

HTTP 客户端改进

我们对 HTTP 客户端引入了有价值的更新。新的 XPath 函数允许您直接从 XML 和 HTML 文档查询元素。此外,我们还添加了许多操作 XML 和 HTML 文档的方法,消除了手动解析 XML 的需要。

HTTP 客户端现在还支持遍历变量集合,允许您使用 JSONPath 集合组成单个 HTTP 请求,并自动为集合中的每个元素发送请求。此外,您可以使用 JSONPath 语法在后处理脚本中访问特定集合条目。

此外,我们还实现了为提供特定方法的 API 创建自定义方法的功能。您可以通过快速修复动态添加自定义方法,或者在 Settings | Tools | HTTP Client(设置 | 工具 | HTTP 客户端)中使用逗号分隔的列表输入。

增强的 Terraform 支持

我们显著扩展了 PyCharm 对 Terraform 的编码辅助,为其提供了全行代码补全。此外,关键代码洞察功能也针对 Terraform 进行了改进,例如上下文感知代码补全、精细的语法高亮显示以及带有快速修复建议的错误检测系统。我们还添加了一个快速文档功能,当您将鼠标悬停在元素上时会显示工具提示,提供即时信息来帮助您更有效地使用 Terraform 资源,而不会中断您的工作流。

数据库工具

PRO

新的 AI Assistant 功能

在这个版本中,我们为数据库引入了新的 AI Assistant 功能。借助文本到 SQL 功能,您可以点击 Generate Code with AI(使用 AI 生成代码)并输入提示直接在编辑器中生成 SQL 代码。您可以接受、重新生成或优化代码,如果有其他问题,可以将其带到 AI 聊天。

此外,AI Assistant 可以帮助修改表,允许您请求更改,例如将所有 VARCHAR 数据类型切换为 CHAR。它还可以帮助您理解和修正 SQL 问题,并提供解释和修正建议。此外,您可以在提示中提及数据库架构,将其附加到 AI 聊天。

通过脚本化加载程序的可自定义数据导入

现在,您可以使用可自定义的脚本化加载程序从表格文件导入 Excel、JSON、Parquet 和 shapefile 格式的数据。将文件从 Project(项目)工具窗口拖动到数据库资源管理器中的架构,然后在 Import(导入)对话框中配置设置。

此外,您只需点击 Project(项目)工具窗口即可在数据编辑器中查看这些文件。要禁用此行为,转到 Settings/Preferences | Advanced Settings | Open file as table if detected by scripted loader(设置/偏好设置 | 高级设置 | 如果脚本化加载程序检测到文件,则将其作为表打开)。

您还可以将加载程序放置在 Scratches and Consoles | Extensions | Database Tools and SQL | data | loaders(临时文件和控制台 | 扩展程序 | 数据库工具和 SQL | 数据 | 加载程序)中,以创建自定义加载程序。

其他改进

  • 选择单元,然后点击 Related Rows(相关行)图标,访问与给定单元相关的行。Navigate And Select First(浏览并选择第一行)选项会显示所有行,高亮显示引用的第一行,而 Navigate And Filter All(浏览并筛选所有行)选项仅会显示引用的行。
  • 我们已经使值补全实现自动化。请记住,此功能完全在本地运行,因此补全变体基于当前列中已加载的其他值。

前端

PRO

直接运行和调试 TypeScript 文件

现在,运行和调试 TypeScript 文件无需任何额外设置。您可以从不同的入口点执行,包括文件上下文菜单、Run(运行)微件,甚至 Current File(当前文件)配置。

改进的主要 Web 框架支持

PyCharm 2024.2 能够为使用基于文件系统的路由的框架解析路径。它可以根据项目的文件系统解析链接路径,为 Next.js、Nuxt、SvelteKit 和 Astro 提供自动补全和导航。还有对新 Svelte 5 代码段和渲染标记的支持。此外,我们还为 Astro 和 Vue Language Service v2 实现了语言服务器协议 (LSP) 支持,有助于提升代码补全和整体开发者体验。

其他改进

用于远程开发的反向端口转发

PRO

我们为远程开发工作流添加了反向端口转发。这项新功能允许远程 IDE 连接到客户端计算机上可用的端口,特别适合移动开发和连接到本地数据库。

JetBrains Runtime:切换到 JBR21

我们正在从 JetBrains Runtime 17 (JBR17) 过渡到 JetBrains Runtime 21 (JBR21)。从 PyCharm 2024.2 开始,所有 IDE 更新都将附带 JBR21,提供增强的安全性和性能以及对 Linux 的 Wayland 渲染支持。

下载