.NET 및 Markdown을 위한 Windows에서 Zed 편집기를 사용해보기 | Andrew Lock


#zed-editor #vs-code #dotnet #markdown #rust

Windows에서 Zed 에디터로 .NET과 마크다운 편집 경험

VS Code의 느려진 성능과 불필요한 sln 파일 자동 생성에 불만을 느낀 개발자가 Rust로 개발된 빠른 에디터 Zed를 시험해봤습니다. Zed는 2025년 10월에 Windows 빌드를 출시했으며, 매우 빠르고 부드러운 사용 경험을 제공합니다. .NET 편집은 Omnisharp 기반 C# 확장을 통해 VS Code와 유사하게 작동하지만 Razor 파일은 지원되지 않습니다. 마크다운 편집에서는 굵게 단축키, 코드 폴딩, 이미지 미리보기 등 VS Code에서 익숙했던 기능들이 부족하고, 글 작성 중 계속 뜨는 자동완성 팝업이 매우 방해됩니다. 결론적으로 현재는 VS Code를 대체하기 어렵지만, 빠른 업데이트 주기를 고려하면 가까운 미래에 전환할 가능성이 있습니다.


VS Code의 문제점

저자가 Zed를 찾게 된 배경에 대해 설명합니다.

  • 성능 저하: VS Code가 예전만큼 빠르게 느껴지지 않으며, 확장을 많이 설치하면 상황이 악화됨
  • 불필요한 sln 파일 생성: C# Dev Kit이 프로젝트 폴더에 필요 없는 sln 파일을 자동 생성하는 점이 불편함
  • 마크다운 편집: Markdown All in One, Spell Right, Word Count 확장으로 만족스러운 환경을 구축함

Zed 에디터 소개

Zed가 어떤 에디터인지 설명합니다.

  • 개발 배경: GitHub Atom 에디터 개발자 Nathan Sobo가 만든 에디터임
  • 기술 스택: Electron 대신 Rust로 개발되어 매우 빠른 성능을 목표로 함
  • 주요 특징: 협업 기능과 AI 기능을 강조하지만, 두 기능 모두 저자에게는 관심 밖임
  • Windows 지원: 2025년 10월에 Windows 빌드가 출시됨

Zed 설치 방법

Windows에서 Zed를 설치하는 과정을 설명합니다.

  1. https://zed.dev/windows에서 다운로드
  2. 설치 시 Windows Explorer 셸 통합 옵션 선택 가능
  3. 첫 실행 시 키맵 설정 및 VS Code 설정 가져오기 가능

VS Code에서 설정 가져오기 후 화면

C# 지원 추가

