PyCharm 2025.1 最新变化

面向所有人的统一 PyCharm、免费 AI 层级、Junie 公开发布版和 Cadence 的推出、PyCharm Jupyter 增强、对 Hatch 的增强和 Data Wrangler 实现。

版本亮点

面向所有人的统一 PyCharm – 从 Pro 开始并免费继续使用

PyCharm 现在是一个功能强大的统一产品! 它的核心功能(包括 Jupyter Notebook 支持)免费提供,Pro 订阅将带来更多功能。 从 2025.1 版本开始,每个用户都可以立即获得为期一个月的免费 Pro 试用,您可以直接使用 PyCharm 的所有高级功能。 试用结束后,您可以选择继续订阅 Pro 或免费使用核心功能。 在这篇博文中详细了解更改。

Junie – 您的个人编码代理 Pro

JetBrains 的编码代理 Junie 现在通过 JetBrains AI 在 PyCharm 中提供。 Junie 可以自主规划、编写、优化和测试代码,让您的开发体验更加顺畅、高效和愉快。 它可以处理诸如重构代码、创建测试和实现优化等繁琐任务,让您专注于更大的挑战和创新。

PyCharm goes AI

JetBrains AI 进行了重大升级,将 AI Assistant 与 Junie 合并到一个订阅下。 在此版本中,所有 JetBrains AI 功能在 PyCharm Pro 中免费提供,其中一些功能可以不受限制地使用,例如无限制代码补全和本地模型支持,而其他功能则基于抵用金限制访问。 我们还推出了新的订阅系统,您可以根据需要轻松扩展到 AI Pro 和 AI Ultimate 层级。

Cadence – 机器学习工作流的轻松云执行 Pro

现在,您只需几分钟就能直接从 PyCharm 在强大的云硬件上运行机器学习代码,无需复杂的设置或云专业知识。 Cadence 插件可以简化机器学习工作流,使您能够专注于代码,同时利用可扩缩的计算资源。

详细了解 Cadence

Data Wrangler Pro

我们实现了 Data Wrangler,这是一款强大的工具,可以帮助 Python 数据专业人士简化数据操作并专注于更高层次的分析。 查看和分析数据,探索列统计数据和可视化,并自动生成用于转换的 Python 代码。

使用交互式 UI 执行常见的 DataFrame 转换,例如筛选、清理、处理异常值等,而无需编写重复代码。 您还可以跟踪更改历史记录,以方便的格式导出数据,并将转换作为新单元插入 Notebook。

详细了解 Data Wrangler

Notebook 中的 SQL 单元 Pro

PyCharm 2025.1 引入了 SQL 单元。 这种新的单元类型允许您在 Jupyter Notebook 中查询数据库、DataFrame 和附加 CSV 文件,并将查询结果自动保存到 pandas DataFrame。

对 Hatch 的支持

我们正在引入对 Hatch 的支持,Hatch 是来自 Python Packaging Authority (PyPA) 的现代可扩展 Python 项目管理器。 Hatch 可以自动迁移 setuptools 配置、创建隔离环境以及运行和发布构建,使 Python 软件包管理更加高效。

PyCharm 还允许您创建由 Hatch 管理的新项目。 当 Hatch 项目从本地机器或远程源导入时,IDE 会自动识别。

Jupyter Notebook

Jupyter Notebook 支持改进

我们在继续增强开发者使用 Jupyter Notebook 时的整体体验。 在这个版本中,我们引入了以下功能:

  • 基于对 uv 的现有支持,使用 uv 解释器启动 Jupyter 服务器。
  • 使用装订区域中的栏位,通过拖放功能直接重新排列 Jupyter 单元。
  • 在点击齿轮图标时出现的菜单中选择 Commit without outputs(无输出提交)选项,在提交前自动清除单元执行结果。
  • Notebook 背景、代码单元、所选行和单元边框的可自定义颜色。
  • 按单元管理工具栏,提供针对所选单元类型的特定操作。 Pro
  • Notebook 的 Structure(结构)视图中新增 Crashed(已崩溃)和 Queued(已排队)单元状态。
  • 在 Markdown 单元中选择文本时出现的浮动格式设置工具栏,空 Markdown 单元的外观也更加整洁。
  • Shut down Kernel(关闭内核)按钮,已添加到主工具栏。

Jupyter 服务器配置改进 Pro

我们增强了 Jupyter 服务器配置设置的简洁性和透明度。 现在,您可以添加多个托管或远程服务器配置,并在它们之间轻松切换。

其他改进包括:

  • 对通过代理连接到远程服务器的支持。
  • 对 AWS SageMaker 远程连接的新支持。
  • 针对远程 Jupyter 服务器的改进文件系统。
  • 在 Kaggle 的 Jupyter 服务器上运行 Notebook 的功能。

