NeuroWhAI의 잡블로그

LSP(Language Server Protocol) 간단 설명 본문

자료

LSP(Language Server Protocol) 간단 설명

NeuroWhAI 2018. 12. 30. 16:51


https://langserver.org/


LSP는 프로그래밍을 할 때 자동 완성, 정의로 이동, 모든 참조 찾기와 같은 똑똑한 도구들을 쉽게 지원하기 위해서 사용되는 프로토콜이라고 합니다.

모든 편집기가 각자 모든 언어에 대해 그러한 기능들을 추가하려고 한다면 바퀴를 매우 많이 발명해야 할 것입니다.

그래서 편집기를 클라이언트로, 편의 기능을 지원하는 무언가를 서버로 두고 그 사이에 LSP를 사용하여 이 문제를 해결합니다.

쉽게 말하면 "커서가 A 소스의 n번째 줄 c번째에 있는데 여기서 '정의로 이동'을 수행하려고 해"를 편집기가 LSP에 맞게 서버로 요청을 보내는 것이고

서버는 이 요청을 받아 "B 소스의 n번째 줄 c번째에 있어"를 응답으로 보내주는 것이죠.

물론 실제론 좀 다르겠지만...


만약 이런 서버를 어딘가의 클라우드에 두고 편집기를 웹 사이트에서 구현한다면 사지방에서도 VS의 인텔리센스를 쓰듯이 코딩할 수 있지 않을까...하는 희망을 품어봅니다.

물론 지연이 크겠지만 ㅠ


그래도 뭐 어떻게 잘 해결해서 서비스하면 꽤 괜찮을 것 같은데 말이죠.

구름 IDE가 좀 힘써줬으면 하는데...

아님 직접 만드실 분 구합니다(?)



Comments