Ohhnews

分类导航

$ cd ..
Jetbrains Blog原文

PyCharm 2026.1.2 集成 Pyrefly LSP,显著提升 Python 开发效率

#pycharm#pyrefly#lsp#python#代码分析

在 PyCharm 2026.1.2 中,您可以启用 Pyrefly 作为外部类型提供程序,从而大幅提升 IDE 代码洞察功能的速度。

什么是 Pyrefly LSP?

“LSP”代表 语言服务器协议 (Language Server Protocol),这是一种标准化协议,允许代码编辑器和 IDE 与 语言服务器 进行通信。LSP 使语言服务器能够提供代码智能功能,例如:

  • 代码补全
  • 悬停提示(例如快速文档)
  • 转到定义 及其他操作
  • 错误检查和类型相关诊断

LSP 的核心优势在于,它允许单个语言服务器跨多个工具使用。这意味着无需在每个编辑器、IDE 或 CI 流水线中分别实现针对特定语言的智能功能。

Pyrefly 是 Meta 的下一代 Python 类型检查器,采用 Rust 语言从零构建,旨在取代其前身 Pyre(使用 OCaml 编写)。通过转向 Rust,Pyrefly 实现了显著的性能提升和更好的跨平台移植性。它不仅是重写,更旨在提供更强大、更稳健的功能,为维护大规模 Python 代码库提供高效工具,确保高精度并最大限度地减少开销。

Pyrefly 提供以下优势:

  • 更高的性能和效率 —— 得益于其基于 Rust 的架构,Pyrefly 实现了显著的提速,并改善了跨平台移植性。
  • 增强的代码智能 —— 作为外部类型提供程序,Pyrefly 为 IDE 中的关键代码洞察功能提供支持,包括类型推断、类型相关诊断、快速文档和内嵌提示 (Inlay Hints)。
  • 可扩展性 —— Pyrefly 专为处理 大规模 Python 代码库 而设计,具有高精度和极低的开销。

对于处理 大型、复杂 Python 代码库 且优先考虑性能和稳健类型系统的项目和开发者来说,Pyrefly 非常有益。通过 LSP 集成 Pyrefly 是我们持续提升 PyCharm 代码洞察性能工作的一部分。

在 PyCharm 中使用 Pyrefly

启用后,Pyrefly 将驱动 PyCharm 中的所有代码洞察功能,包括类型推断、类型相关诊断、快速文档和内嵌提示。将分析任务委托给这个更快的引擎,可显著提升性能。

要开始在 PyCharm 项目中使用 Pyrefly,请前往窗口底部的 Type(类型)小部件。默认情况下,IDE 使用内置类型引擎。点击该小部件并选择使用 Pyrefly 的选项。如果您尚未安装 Pyrefly,PyCharm 将自动为您安装。

[LOADING...]

切换到 Pyrefly 类型引擎后,您会在底部看到一个 Pyrefly 图标,将鼠标悬停在其上即可查看当前使用的版本。

[LOADING...]

请注意,目前该集成仅适用于本地解释器配置。对 Docker、Docker Compose、WSL、SSH 和多模块项目的支持计划在未来的版本中推出。

Pyrefly 与内置类型引擎对比

现在让我们看看 Pyrefly 和内置类型引擎在复杂 Python 项目中的表现。在这个 FastAPI 示例中,多个文件都已添加了类型注解,但在当前文件中,变量 ref 的类型标注不正确,导致了四个错误。使用内置类型引擎时,IDE 虽然能识别出问题,但建议进行额外分析以修复问题,这需要多走一步。

[LOADING...]

使用 Pyrefly 作为类型引擎时,IDE 会立即报告错误并高亮显示其来源。不过值得注意的是,在我们的示例中共有四个错误,但 Pyrefly 只检测到了其中三个,它遗漏了 self._storage[ref] 中的那个错误。

[LOADING...]

下载最新版 PyCharm 并试用

准备好体验 Python 开发性能的重大飞跃了吗?PyCharm 2026.1.1 中的 Pyrefly LSP 集成带来了下一代类型检查技术。它采用 Rust 编写,速度无与伦比,解析文件仅需 0.5 到 1 秒,远快于内置引擎。如果您维护着大型、复杂的 Python 代码库并注重稳健的类型系统,那么此功能至关重要,它能让您将分析任务委托给更快的引擎并获得即时的类型相关诊断。下载最新版本的 PyCharm (2026.1.1) 以解锁更优的效率、可扩展性和代码洞察体验。