데이터 직렬화 포맷인 프로토콜 버퍼(Protobuf) 개발이 한층 편리해질 전망입니다. 그동안 다른 주요 프로그래밍 언어와 달리 통합 개발 환경(IDE)에서 충분한 지원을 받지 못했던 Protobuf에 Buf가 최초로 완전한 기능을 갖춘 언어 서버 프로토콜(LSP) 서버를 출시했습니다. 이로써 개발자들은 VSCode, IntelliJ, Neovim 등 즐겨 사용하는 에디터에서 코드 정의 이동, 자동 완성, 참조 찾기, 의미론적 구문 강조 등 현대적인 개발 경험을 누릴 수 있게 되었습니다.
Buf는 자체 개발한 `protocompile`이라는 컴파일러 프론트엔드를 기반으로 이 LSP 서버를 구축했습니다. `protocompile`은 기존 `protoc`보다 빠르고 유연하며, 구글(Google)에서도 일부 코드베이스에 활용할 정도로 성능을 인정받고 있습니다. 특히, 새로운 쿼리 기반 프론트엔드를 통해 점진적 컴파일과 훨씬 개선된 진단 기능을 제공합니다. 예를 들어, `protoc`에서는 놓쳤던 중복 `repeated` 수정자 오류를 정확히 진단하는 등 정밀한 오류 보고가 가능해졌습니다. 이는 Protobuf 개발 시 발생할 수 있는 잠재적 문제를 조기에 발견하고 해결하는 데 큰 도움이 됩니다.
이번 Buf LSP 서버 출시는 Protobuf 개발 생태계에 중요한 전환점이 될 것입니다. 기존에는 Protobuf 파일 작성 시 IDE의 지능적인 도움을 받기 어려워 개발자들이 불편함을 겪었지만, 이제는 다른 주류 언어처럼 편리하게 개발할 수 있게 되었습니다. Buf는 앞으로 자동 임포트 추가, `buf.yaml`과의 통합 강화, 사용자 정의 옵션에 대한 코드 완성 및 참조 조회, 필드/열거형 번호 자동 제안 등 다양한 기능을 추가할 계획입니다. 이를 통해 Protobuf가 단순히 '현명한 선택'을 넘어 '가장 쉬운 선택'이 되도록 만들어, 스키마 기반 개발(schema-driven development)을 더욱 확산시키겠다는 목표입니다.