Jupyter 调试器改进

  • Run to caret(运行到文本光标)功能。
  • 现在,如果尚未设置断点,PyCharm 可以自动在 Jupyter 单元的第一行放置断点,以供逐行调试 Jupyter 单元。
  • 多种问题修正。
  • 对远程 Jupyter 实例的调试和 Variables(变量)视图支持。 Pro

数据科学

重新设置 Python 中嵌入的 SQL 代码的格式 Pro

借助 2025.1 版本,您可以根据指定的代码样式重新设置 Python 中嵌入的 SQL 代码的格式。 这样可以确保在 Python 脚本中使用 SQL 时的一致性和可读性。

打开新 Data View(数据视图)标签页的快速选项 Pro

现在,您可以使用现有标签页旁边的 + 按钮在 Data View(数据视图)工具窗口中快速创建新标签页。 额外的标签页提供了一个方便的位置,只需输入变量名称或表达式即可求算 NumPy 数组、pandas DataFrame 和其他数据类型。

将 NumPy 数组和张量作为图像查看

调试处理图像的应用程序时,您可以使用 View as Image(作为图像查看)操作在调试器中查看图像,无需添加任何代码。 此操作适用于 NumPy 数组和以下库:PyTorch、TensorFlow、Matplotlib、Seaborn、OpenCV、Pillow、ImageIO 和 scikit-image。 在调试模式下右键点击数据变量,选择 View as Image(作为图像查看)即可使用。

数据库工具

MySQL 和 MariaDB 的按级别内省 Pro

我们继续增强内省性能。 从 2025.1 版本开始,MySQL 和 MariaDB 将具有不同的内省级别,加载的元数据量将根据数据库的大小自动调整。 也就是说,如果您的数据库较大,我们不会加载所有元数据。 这将大幅缩短内省时间,让您可以立即开始使用新连接的数据源。 要详细了解级别以及如何定制体验,请访问此页面

SQLAlchemy 对象关系映射器支持

此版本增强了 PyCharm 与 SQLAlchemy 的集成,使其能够自动识别数据库对象类型。 此改进使数据库列和查询结果能够准确自动补全,大幅改善您处理基于 ORM 的项目的体验。

Django Pro

request.user 中的类型提示的支持

如果已在 Django 设置文件中指定,PyCharm 现在会根据 AUTH_USER_MODEL 自动为 request.user 应用正确的类型提示,有助于改进自定义用户模型的代码补全和类型检查。

Django Ninja 框架的路由声明支持

我们引入了使用 Django Ninja 框架在 Django 项目中声明端点的选项。 这扩展了 PyCharm 的端点检测以符合最佳做法,并让后端和全栈开发者可以直接通过 PyCharm 的 Endpoints(端点)工具窗口管理端点。

AI Assistant

扩展了聊天中 LLM 的选择范围

聊天中的 AI 模型选择范围刚刚得到扩展! 现在,您可以通过选择最新、最先进的语言模型来完全掌控您的 AI 体验,其中包括:

  • Claude 3.7 Sonnet
  • OpenAI GPT-4.1 (сoming soon)
  • Gemini 2.0 Flash

而且我们不会止步于此! JetBrains 致力于持续集成 AI 模型,以确保您能够使用最前沿的 AI 技术。

离线模式:使用本地模型

AI Assistant 让您可以灵活地离线使用本地模型,也可以利用基于云的 AI 处理。 借助新的离线模式,您现在可以在没有互联网连接的情况下工作,同时仍然受益于 AI 赋能的编码辅助。 通过 Ollama 或 LM Studio 将本地模型用于聊天、代码生成、提交消息、内联文档等。

编辑模式下的多文件更改

编辑多个文件从未如此简单! AI Assistant 现在支持在聊天中进行多文件编辑,它会借助检索增强生成 (RAG) 技术定位最相关的文件,同时针对您的整个项目给出修改建议。 减少重复任务,通过单次交互即可实现对多个文件的修改。

Jupyter 表中的 AI 生成快速图表 Pro

现在,您可以点击 AI Quick Charts(AI 快速图表)为 Jupyter Notebook 中的表生成图表预览。 AI Assistant 利用 DataFrame 元数据提出可视化建议,将生成的图表直接嵌入表的微件中,以供即时预览。 点击生成的图表即可将相应代码插入 Notebook。

Jupyter Notebook 中的改进代码生成 Pro

现在,AI 生成代码在逻辑上被分成多个单元,包括 Markdown 单元,从而更自然地与 Notebook 工作流保持一致。

从 AI Assistant 上下文中排除文件的选项

您可以通过配置 .aiignore 文件进一步增强对 AI Assistant 所看到内容的控制。 这使您可以阻止 JetBrains AI 访问特定文件或文件夹,从而确保敏感信息永远不会被处理。

在聊天中进行网页搜索

使用新的 /web 命令,AI Assistant 现在可以直接从网络(直接在您的聊天窗口内)获取文档、故障排查提示和最新的技术资源。 无需再切换标签页或手动搜索!

在聊天中应用代码段

