# Why I Switched from VS Code to Zed

2023-10-30

Zed had fewer features than VS Code, but it covered my daily work and felt faster to use.

## Backstory

I wrote my first line of code in Roblox Studio. As I started working outside Roblox, I moved to PhpStorm and WebStorm, then to Visual Studio Code. Each move reflected what I needed from an editor at the time.

By October 2023, I was trying Zed. It was still in beta and available only on macOS. These are the reasons I switched then.

## What I liked about VS Code

VS Code gave me language support and extensions without the weight I associated with a full IDE. It was free, worked across platforms, and had a large enough extension ecosystem that I could usually find what I needed.

I was happy using it. I also care a lot about how quickly an editor responds. Waiting for a project to open or finish indexing interrupts my work, and I wanted to see whether a smaller editor would feel better.

## Trying Zed

Zed caught my attention because of its emphasis on speed. It was written in Rust with a custom UI framework, but what mattered to me was how it felt during everyday editing.

The beta had gaps in both features and language support. Windows and Linux versions were still planned. Those limitations mattered, but they didn't prevent me from doing my usual work on macOS.

## What made the switch practical

My requirements were fairly specific: support for the languages I used, GitHub Copilot, and Vim emulation. Zed covered all three. Its [Copilot integration had arrived earlier that year](https://zed.dev/blog/copilot), and I could keep the keyboard habits I had built around Vim.

I worked mainly in Rust and TypeScript, so the available language support was enough for me. I didn't need Zed to match every VS Code feature before I could use it as my daily editor.

## Was it worth it?

For my work at the time, yes. I preferred the way Zed felt, and the features it was missing weren't ones I depended on.

The deciding factor was whether I could comfortably work on my own projects in it. Someone relying on a particular VS Code extension or a language Zed didn't yet support would have had a different answer. My needs happened to fit what the beta already did well.
