Zed - A code editor written in rust by Atom's Developer.

SagXD@lemm.ee to Open Source@lemmy.ml – 259 points –
Zed - Code at the speed of thought
zed.dev

It become open source just last week. Currently don't have Linux version but soon it will have. Linux Roadmap issue

91

I'll try it once Linux support kinda works

Don't understand why they made it mac only, I don't think mac users are even aware of other apps than what Apple tells them.. :)

It seems that a lot of their responses have been along the lines of: "Well, it's because I have a Mac. Good luck if you don't!"

I understand that, sure, but they would have had a lot more support for this editor if it was for Linux. Now I barely ever hear about it at all in the news.

Hot take: but I think it makes sense. If anyone would pay for a closed source editor it's mac developers hence it made sense to chose that as your first platform to support, especially considering that they are a small startup. I don't use mac either but I think they made the right choice from a business standpoint when they were still closed source.

Well yeah, I guess mac users are more used to paying for things, that's true.

Apple users think they’re the smartest people on the planet.

1 more...

Me as I read through the main page: this keeps getting better.

Goes to download it

oh…

Don't worry! I was also frustrated by the fact that there is only a macOS version available, but after a little digging, I found this on their FAQ:

Q: What platforms does Zed support?

A: As of now, we only support macOS.

[...]

As a general timeframe, you can expect us to begin work on supporting these platforms [Linux and Windows] after Zed is open source, but before version 1.0. Any news will be posted to our platform-tracking issues.

See also this issue. It seems like they have already begun making a Linux version.

A bit of gratuitous self promotion but just to let people know if you liked Atom and are still using it or maybe you migrated to a new editor and still miss Atom, it was forked as Pulsar which is entirely community-led and is seeing a lot of active development to bring it up to date. We also have a lemmy community at !pulsaredit@lemmy.ml

Just looked through it and I'm considering to switch!

I was wondering though, is there support for debugging sessions like VSCodium has? And what about remote development, SSH, docker integration and WSL2?

Also, can Pulsar run, inspect and debug (unit) tests?

None of those by default, Pulsar tends to stick to being an editor with as much as you need but not more by default. However one good thing about forking Atom was that we kept all the packages that were published to atom.io (more than 10k of them). You can browse them the PPR (Pulsar Package Registry) which was reverse engineered from Atom's closed source backend from scratch before they took down the site - https://web.pulsar-edit.dev/.

Specifically there are a bunch of remote edit packages that work over SSH, a ton of Docker packages and there are plenty of debugging packages both generic and language specific and there are indeed test runner packages.

I won't say I guarantee all of these will work but our Discord channel in particular is rather active so people more knowledgeable than I might well be able to help out, its a friendly place. We have other social channels as well should you prefer them.

I'd love to have a vscodium alternative written in a faster and more efficient language. Most editors and IDEs don't quite fit my workflow, while vscodium does.

Yep, I also want a good alternative to codium which run fastly on Potato. That's why I am trying different Editor now days like Lite-Xl and other more.

Does kate from KDE suffice?

Didn't try it yet. But, isn't it just like Gedit?

Closer to Geany or Sublime. I haven't used gedit before though. Kate has language server back end integration, add-on support, integrated terminal, and other features. Geany might be a good option, though I know nothing of its speed. Kate seemed fine but again no idea.

Just tried Kate. It's so great. Have all features which I want Thanks for suggestion

I was kind of put off when I saw collaborative mode, office channels bla bla. I guess because there is no point in trying to combine slack with a code editor. Do the code editor and do it good and that would be enough. When it is like this though, it feels like they are trying to throw in some popular stuff into the mix because it will help marketing.

Idk, without a good collaborative mode there's really not much you can do to differentiate yourself from existing options. Without some feature like that it's hard to think of a reason to build yet another text editor.

maybe a couple years ago but for instance I think AI is definitely becoming more realistically applicable with each iteration. It could definitely be used more to remove some of the boiler plates in coding, like simple unit tests etc.

Also there are IDEs which are very good for their specific languages but I feel like it is hard to find a reliable editor that has core IDE capabilities for many languages (like go to function definitions, code linting etc). I even started using VIM because of this but I just can't get used to modal editors and feel like there is no point in using VIM if I am only using %5 of its capabilities.

As far as I've seen many code Ai assistants operate over the LSP framework and work in most editors, and maybe a chat window that's pretty easy to add to most editors via a plug-in. Adding something like live collaboration is a bit more legwork

What features do you feel are missing from something like vscode? I'm a long time vim/neovim user but most of my co workers use vscode for everything with no complaints. I've actually been pretty jealous of stuff like jupyter integration.

If you can't get used to vim, it might be worth checking out something like Helix it's editing model is a bit different and clicks better for some people.

