VSCode에서 Zed로 전환한 경험

1 month ago 9

  • VSCode의 잦은 AI 기능 추가와 불안정성으로 인해 기존 사용자 경험이 저하되며, 새로운 대안을 찾게 된 사례
  • Zed는 Rust로 작성된 가볍고 빠른 IDE로, VSCode 사용자에게 익숙한 UI와 키 바인딩을 제공
  • Python 개발 환경 설정 시 Basedpyright 언어 서버의 타입 검사 모드와 관련된 혼란이 있었으나, pyproject.toml 설정을 통해 해결
  • Zed의 속도, 안정성, 단순한 설정이 주요 장점이며, 확장 생태계는 작지만 일상적인 개발에는 충분
  • VSCode의 독점적 위치에 도전할 수 있는 경쟁 IDE로 부상하며, 개발자 중심의 가벼운 워크플로를 회복시킴

VSCode에서 벗어나게 된 이유

  • VSCode는 오랜 기간 안정적으로 사용되었으나, AI 기능 중심의 업데이트 이후 매 버전마다 새로운 기능을 비활성화해야 하는 불편이 발생
    • GitHub Copilot을 사용하지 않음에도 불구하고, “cmd+I to continue with Copilot” 같은 메시지가 반복적으로 표시됨
    • 인라인 터미널 제안 등 불필요한 기능이 쉘 자동완성과 충돌
  • settings.json이 비활성화 설정 목록으로 길어졌으며, 잦은 버그와 느려짐, 크래시가 발생
  • VSCode의 AI 통합이 덜 침해적이고 안정적으로 돌아오길 기대하지만, 현재로서는 다른 대안을 찾게 됨
  • JetBrains IDE는 무겁고, Vim/Emacs는 설정 부담이 커서 제외
  • Rust로 작성된 Zed를 새 IDE로 시도하게 됨

Zed의 첫인상

  • VSCode에서 전환 시 UI와 키 바인딩이 유사해 즉시 익숙한 환경 제공
    • 단, Zed는 열린 파일 목록 패널이 없고, Cmd+P 파일 검색으로 탐색
    • VSCode 설정을 자동으로 가져올 수 있으나, 새로 시작하기 위해 직접 설정
  • 주요 설정은 폰트 크기, 테마, Git blame 비활성화, 자동 저장 활성화 정도로 단순
  • 속도와 반응성이 VSCode보다 월등하며, 2주간 사용 중 버그나 크래시 없음
  • Python과 Go 개발에 사용
    • Go는 별도 설정 없이 바로 작동
    • Python은 초기 설정에 시간이 필요했음

Python 환경 설정 과정

  • Zed는 언어 서버(Language Server) 기반으로 자동완성, 코드 탐색, 타입 검사 등을 제공
  • Python의 기본 언어 서버는 Basedpyright, 이는 Pyright를 기반으로 하지만 더 엄격한 typeCheckingMode를 사용
    • pyproject.toml에 [tool.pyright] 섹션이 있으면 recommended 모드가 기본 적용
    • 원하는 standard 모드를 적용하려면 pyproject.toml에 명시적으로 설정해야 함
  • 설정 예시: "basedpyright.analysis": { "typeCheckingMode": "standard" }
  • 파일 간 타입 오류가 즉시 반영되지 않는 문제는 "disablePullDiagnostics": true 설정으로 해결
  • 가상환경 인식 등은 원활히 작동
  • ty 언어 서버(Astral 개발, Beta 버전)도 테스트했으며 잘 작동했으나, CI와 일관성을 위해 Basedpyright 유지

Zed의 현재 사용 평가

  • Python과 Go 개발용 기본 IDE로 자리 잡음
  • 빠르고 안정적이며 익숙한 인터페이스, 기본 기능이 충실
  • 확장 생태계는 VSCode보다 작지만, 일상 개발에는 충분한 수준
  • GitLens 수준의 강력한 diff 뷰어만이 아쉬운 점
  • Zed의 AI 기능은 존재하지만 비침해적, 필요 시 무시 가능
  • 유료 플랜은 편집 예측 기능을 제공하며, 프로젝트 지속 가능성을 위한 수익 모델로 제시

결론

  • Zed는 VSCode의 실질적 경쟁자로 부상
  • Microsoft의 영향력만으로는 VSCode의 지위를 유지하기 어려울 가능성
  • Zed의 속도, 단순함, 안정성이 개발자 경험을 개선하며, “VSCode, 이제 깨어날 때”라는 메시지로 마무리됨

Read Entire Article