🚀 2026 스타트업 컨퍼런스

VSCode 버리고 ‘Zed’로 갈아탄 이유 (Feat. AI 강매 금지)

VSCode 버리고 ‘Zed’로 갈아탄 이유 (Feat. AI 강매 금지)

김현수·2026년 1월 5일·3

지난 몇 년간 '국룰'이었던 VSCode를 버리고 Rust 기반의 가볍고 빠른 에디터 'Zed'로 갈아탄 이유와 Python 개발자를 위한 설정 삽질 기록을 공유합니다.

솔직히 말해, 지난 몇 년간 VSCode는 ‘국룰’이었습니다. 저 역시 Python, Go, C 할 것 없이 그냥 숨 쉬듯 썼으니까요. 설정 파일 하나로 어디서든 동기화되고, 확장 프로그램 몇 개면 밥벌이하는 데 지장 없었습니다.

그런데 요즘 VSCode, 좀 선을 넘더군요.

무거워진 건 둘째 치고, 마이크로소프트가 자꾸 AI 기능을 ‘강매’하려는 게 눈에 거슬렸습니다. 저는 결국 12월부터 Zed로 완전히 넘어왔고, 다시 돌아갈 생각은 없습니다. 오늘은 제가 왜 10년 쓴 밥줄 도구를 바꿨는지, 그리고 Zed 정착을 위한 삽질 기록을 남깁니다.


1. 문제: VSCode, 넌 너무 투머치야 (Too Much)

"코드는 자산이 아니라 부채"라는 말을 입에 달고 사는 저에게, IDE는 가벼울수록 좋습니다. 그런데 요즘 VSCode 업데이트 로그를 보면 한숨만 나옵니다.

  • 강제되는 AI: 저는 GitHub Copilot 안 씁니다. 그냥 CLI 도구(Codex) 쓰는 게 편해요. 그래서 비활성화했는데, 업데이트 때마다 좀비처럼 살아나서 "Cmd+I 눌러봐!"라고 보채더군요.
  • 영역 침범: 인라인 터미널 제안 기능이 생기면서 제가 쓰는 쉘(Shell) 설정이랑 충돌이 납니다.
  • 성능 저하: 기능이 덕지덕지 붙으니 느려지고, 버그가 생기고, 가끔 뻗습니다.

settings.jsonenable: false 옵션만 수십 줄을 추가하다가 문득 생각이 들더군요. “내가 도구를 쓰는 건가, 도구가 나를 테스트하는 건가?”

JetBrains(IntelliJ 등)는 너무 무겁고, Vim/Emacs는 이제 와서 새로 배우기엔 제 손가락 관절이 아깝습니다. 그때 눈에 들어온 게 Rust로 짰다는 Zed였습니다.


2. Zed 첫인상: 빠르다, 그리고 조용하다

VSCode 쓰던 사람이면 적응하는 데 10분도 안 걸립니다.

  • UI/UX: 거의 똑같습니다. 키 바인딩도 VSCode 스타일을 기본 지원합니다.
  • 차이점: 왼쪽 사이드바에 '열린 파일 목록'이 없습니다. 처음엔 어색했는데, Cmd+P로 파일 찾는 습관 들이니 오히려 마우스 손 덜 가고 좋더군요.
  • 성능: 미친 듯이 빠릅니다. VSCode가 무거웠다는 걸 Zed 써보고 깨달았습니다.

지난 2주간 단 한 번도 크래시가 없었습니다. 쾌적함 그 자체입니다. Go 언어는 설정 없이 바로 붙었는데, 문제는 Python이었습니다. 여기서부터 삽질 시작입니다.


3. 트러블슈팅: Python 개발자를 위한 Zed 생존 설정

Zed는 자체적인 언어 분석기가 아니라 LSP(Language Server Protocol)를 씁니다. Python의 경우 Pyright의 포크 버전인 Basedpyright를 기본으로 사용하는데, 이게 좀 까탈스럽습니다.

🚨 문제 1: 타입 체크가 너무 엄격함

프로젝트를 열자마자 화면이 빨간 줄로 도배가 됐습니다. Basedpyright가 기본적으로 가장 엄격한 모드(recommended)로 돌아가고 있었거든요. 문서에는 standard가 기본값이라더니, 거짓말이었습니다.

[해결책] Zed 설정(settings.json) 아무리 고쳐도 안 먹힙니다. 범인은 프로젝트 내부 설정 파일이었습니다. pyproject.toml[tool.pyright] 섹션이 있다면, Zed 설정보다 우선합니다.

결국 pyproject.toml에 명시적으로 박아줘야 합니다.

[tool.pyright]
typeCheckingMode = "standard"

🚨 문제 2: 실시간 진단이 안 됨

심볼을 지웠는데, 다른 파일에서 에러 표시가 안 뜹니다. 파일을 저장하거나 건드려야 그제야 에러를 뱉더군요. 방어적 코딩을 하는 저에게 이런 '게으른 에러 리포팅'은 치명적입니다.

[해결책] disablePullDiagnostics 옵션을 켜야 실시간으로 잡아줍니다.

// settings.json
"lsp": {
  "basedpyright": {
    "initialization_options": {
      "disablePullDiagnostics": true
    }
  }
}

4. 결론: VSCode, 긴장해라

Zed는 이제 제 주력 에디터입니다. 확장 프로그램 생태계가 좀 빈약하긴 합니다. 특히 GitLens 같은 강력한 Diff 뷰어가 없는 건 좀 아쉽네요. 하지만 “그냥 작동한다(It just works)”는 기본기 측면에서 VSCode를 압도합니다.

물론 Zed도 AI 기능(유료 모델 포함)을 넣고 있지만, 적어도 VSCode처럼 사용자의 멱살을 잡고 "이거 써봐!"라고 소리 지르진 않습니다. 조용하고 빠르고, 개발자가 코드에만 집중하게 해줍니다.

마이크로소프트가 정신 차리지 않으면, 개발자들은 더 빠르고 가벼운 배(Ship)로 갈아탈 겁니다. 저처럼요.

마지막으로 제가 정착한 최소한의 Zed 설정 파일 공유합니다. 복사해서 쓰세요.

{
  "autosave": "on_focus_change",
  "git": {
    "inline_blame": {
      "enabled": false
    }
  },
  "base_keymap": "VSCode",
  "ui_font_size": 16,
  "buffer_font_size": 14,
  "lsp": {
    "basedpyright": {
      "initialization_options": {
        "disablePullDiagnostics": true
      }
    }
  }
}
김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!