Thanks for the suggestions. I have not tried the recent vscode. I had tried it way back in uni and really didn't like it at the time so never tried it again but I have also heard positive things about it from some other people so probably time to reevaluate. I think for me, must haves are: it must work with python and C minimal. Autocompletion, function definition, goto, code linting are the first things that come to mind (don't need debugger and I guess that is not an editor's job, python has its own module and for C there is gdb for advanced needs). In VIM, I could achieve these via plugins ofcourse.

I also haven't tried Helix but Neovim was on my mind for a while. Are Helix and Neovim different from each other in terms of editor mode styles? I will also check Pulsar (continuation of Atom), hopefully soon I will get an editor that I feel at home with.

I think vscode has definitely come a long way since it first dropped several years ago. You can definitely get auto complete, goto, lining, etc. Via the LSP framework, so all those things should work for python and c with some plugin installs and maybe a bit of configuration. The built in debugging support is also really nice.

Neovim is basically the same as vim in terms of its editing modes. Vim and neovim use a action -> select paradigm eg. To delete a word you would type d (for the delete action) then w (to select the word). Helix uses a select -> action paradigm so to delete a word you would press w then d. One of the nice things about this is you can see what text you'll be operating on before you actually perform an action. Helix also supports multiple cursors, which can be more familiar if you're used to sublime, atom, etc. Both have support for LSP so you can basically get code intelligence on par with most IDEs for many languages. Helix is generally a bit easier to configure if you're just using the base package, but isn't as customizable and doesn't support plugins yet.

If you want to check out neovim I'd recommend using a pre-built configuration like Lunarvim or Lazyvim these are just configuration distributions that take a lot of the legwork out of bringing neovim up to par with modern editors. Think of it like copying someone's dot files.

Thanks! by the way I meant I tried visual studio back in uni and always assumed vscode would be sth similar but now I realize not

I think you might like the nvchad project it has some features that make you not rely 100% on keystrokes for everything, also a integrated cheatsheet just in case

So... after 9 years the guy finally realized that web technologies aren't good for something that should be fast and handle large files. And he seems to be aiming towards some collaborative / cloud money grab.

... and he goes on to use Metal of all things, instead of Vulkan/MoltenVK, smh. I wouldn't expect the Linux version to see the light of day anytime soon.

Well I guess he did it because it’s easier 😂 I don’t even get why this project exits, the gains over Sublime Text are minimal and people tend to go with VSCode because it’s free or some Jetbrains product for serious work because it’s way superior than all the other options.

whats metal

It's macOS's graphics API, like how Windows has DirectX and Linux has Vulkan.

Afaik, its Apples way to render things with their OS. It only works with Apple and its similar to DirectX which only works for Windows.

The best thing everyone should use is something that supports all platforms like OpenGL or Vulkan which is even Open Source

opemgl vs vulkan whays better?

In this case probably Vulkan, as developers tend to use current computers which support Vulkan, which is faster and younger and has less overhead.

In other cases you probably want OpenGL because older GPUs don't support Vulkan and usually you want to include as many users as possible.

Neither is inherently better. It depends on what you need. Vulkan gives you more control which can be beneficial for advanced rendering techniques however comes at the cost of requiring more knowledge to use. OpenGL is simpler but generally has higher driver overhead.

1 more...
1 more...
1 more...
1 more...

It's a code editor with no Linux version. It can go on the shelf next to Arc, the browser "for tech people."

Linux support is coming, they haven't released version 1.0 yet

And by that point this will no doubt be relegated to obscurity, kinda like atom

1 more...

Can confirm that’s it’s very fast. Just lacking plugins at the moment.

I will watch it with great interest

I hope it gets there. I was a sublime user until vs code's integrations got so far ahead that the productivity gains outweighed the slowness, but I really want it to be faster.

Do zed plugins have to be written in rust? If they do then that will slow community contributions since it's not as popular as JavaScript for vs code.

Vs code is slow? Literally the entire reason I switched to it years ago is because it's very fast.

Yep, VSCode is slow because it is built on Electron which is just a another browser.

Aware. V8 is fast.

V8 is heavy

And yet vs code is barely slower than editors with practically no features. Silly thing to argue about, but it's certainly very fast considering the featureset

Heavy != slow. VS Code isn't a slow editor, its just resource intensive.

VSCode is only fast if you're comparing it to Atom.

extensions tend to be the slow part in my experience. after a couple heavy extensions on an already struggling work laptop I'll frequently outpace it's input handling and have to wait for it to catch up

Vs code will get annoyingly slow even in vanilla setups when editing large files. Personally I can tell the difference in did compared to sublime text even without plugins, it's not enough to be too annoying which is why I was ok with switching, but it just feels better when it's lighting fast since the input lag piles up in a text editor since you're typing really quick the whole time.

They certainly can be. Admittedly over time I've installed a lot of extensions but also gotten better hardware along the way. All I know is that despite having like 20 extensions installed I can startup vs code in just 3-5 seconds