Zed에서 C# 편집 환경을 설정하는 방법을 설명합니다.

  • 확장 설치: Ctrl+Shift+X로 확장 창을 열고 fminkowski의 C# 확장 설치
  • Language Server: Omnisharp Language Server를 사용하여 언어 지원 제공
  • 기능: 구문 강조 및 리팩토링 옵션 제공 (VS Code C# Dev Kit보다는 제한적)
  • 테마 설정: JetBrains Rider 테마와 JetBrains New UI Icon Theme 설치 가능

마크다운 지원

Zed의 마크다운 편집 기능을 설명합니다.

  • 내장 지원: 마크다운은 별도 확장 없이 기본 지원됨
  • 기능: 구문 강조와 미리보기 패널 제공
  • 맞춤법 검사: CodeBook 확장을 추가하여 맞춤법 검사 기능 사용 가능

첫 인상: 장점

Zed의 긍정적인 측면을 정리합니다.

  • 성능: 열기, 탭 전환, 타이핑 모두 VS Code보다 훨씬 빠르게 느껴짐
  • 폴더/워크스페이스 전환: 매우 빠른 속도로 전환됨
  • 완성도: 짧은 사용 기간 동안 버그나 이슈를 전혀 경험하지 못함
  • 온보딩: VS Code 및 다른 에디터 사용자를 위한 설정 가져오기 기능이 인상적임

첫 인상: .NET 지원

.NET 편집 경험의 장단점을 설명합니다.

  • 일반 편집: VS Code와 유사하게 작동하며, 간단한 편집 용도로는 충분함
  • Razor 미지원: Razor 및 cshtml 파일의 구문 강조가 지원되지 않음 (Omnisharp 한계)
  • Razor의 복잡성: HTML, C#, Blazor @ 구문, CSS, JavaScript 등 여러 언어가 혼합된 형식이라 처리가 어려움

첫 인상: 마크다운 부족한 기능

마크다운 편집 시 부족한 기능들을 나열합니다.

VS Code의 Markdown All in One 확장에서 제공하는 기능들이 부족함:

  • 단축키: Ctrl+B로 현재 단어 굵게 만들기 등의 단축키 미지원
  • 코드 폴딩: 제목이나 요소별로 섹션 숨기기 기능 미지원
  • IntelliSense: 내부 링크 및 이미지에 대한 자동완성 미지원
  • 이미지 렌더링: 미리보기 패널에서 이미지 렌더링 미지원
  • 스크롤 동기화: 소스 페이지 스크롤 시 미리보기 창 동기화 미지원
  • 자동완성 팝업: 글 작성 중 계속 나타나는 제안 팝업이 매우 방해됨

단축키 이식 문제

VS Code에서 익숙한 단축키들이 그대로 작동하지 않는 문제를 설명합니다.

저자가 추가한 키맵 설정:

// Zed keymap
[
  {
    "context": "Editor",
    "bindings": { "ctrl-shift-delete": "editor::DeleteLine" }
  },
  {
    "bindings": { "ctrl-d": "editor::DuplicateSelection" }
  },
  {
    "bindings": { "ctrl-k ctrl-f": "editor::FormatSelections" }
  },
  {
    "context": "Editor",
    "bindings": { "ctrl-k ctrl-d": "editor::Format" }
  },
  {
    "context": "Editor",
    "bindings": { "alt-enter": "editor::ToggleCodeActions" }
  },
  {
    "context": "Editor",
    "bindings": { "shift-f12": "editor::FindAllReferences" }
  },
  {
    "context": "Editor",
    "bindings": { "f3": [ "editor::SelectNext", { "replace_newest": false } ] }
  },
  {
    "context": "Editor",
    "bindings": { "shift-f3": [ "editor::SelectPrevious", { "replace_newest": false } ] }
  },
  {
    "context": "Editor",
    "bindings": { "ctrl-alt-down": "editor::AddSelectionBelow" }
  },
  {
    "context": "Editor",
    "bindings": { "ctrl-alt-up": "editor::AddSelectionAbove" }
  },
  {
    "context": "Workspace",
    "bindings": { "alt-s": "workspace::ToggleLeftDock" }
  },
  {
    "context": "Pane",
    "bindings": { "alt-left": "pane::GoBack" }
  },
  {
    "context": "Pane",
    "bindings": { "alt-right": "pane::GoForward" }
  },
  {
    "context": "Editor",
    "bindings": { "ctrl-k ctrl-c": [ "editor::ToggleComments", { "advance_downwards": false } ] }
  }
]

AI 기능 비활성화

Zed의 AI 기능을 끄는 방법을 설명합니다.

  • 비활성화 옵션: 설정에서 AI 기능을 완전히 비활성화할 수 있음
  • JSON 설정: "disable_ai": true 설정으로 AI 기능 끄기 가능

저자의 설정 파일:

// Zed settings
{
  "ensure_final_newline_on_save": false,
  "remove_trailing_whitespace_on_save": false,
  "format_on_save": "off",
  "when_closing_with_no_tabs": "keep_window_open",
  "disable_ai": true,
  "telemetry": {
    "diagnostics": true,
    "metrics": true
  },
  "project_panel": {
    "auto_fold_dirs": false
  },
  "base_keymap": "VSCode",
  "minimap": {
    "show": "never"
  },
  "file_types": {},
  "show_whitespaces": "trailing",
  "icon_theme": {
    "mode": "dark",
    "light": "Zed (Default)",
    "dark": "JetBrains New UI Icons (Dark)"
  },
  "ui_font_size": 13.0,
  "buffer_font_size": 12.0,
  "theme": {
    "mode": "dark",
    "light": "One Light",
    "dark": "JetBrains Rider Dark"
  }
}

결론

저자의 최종 평가를 정리합니다.

  • 현재 결정: VS Code를 대체하지 않고 계속 사용하기로 함
  • .NET 편집: Omnisharp 기반으로 VS Code와 유사하며, Razor/Blazor 지원만 부족함
  • 마크다운 편집: 익숙한 기능들이 부족하여 전환하기 어려움
  • 향후 전망: 빠른 업데이트 속도를 고려하면 부족한 마크다운 기능이 추가되면 전환을 고려할 것임