VSCode를 개발하면서 LSP, DAP 등 별의별 것 다 생겼구나
그냥 사용자 입장이면 모르고 지나갈 수 있지만, 여러 개발 환경을 구축하며 깊게 파고들다 보니 많은 것을 경험하게 되었다.
특히, PHP
디버깅을 위해서 바닥부터 구현한 Xdebug
, Neovim
에서 여러 언어 기능을 활성화하면서 많이 배웠다.
사실상 VSCode
가 되면 다른 IDE(더 나아가 Vim)도 잘 된다는 생각이 들었다.
이렇게 보니까 JetBrains
가 독자적으로 얼마나 대단한가 생각이 들었다...
참조, 에러 등 기본적인 언어 기능에 비해 더 고급 기능이라고 볼 수 있는 리팩토링
, 분석
기능은 모든 언어가 손쉽게 지원하지 않는다는 것을 알았고 지원하더라도 이걸 잘 해주는 도구가 JetBrains IDE
, Visual Studio
같은 것이고 그렇기에 유료 툴이 의미가 있구나 느꼈다.
또 MS에서 LSIF(Language Server Index Format)
만드는 것을 보고 놀랐다. 해당 기능은 코드 분석을 사전에 만들어서 사용하는 것인데 웹에서 코드 볼 때 유용하게 사용될 수 있다.
위 기능을 만들며 웹에서 언어 기능을 통해 손쉽게 코드리뷰 할 수 있다는 내용을 보았다. 다들 PR을 위해 Checkout을 귀찮아하는구나 공감도 하고 그걸 바꾸려고 이런 프로토콜도 제시하고 하다니… 사실 GitHub, Azure DevOps 사용하면서 웹에서 어느 정도 언어 기능 지원될 때 그냥 그렇구나 하고 넘겼는데 이런 기술을 보고 나니까 대단하더라…
그냥 사용만 했다면 모르고 지나쳤을 내용인데 바닥부터 개발 환경을 만지다 보니 이런 것을 배우게 되는구나.
MS 참 많은 것을 바꿔주었구나.