If you're a fan of neovim I'd like to take this opportunity to give Neovide a shout. It's essentially a purpose built terminal emulator that can only run Neovim and has some fun extensions with that in mind, like the ability to configure font, window size, fullscreen, window opacity etc. using Vim commands, implement sub-character scrolling, let Neovim floating windows have transparency, and have fun little animations when the cursor moves. It also has support for all the modern terminal emulation essentials like truecolor, ligatures, and emoji. https://neovide.dev/
They are tracking support for other OSes, and I took a look at the Linux roadmap, and they've made some good headway from the last time I looked. I would use it for its UI performance. I don't like how everything these days use Electron. It also supports Language Server Protocol, so adding extensions for languages should be fairly simple for the community to do. The multiple collaboration seems cool too, although I think most devs would seldom use it.
VSCode has tons of features that save a lot of time. Unless Zed manages to get close to feature parity, I don’t see how it can complete from a productivity point of view. VSCode’s UI performance isn’t stellar but it’s not nearly bad enough to counteract the productivity boost I get from its features.
The single best thing I like about Zed is how they unironically put up a video on their homepage where they take a perfectly fine function, and butcher it with irrelevant features using CoPilot, and in the process:
Make the function's name not match what it is actually doing.
Hardcode three special cases for no good reason.
Write no tests at all.
Update the documentation, but make the short version of it misleading, suggesting it accepts all named colors, rather than just three. (The long description clarifies that, so it's not completely bad.)
Show how engineering the prompt to do what they want takes more time than just writing the code in the first place.
And that's supposed to be a feature. I wonder how they'd feel if someone sent them a pull request done in a similar manner, resulting in similarly bad code.
I think I'll remain firmly in the "if FPS is an important metric in your editor, you're doing something wrong" camp, and will also steer clear of anything that hypes up the plagiarism parrots as something that'd be a net win.
Unless FPS means "files per second", I don't see why it would, past the point of usability. You can only type so quickly, and 50 frames is as meaningful as 144.
If you get to that point where frames per second does matter, you're either the fastest typist known to mankind, or it might be worth finding a more efficient way of doing what you're doing.
I'm an old emacs warrior, tired of the war. I'm Church of Emacs, but why? I don't know what I don't know about the advantages of vi/vim, I only know that when I see other coders use them, they seem to weave the magic about as well as I do.
I know that I have a ton of built-up configuration code that makes emacs the perfect editor for me. I know that I can't imagine using git much without magit, or how I would organize anything without org-mode, or how I could tolerate the frustration of editing in a container on a remote server without tramp. I know that I have a huge familiarity bias.
I know that whenever I see anybody with with any of these flashy new-fangled editors, they spend most of their time futzing around with dials and buttons and other gadgets, and thinking about how cool it all is, rather than thinking about the code. They start projects really quickly, they handle some refactoring edge cases slightly faster, but they take forever to do any real work, and are completely unprepared to do anything with a new language or text structure at all.
The religious marriage to rule them all: doom Emacs (or other packages that do similar things). All the excellent text editing of vi/vi/vi/vim, the ecosystem and all the features of emacs.
For anyone who hasn't heard of doom Emacs, it's emacs with a lot of customizations baked into it, one of the biggest selling points is that everything uses vim keybinds now (where it makes sense). You get the amazing ecosystem of emacs with the ease of movement and editing of vim, plus a lot of other QOL features. It's also just vanilla emacs with pre-made (and easy to edit) config files and helper functions so you can move over existing stuff if you want, and you don't have to worry since all the emacs packages will still work, since it's still emacs
the framework is actually pretty cool, it uses SDFs to render ui (which is definitely not the most efficient solution but it's really, really cool (it means they can use the same system to render shapes, text, and literally everything else which can be described by a signed distance formula)
It’s far from finished usable though. I had to adjust the installation script myself and it disconnected both my monitors when the application started. The application opened and 3 seconds later the screen went black and I got a “No Displayport Output” message. I expected it to fail compiling or crash or something, but I never expected that to happen. I thought it was unrelated at first, but I was able to reproduce the issue 3 times in a row.
I've seen their page and while it seems great, I don't think they'll match Jetbrains in term of out of the box ergonomics. Could be a good VScodium replacement once it gets a bit fleshed out and available on Linux.
I'm not a fan of Rider, it's just that OmniSharp outright breaks on large/real-world projects and Visual Studio doesn't work on Linux. I don't use their products out of choice.
It's funny how many people online use VS Code. But I've heard that this might be a US thing. Here, everyone uses the JetBrain products (which are far superior imo).
VS Code is a text editor / IDE. Compared to something like Notepad++, it's super slow to open/load, its UI feels laggy at times, and it's just overkill for opening a text file. Compared to specialized log viewers, it struggles with large files and is generally super slow.
But compared to "full" IDEs like IntelliJ, it's marginal in coding features, lacking important analysis and testing support, plus integrations with ~everything.
If you find yourself in the middle, like many JS developers do, not actually needing the biggest IDE but also needing more than just a text editor, it's a fine tool. As a Java Backend Dev, VS Code feels like a joke if applied to that, OTOH.
Honestly, vscode opens in a split second for me, faster than I can react and start typing. For all intents and purposes it is instantaneous. Granted my setup is extremely clean and I only have the barest extensions installed for my workflow. The performance is consistent in my Windows, macOS and Linux machines.
I can’t imagine it running slow at all (perhaps someone with hundreds or thousands of extensions would). The last two editors I could recall that took the whole of eternity in the time space continuum to load were Eclipse and Atom. And those were slowass right out of the gate with zero extensions or plugins.
People should use with whatever they feel comfortable with, but I personally don't see the advantage. I used VSCode once for simple edits of something and it worked, but I couldn't imagine really using it for a project due to the lack of… everything. The whole support of the JetBrains products from the smart autocompletion, pointing out errors in advance, to improving your code, is insane, and with VSCode, you don't have that.
I also once had a small project with two people using PyCharm and one VSCode and the differences in the code style were insane. Of course that depends on the person, but it's just much easier to obey all the style guidelines and write cleaner code with the former one.
I have a full JetBrains sub paid out for five years. I have dropped JetBrains for VS Code because I got tired of switching editors for everything and dealing with a Java-centric setup when I tried to streamline. Their decision to drop community Rust support in favor of only paid more recently also doesn’t sit well with me, especially given the PyCharm setup.
I swore up and down I would never leave Sublime for JetBrains.
linting, code formatting, dependency management, db connectors & browsing, live templates, refactoring, code analysis, fantastic git operations, local history, testing, etc
Support for most of this stuff is just built in, and a few plugs for the rest. In-line embedded sql execution, best git merge tools, everything has customizable key commands… it goes on and on. The amount of config and plugs this requires in other tools is insane.
Depends heavily on the market segment. I also work in Europe and in my 15 years as a software developer (the first 6-7 as C/C++ developer) I've never seen anyone use Visual Studio.
It massivelly depends on whether it's for programming or something else (such as sys admin work) and which language (and even for which framework) if the former.
If you're doing, say, Java programming for server side or Android, VS and VSCode are far from good choices, but they're perfect if you're doing C# .Net stuff.
However if you're doing sys admin work (including the programming part of it) you're probably better of mastering vim or Emacs (if only because at times in some systems it's all you have).
John fucking Carmack codes in Microsoft Visual Studio, and that's the guy who wrote Doom, the single most important piece of software in history of Man and I'm not even exaggerating.
That's cool but for some reason VS Code is just super distracting for me. I really can't focus well when I'm using it, Zed feels a lot more focused for me
I don't get why some people argue over text editors... Just use whatever works. I like VSCode, not because it's the best or the fastest or the lightest.
It works and it does all I need it to do, which is all that I need from a text editor.
VSCode is the best for me, simple, good UI, extensions, 0 setup required, can run on practically anything created after the dinosaur age (early 2000s).
The technology is nothing alike though. Atom is Electron and Javascript where Zed is Rust with its own custom UI toolkit.
And on the current version of Pulsar (the only real community fork of Atom seeing active development), startup time to point of the editor being usable is actually slightly faster than VSCode.
Probably the reason Vs Code has so many extensions, is that they can easily (low barrier of entry) be created in JavaScript. This is mainly due to the fact that VS Code is an electron application, itself written in JavaScript.
It sucks for zed, because these extensions allow users to customize their workflows to their needs which decreases their liklihood to switch to a different editer. I think the message of the post is that VS Code's large and mature extension ecosystem will somewhat impede users migrating to zed.
The irony in this is that the people behind zed and atom were the ones who initially created electron for atom.
Helix looks promising. It's kind of learning curvish because I have to unlearn vim. Trying to do more things in it though, bit by bit (no pun intended)
For the most part it's a business for them, and that's what matters, they target Mac users because they are more likely to pay.
If you need speed and customization there is neovim and Helix (Rust based). From users to users, no business interests here.
Or VSCode just works for almost everyone.
It does just work though, which is what other code editors need to get that kind of adoption, I'd love to be able to say I use vim or Emacs but get frustrated when I'm trying to get work done and things keep breaking, I finally feel I have everything configured and then realise I'm missing something else that took me 3.5 minutes to set up in VScode, half of that is due to the large community.
Zed works pretty well out of the box but is missing a lot of features that will make it a viable replacement for me. I am excited about Zed and the way it works, it's super interesting and creative and id love to drive it daily someday, so much so that it's the first project I've really considered contributing to myself.
I don't like that VSCode is bloated, but I love that it takes five minutes to set up and contains nearly every feature I can think of.
I don't understand the hate for zed here. Because they are MacOs only? Well, platform support is being worked and looking at their business model it seems MacOs users will the cohort that actually pays for these kinds of things. It will be fun to try out once it comes on linux buy my fealty is with nvim.
I liked Atom, performance was tolerable on my overpowered machine, but MS killing it just sent me back to Vim and modernizing my plugins.
Zed positives: Metal rendering. I use a Mac, so one platform's fine. But negatives: Rust, so I can't/won't touch any internals, and I loathe the Rustacean propaganda wing. No extensions yet. Config is another stupid json file.
You know what's great about vimrc? It's easy to put in a few config commands, and then you realize you're working in the scripting language. You don't have to switch to a whole new file format. Thanks, Bram.
Where would you have to touch internals in zed? In reality would you have to come into contact with rust when using Zed? If it works it wouldn't be apparent what it was build with, wouldn't it?
I often had to poke around inside Atom to see what it was really doing, what some bug was, and to figure out how to write or configure extensions. I don't as often do that with Vim, but it's pretty clean C.
Do you not look inside the overly complex tools you use, especially beta ones? The whole appeal of "open source"/"free software" etc. is you can read the code. But if it's in something you can't stand, that's a disadvantage.
I'm hopeful it get somewhere. Lapce was a good idea, but is sadly slowing down. I'm hoping this will generate enough hype to make it live. I'm really looking forward to a IDE without Electron