LSP란?
과거엔 언어마다 에디터마다 별도 구현이 필요했다. LSP는 에디터와 언어 분석 서버 사이의 JSON-RPC 표준으로 이 M×N 문제를 M+N으로 줄였다.
제공 기능
- 자동완성, 진단
- go to definition, find references
- 포맷, 리팩터링
- 호버 문서
구현
- TypeScript — tsserver
- Rust — rust-analyzer
- Go — gopls
- Python — Pyright, Pylsp
Microsoft가 제안한 "에디터 ↔ 언어 도구" 간 표준 프로토콜. 한 언어 서버를 VSCode·Neovim 등 모든 에디터에서 재사용.
과거엔 언어마다 에디터마다 별도 구현이 필요했다. LSP는 에디터와 언어 분석 서버 사이의 JSON-RPC 표준으로 이 M×N 문제를 M+N으로 줄였다.