Would love to try out all this wonderful mentions but sadly I got stuck in Vim 10+ years ago and can’t exit. At least now with Crablang I can move on and buy a new computer and will use Neovim to lean Lua to configure it. You should do the same, thank me later.
Used Vim ages ago, was not a fan, but understand those who are.
FWIW I am very curious about Lua.
The only IDE I might try is Emacs, I am still intrigued by it, especially Org-Mode’s powerful features for Literate Programming and outlines, try it, you might be tempted.
I use emacs + doom emacs config. It was a lot of work to set it up how I wanted (at least a hundred hours). It is not as snappy or stable as Vim. Similarly to vim, emacs is keyboard-centric, and has a ton of features (e.g. it has IMO the best git client - magit, but someone already made a clone for neovim GitHub - TimUntersberger/neogit: magit for neovim). Emacs offers the best customizability out of all editors (with emacs you’re essentially living inside running session of lisp interpreter, and you’re free to change absolutely anything, including how your lisp config executes underlying C code).
The biggest selling point for me is that I have a single UI and a single set of shortcuts to manipulate text across different contexts (code, notes, git commit msgs, scratchpad, file browser (akin to ranger)) - no more context switching or playing with vim emulators in 5 different apps to get desired behavior (tho I haven’t yet tried https://kindavim.app/). One day I hope to integrate slack and the browser workflow into emacs too; that way, I won’t ever leave it.
vscode offers the best out-of-the-box experience (requires the least amount of effort), but you’re out of luck if you ever want to customize the UI deeply (e.g. remove the bar with file tabs, or the fact that vscode forces you to have one window per project).
With obsidian and vscode and 10% of effort, you can get 90% of features you’d use daily in emacs, which ultimately is a good deal. Emacs locks you into org-mode, which is not ideal if you ever plan to take/read notes on your mobile device; there are many good mobile apps for markdown tho.
Emacs works great for rust, but from my experience is not so good for python or js - the experience is not as polished.
I use JetBrains WebStorm, which works well for frontend code (JavaScript, TypeScript, React, Svelte, Angular, Astro, etc.) and Rust. It does not currently support Motoko.
I initially started using WebStorm because I was already familiar with IntelliJ for Java development (a long time ago in another life), and transitioning to WebStorm felt natural. Although I’ve tried switching to VS Code multiple times, I never quite reached the same level of development speed I have with WebStorm, so I always come back to it.
WebStorm’s Git integration, search indexation, and refactoring capabilities are excellent. While the editor is not free, I believe it’s worth the price due to its feature set, and their support is helpful.
The only significant drawback I’ve experienced is that when encountering an issue in the editor, it takes a long time for them to address and fix it.
I am trying CLion, impressed by the tool, but not yet convinced to buy it.
WebStorm, does it support Rust? CLion supports Rust fully including debugging, that is why I am still evaluating it.
CLion’s issue is that it can not do single files, it wants projects, which sometimes is a pain to setup, however, for a large project it is amazing what it can do.
VSCode integration with Co-Pilot is indeed a powerful feature.
I have not tried it yet, but ChatGPT is quite useful for code generation as long as you fully check what the heck it did, because it hallucinates and makes mistakes, still it does help.
JetBrains supports Co-Pilot fully, which is nice to have.
Sublime has an unofficial plugin for it, but I have not tried it yet, for those interested it is here:
I am sticking with Sublime Text 4 now, the speed is incredible, it really is, I did comparisons with everything, for every day code sessions it is hard to beat.
I have VSCode installed, and sometimes have used it, but I can’t use it when I know the other editor is so much faster, the only issue will be ChatGPT support, and the associated Github Copilot support. We shall see.
VSCode + Rust Analyzer + Motoko for candid + Copilot/Labs + Clippy(all, nursery, pedantic minus a few things) + heavy ChatGPT 4 use (as in when i run out of questions I go for a walk)
A developer friend of mind said he does not use CoPilot anymore because ChatGPT 4 is so much better, so he has a plugin to connect his editor directly to ChatGPT.
The rest in your list with the exception of Motoko and VSCode, yes those are solid choices for sure, and I use all of them. I avoided Motoko mostly because it is yet another language, and I do like Rust.
First thanks to everyone for their great suggestions, here is the summary I see emerging:
VSCode seems to be the people’s favorite
The main alternatives to VSCode seem to be these:
SublimeText
JetBrains editors like WebStorm and CLion
Some folks use open source editors like NeoVim, Vim, and Emacs.
A lot of folks are using AI completion, especially GitHub Copilot.
All the alternatives mentioned do support both.
For those who use SublimeText, these are available:
SublimeText Github Copilot Plugin
OpenAI Completion is a Sublime Text 4 plugin that uses the OpenAI natural language processing (NLP) model to provide suggestions for editing code within the Sublime Text editor.
I went in straight into Motoko because of Ghost in the Shell. But yeah Rust shouldn’t be too bad to learn now. I heard english is the hot programming language now.