Reddit

Microsoft partners w/ Meta to bring Pyrefly support to Pylance in VS Code

마이크로소프트, 메타와 협력해 VS Code Pylance에 Pyrefly 지원

마이크로소프트가 Language Server Protocol(LSP)을 확장한 Type Server Protocol(TSP)을 공개하고, 메타의 Python 타입 검사기 Pyrefly를 VS Code의 Pylance에서 사용할 수 있게 했습니다. 기본 검사기는 Pyright로 유지되며, 사용자는 Pylance의 편집기 기능과 GitHub Copilot 통합을 그대로 두고 진단 엔진을 선택할 수 있습니다.

에디터 노트

이번 연동의 실질적인 변화는 Pyrefly 자체보다 Pylance의 기능을 유지한 채 진단 엔진을 바꿀 수 있다는 점입니다. Pyright가 기본값으로 남고 Pyrefly 선택은 설정 한 번으로 가능하므로, 이미 Pylance의 Copilot 및 Python 도구를 쓰는 개발자는 편집기 구성을 바꾸지 않고 검사기를 비교할 수 있습니다. 다만 글은 검사 속도와 메타의 타입 지원 성과를 소개할 뿐, Pyright와 Pyrefly의 정확도나 실제 프로젝트별 성능 비교는 제시하지 않습니다. Reddit 댓글도 발표 내용을 요약하는 데 그칩니다. 따라서 이번 발표가 보여주는 것은 검사기 선택을 위한 연결 방식과 설정 절차이며, 어느 검사기가 더 적합한지는 각 코드베이스에서 확인해야 합니다.

AI 요약

마이크로소프트가 편집기와 타입 검사기를 분리해 연결하는 Type Server Protocol(TSP)을 공개하고, 메타의 Pyrefly를 VS Code Pylance에서 사용할 수 있도록 지원합니다. 기존에는 Pylance와 Pyright가 밀접하게 결합돼 있었지만, TSP를 적용하면 Pylance가 Python 편집기 기능을 맡고 타입 검사는 선택한 도구에 위임합니다. Pyright는 기본값으로 계속 제공됩니다.

TSP와 역할 분리

TSP는 편집기 통합 표준인 Language Server Protocol(LSP)을 확장한 공개 프로토콜입니다. 편집기나 도구가 타입 검사기를 백엔드로 연결하도록 설계했습니다. 타입 검사기를 바꿔도 Pylance의 자동 완성, Quick Info, Python 환경 관리, GitHub Copilot 통합은 유지됩니다. 마이크로소프트는 Copilot 자동 완성에 필요한 문맥 제공, Copilot Chat의 코드 이해, Python 코드베이스용 MCP 도구도 Pylance 쪽 기능으로 설명합니다.

메타의 Pyrefly

마이크로소프트와 메타는 TSP를 함께 설계하고 Pyrefly가 이를 지원하도록 협력했습니다. 메타는 Instagram을 포함한 대규모 Python 코드베이스에서 2017년부터 타입 검사 경험을 쌓았다고 밝혔습니다. Pyrefly는 초당 180만 줄을 검사하도록 설계됐으며, CI와 IDE에서 일관된 사용 경험을 목표로 합니다. 글은 메타가 NumPy의 타입 완성도를 거의 90%까지 높이고 pandas 공개 API의 타입 범위를 완성하는 데 기여했다고도 소개합니다.

설치와 설정

Pyrefly 연동에는 Pylance 2026.4.1 이상이 필요합니다. 워크스페이스를 열 때 Pylance가 Python 환경의 Pyrefly 설치 여부를 확인합니다. 가상 환경에 설치했거나 pyrefly.toml, pyproject.toml의 tool.pyrefly 설정이 있으면 전환 알림이 표시됩니다. Switch to Pyrefly를 선택하면 실행 파일 경로를 자동으로 등록하고 진단 엔진을 바꿉니다.

수동 설정은 VS Code의 Python › Analysis: Diagnostics Source에서 할 수 있습니다. 선택지는 기본 Pylance 분석, Pylance + Pyright, Pylance + Pyrefly입니다. Pyrefly를 선택하면 Pylance가 가상 환경에서 설치본을 찾거나 자동으로 내려받습니다. Python › Analysis: Pyrefly Version 설정에서 버전을 고정하거나 로컬 실행 파일을 지정할 수 있으며, 비워 두면 최신 버전을 사용합니다. 지원하는 Pyrefly 최소 버전은 0.60.0입니다. 활성화 상태는 상태 표시줄의 Diagnostics Source 항목에서 확인할 수 있습니다.

Reddit 반응

  • @BeamMeUpBiscotti — Pylance가 이제 메타의 Pyrefly를 분석 엔진으로 공식 지원합니다. 마이크로소프트는 더 넓은 언어 서버 기능과 그 일부를 담당하는 타입 검사기 또는 컴파일러를 분리하는 LSP 확장 표준 TSP를 만들었습니다.

원문: Microsoft Python Blog / 번역·요약: Trawling