现在,当 AI 聊天建议代码段时,您可以使用 Apply(应用)按钮自动找到插入新生成的代码的最佳位置,无需再手动复制粘贴。 此功能将大大简化您的工作流。

更智能的 AI 上下文感知

AI Assistant 现在可以更好地了解您的整个项目,使用先进的 RAG 来显示最相关的文件、方法和类。 此外,上下文现在包括最近访问的文件,使得交互与您的工作流更加相关。 由于您现在还可以添加或移除作为上下文发送的附件,您可以完全掌控 AI 的上下文。

用户体验

新终端架构 Beta

2025.1 版本引入了重新设计的终端架构,目前处于 Beta 版阶段。 现在,终端在稳定、符合标准的核心上运行,并使用 IDE 的编辑器来呈现 UI。 这项更改让我们能够在各种平台(无论是本地还是远程)上引入新功能,同时保持兼容性和性能。 有关我们计划和进展的更多详细信息,请阅读这篇博文

Windows 上的原生操作系统文件对话框

PyCharm 现在默认使用原生 Windows 文件对话框而不是 IDE 的自定义实现。 这能让您在打开或保存文件时获得更熟悉的体验。 如果您更喜欢此前的行为,可以在 Advanced Settings | User Interface(高级设置 | 用户界面)中进行恢复。

Project(项目)工具窗口中创建新文件

创建新文件现在更加方便。 您可以通过 + 图标直接从 Project(项目)窗口工具栏访问列出可用文件模板的弹出窗口,搜索字段可让您快速筛选并找到所需文件类型。

自动插件更新

您可以设置 PyCharm 在后台自动更新插件。 它将下载可用更新,并在下次 IDE 重启时应用,无额外通知。 您可以点击更新对话框中的 Enable auto-update(启用自动更新)复选框或通过 File | Settings | Appearance & Behavior | System Settings | Updates(文件 | 设置 | 外观与行为 | 系统设置 | 更新)启用自动更新。

将 Kafka 记录直接导出为 JSON、CSV 和 TSV 的选项 Pro

现在,PyCharm 允许您将 Kafka 记录直接导出为 JSON、CSV 和 TSV 文件,更轻松地分析和共享流数据。 IDE 能够以广泛使用的格式保存完整的记录详细信息,包括主题、时间戳、键、值、分区和偏移量。 更新后,您可以更快地诊断问题、验证数据完整性、启用高级分析并简化协作,因为导出 Kafka 记录有助于确保数据可访问且可操作。 这项增强可以缩短解析时间并提高数据透明度,提供更高效、更有效的 Kafka 体验。

针对生成的 HTTP 请求的增强用户体验 Pro

现在,HTTP 客户端在右侧编辑器拆分中打开由代码生成的 HTTP 请求,因此您不再需要在单独标签页中检查。

版本控制系统

差异视图中的提交详细信息

您现在可以直接在差异视图中查看提交详细信息。 差异对话框显示提交消息、作者、日期和时间以及完整的提交哈希,让您更清楚地查看文件历史记录并帮助您更快地了解修改。

为提交前检查运行工具的选项

现在,您可以启动任意工具来执行提交前检查以及检查和格式设置。 自定义检查可以在 Run Configuration(运行配置)对话框中配置为运行配置。 这有助于您尽早发现潜在问题并确保代码在提交之前符合项目标准。

禁用 Git 提交钩子运行的选项

新选项允许您指示 IDE 不运行 Git 提交钩子。 以前,Git 钩子会在提交操作期间自动执行,但这可能并不适合所有情况。 更新后,您可以配置 IDE 跳过这些钩子,更好地控制提交流程。

其他功能

PyPackage:从控制台安装缺失的软件包

如果您在未安装所需软件包时尝试运行代码,IDE 现在将建议直接从 Python 控制台、Run(运行)工具窗口或 Debug(调试)工具窗口安装,确保工作流更加顺畅。

FastAPI 端点:mount 支持 Pro

Endpoints(端点)工具窗口现在支持 FastAPI 中挂载的应用,包括 Django 和 Flask 应用。 挂载的路由会被检出并在 Endpoints(端点)工具窗口中显示,带有正确的路径前缀,使多应用项目更易管理。

错误修正

  • [PY-54850] Package requirement is not satisfied when the package name differs from what appears in the requirements file with respect to whether dots, hyphens, or underscores are used.
  • [PY-56935] Functions modified with ParamSpec incorrectly report missing arguments with default values.
  • [PY-76059] An erroneous Incorrect Type warning is displayed with asdict and dataclass.
  • [PY-34394] An Unresolved attribute reference error occurs with AUTH_USER_MODEL.
  • [PY-73050] The return type of open("file.txt", "r") should be inferred as TextIOWrapper instead of TextIO.
  • [PY-75788] Django admin does not detect model classes through admin.site.register, only from the decorator @admin.register.
  • [PY-65326] The Django Structure tool window doesn't display models from subpackages when wildcard import is used.