Visual Studio Code
Code editing. Redefined.
— VS Code 공식 홈페이지 메인 헤드라인
결국 모두가 돌고 돌아 VS Code로 수렴한다. 그것이 마이크로소프트의 지배 아래 들어가는 길일지라도. 근데 이거 사실 크롬 브라우저 위에서 돌아가는 거라 램 무지하게 처먹습니다.
1. 개요
마이크로소프트가 개발하여 오픈소스로 공개한 역사상 가장 성공적인 오픈소스 기반의 코드 에디터(Text Editor)다. 무겁고 둔탁한 비주얼 스튜디오와 달리 가벼운 텍스트 에디터 콘셉트로 출발했으나, 강력한 확장 프로그램 생태계(Extension Ecosystem)를 바탕으로 사실상의 통합 개발 환경(IDE) 시장마저 집어삼켰다.(...) 기저에는 크로미움과 Node.js 기반의 일렉트론 프레임워크가 깔려 있어, '웹 기술로 만든 데스크톱 앱은 느리다'는 편견을 깨부순 일렉트론 진영의 최대 아웃풋이자 구세주로 평가받는다.
2. 에디터 천하통일과 일렉트론의 축복
과거 개발자들은 Sublime Text의 가벼움과 IntelliJ 계열의 강력함 사이에서 끝없는 줄타기를 해야 했다. 그러나 VS Code가 등장하고 언어 서버 프로토콜(LSP, Language Server Protocol)을 업계 표준으로 안착시키면서 전세가 완전히 역전되었다. 자바스크립트나 타입스크립트는 물론이고, 파이썬, C++까지 익스텐션 하나만 깔면 완벽한 자동완성이 지원된다. 다만, 속은 결국 크롬 브라우저를 띄워놓고 코딩하는 것과 같기 때문에 프로젝트를 여러 개 띄워놓으면 RAM의 비명을 실시간으로 들을 수 있다.(...)1
3. 확장 프로그램(Extension)이라는 마약
VS Code의 진정한 힘은 마켓플레이스에서 나온다. 코드에 예쁜 테마를 입히는 것부터 시작해서, 소리 나는 키보드 타이핑 효과, 애니메이션 캐릭터가 코딩을 응원해 주는 덕후용 플러그인까지 없는 게 없다. 개발자들은 일을 시작하기 전에 자신만의 에디터를 튜닝하는 노가다에 최소 반나절을 쏟아붓는다. 하지만 정작 세팅을 끝마치고 나면 밀려오는 현자타임과 함께 '그냥 코딩이나 할걸' 하며 자괴감에 빠지는 게 국룰이다.
4. 관련 밈 및 드립
4.1. 또 램 먹냐, VS Code야!
일렉트론 프레임워크의 고질병인 메모리 과소비를 꼬집는 밈. 크롬 탭을 몇 개 띄워놓고 VS Code까지 실행하면 16GB RAM조차 금세 숨 가빠하는 모습을 묘사한다. 특히 깃 렌즈(GitLens)나 도커(Docker) 같은 무거운 익스텐션들이 내부에서 백그라운드 노드 프로세스를 무한 증식하기 시작하면, 작업 관리자에서 에디터가 RAM을 기가바이트 단위로 게걸스럽게 삼키는 공포 영화를 감상할 수 있다.
4.2. 에디터 세팅만 하다가 퇴근하기
생산성을 높이겠다는 명목 하에 하루 종일 폰트 설정, 커스텀 단축키 매핑, 나에게 맞는 테마 선정, 정적 분석 도구(Linter) 규칙 수정에 심취해 있다가, 퇴근 시간 직전에야 정신을 차리고 단 한 줄의 실무 코드도 짜지 못했음을 깨닫는 개발자들의 고질적인 지연 행동(Procrastination)을 비꼬는 드립이다.
5. 여담
- 에리히 가마의 마법: 디자인 패턴의 대부(Gang of Four) 중 한 명인 에리히 가마가 MS에 합류하여 직접 개발을 주도했다. 어쩐지 에디터 구조가 지나치게 완벽하다 했더니 역시 고인물의 고인물에 의한 명작이었던 셈.
- 무료인 척하는 영리한 미끼: 깃허브에 풀린 'Code - OSS'는 순수 오픈소스지만, 우리가 홈페이지에서 다운받는 'VS Code' 바이너리는 MS의 독점 라이선스 제품군과 텔레메트리(개인정보 수집 트래커)가 탑재되어 있다. 즉, 우리는 소스코드를 기부하고 내 코딩 데이터를 상납하고 있는 셈이다.(...)
- 브라우저 안의 에디터: 주소창에
vscode.dev를 치거나 아무 깃허브 레포지토리에서 키보드의.키를 누르면 크롬 브라우저 내부에서 즉시 가상 VS Code가 구동되는 기적을 볼 수 있다. 사양 낮은 아이패드조차 훌륭한 탈모 유발 기계로 변신시킬 수 있는 신기술이다.
6. 관련 문서
각주
-
실제로 RAM 가격이 똥값이 된 현대 컴퓨터 환경에 기대어, 개발사들이 메모리 최적화를 포기하고 일렉트론으로 편하게 앱을 찍어내는 트렌드의 일등 공신이기도 하다. ↩