Depends on what you're used before I guess. I came from sublime text which was written in C++ and was blazing fast. You could throw any size file at it, I still use it when I need to edit a large file. I can notice the input lag in vs code even in small files with a vanilla setup. After adding plugins the lag can become even more noticable and in certain use cases it straight up slows you down. It's not so slow that it's unusable, but it's noticably slower, and leaves me desiring more speed. But speed alone isn't enough, it needs really good plugins which is why I traded speedy sublime text for vs code in the first place.

VSCode is fine

Maybe for you. I personally am quite picky about tools I use all day every day.

Cool story. Same here. Did you want to get into an internet Snapfish at which tool has millisecond advantages over another?

If it were just millisecond advantages I would gladly use VSCode, but in large projects the difference is massive, it takes minutes to fully load a project and several seconds to perform certain actions.

Yeah, it's fine, I said I use it didn't I? But it's just fine, so I'd prefer something even better.

Sounds exactly like atom... until they killed atom

Atom was never fast

Exactly.

Atom being open source was why I switched to it from Sublime.

Atom's shitty performance was why I switched away to VS Code.

It was Electrons problem. VSCode was basically Atom. When MS made Electron2 or whatever it got much faster.

It was not Electron's problem.

The problem was the extension architecture, that they leaned into heavily. It encouraged basically every part of the system to interact with every other part of the system, like having free reign over the whole DOM. That's what the creators meant by a "hackable" editor.

VS Code is much faster, largely because of its much more sane extension architecture. Extensions are much better isolated, with a much smaller API surface by which they can interact with the editor. And the LSP design means core IDE-like features can be lifted into a privileged part of the system, and implemented once with performance in mind, while the actual analysis is done asynchronously in subprocesses.

If you actually use both Atom and VS Code configured to feature parity, you would notice that VS Code is miles ahead of Atom. Microsoft did an amazing job proving that you can build complex performant software on Electron.

Yes, Electron 2.0.0 was a great update, but it's not the reason for performance. The reason was better software architecture.

Another one people might be interested in is Lapce. Seems to be the same thing as Zed, but has a Linux build available. https://lapce.dev/

It's kinda buggy for me

Yeah, all I got to see was the main window, couldn't even get it to open a file.

I have it installed on my work laptop and give it a try every few updates. I really like it. The vim emulation is pretty fleshed out and it definitely feels a lot faster than VScode.

I believe it's kind of out of scope of the project at the moment, but I'd really love to see debugger support. It's the only thing keeping me on VS code

Yeah, the debugger is really nice.

That, and pretty much the whole extension market.

How does it compare against Lapce?

Lapse is going the extensions-for-features route, cross platform from the start, is more buggy atm, slower progress (doesn't have 3 dedicated experienced devs) but is more accepting of community support.

Zed, similar goals and rust backend, probably has some monetization goals (eventual offering of live sharing code service), and Zed isn't afraid to hardcode features. Like... very hard hardcoded features, to the point that I'm kinda concerned about it. This 5min clip of Theo looking over the source code shows it pretty well https://www.youtube.com/watch?v=ZOYp6-k9HhE&t=1533

The Atom/Zed devs write the most well-documented code I've ever read. Clear variable names, perfect comment-explainations when needed, etc. I wish they would join up with Lapse.

Can you be more specific on these concerning hardcoded features?

If you're asking about specific names of features, its just the ones seen in that video clip. It seems like a pattern of very not-modular-ness.

If you're asking why that pattern is concerning as an end user: Zed claims to be "a lightweight text editor". But hardcoded support for a particular javascript library, as well as hardcoded support for a particular formatter, feels a lot more like a opinionated IDE packed with features designed for the specific workflows of the creators. Even if there's no runtime cost, there is a technical cost for open source contributors. These little not-modular things can really bloat the codebase and make it hard to contribute.

More importantly, if Zed does add plugin support in the future, its going to require a major code refactor. Which makes forks and outside contributions especially hard.

From a lock-in perspetive: if something better than tailwind comes out, and we were daily driving Sublime 3 with no extensions, its no big deal to switch to the new thing. There wasn't any hidden favoritism to begin with. But in Zed, not only will it feel bad to use the unsupported new thing, but also the team behind the-new-thing can't realistically fork and add support either. They just have to hope the Zed devs decide to support it.

If their website said it was a fast low-overhead opinionated IDE I'd be fine because I'd know the kind of lock-in I was getting into.

Maybe it will be more stable and have more features than Lapce. I think so because I tried Lapce yesterday, and it was so buggy on my machine. But no doubt Lapce is a solid alternative to VSCodium and it has all the features that I want but it lacks customization and is buggy for me. I am still not sure for Zed though because I didn't tried it yet and waiting for Linux support.

All those features + vim mode, damn can't wait 🤤

I could do that only if a "voice" assistance is able to detect my inner voice through a cap or similar, I fear.. I just can’t write as fast as thinking…