What’s the Best Code Editor?

Emacs, vi, TextEdit, nano, Sublime, Notepad, Wordpad, Visual Studio, Eclipse, etc., etc.—everyone’s got a favorite.

I used Visual Studio previously and liked the integrated debugger. Recently I started using VS again and found the code editing windows rather cluttered. Thankfully you can tone this down, if you can locate the right options.

Eclipse for Java has instantaneous checking for syntax errors. I have mixed feelings on this. Perhaps you could type a little more code before getting a glaring error message?

Concerning IDEs (integrated development environments) like this—I’ve met people who think that a full GUI-based IDE is the only way to go. Maybe so. However , there’s another view.

You’d think if anyone would know how to write code quickly, accurately and effectively, it would be world-class competitive programmers. They’re the best, right?

One of the very top people is Gennady Korotkevich. He’s won many international competitions.

What does he use? Far Manager, a text-based user interface tool with a mere two panels and command prompt. It’s based on 1980s pre-GUI file manager methodologies that were implemented under DOS.

It reminds me of a conversation I had with our admin when I was in grad school. I asked, “Why do you use vi instead of MS Word for editing documents?” Answer: “I like vi because it’s faster—your fingers never need to leave the keyboard.”

Admittedly, not all developer workflows would necessarily find this approach optimal. But still it makes you think. Sometimes the conventional answer is not the best one.

Do you have a favorite code editor? Please let us know in the comments.

45 thoughts on “What’s the Best Code Editor?

  1. I have been a lifelong vi user since I encountered it in my early UN*X exposure. The simple combination of motion commands combined with action command, once you embrace it, is very powerful.

    Recently I have been using the Helix editor. It is close enough to vi to work, but then specific things are different to require a little bit of overriding muscle memory. The results are worth it.

    Helix pairs up with the language server of choice to add much more power (Completion, and motion commands that take your programming language into consideration). This is similar to what you get with VS Code et al., except that it runs in a terminal window, so you don’t have the overhead of Electron.

  2. Eclipse for Java, IntelliJ IDEA for Kotlin, Emacs for everything else. I wouldn’t call IDEA a favorite, but you can’t really use Eclipse for Kotlin.

  3. Now it is Emacs.
    My editor walk was TurboPascal/TurboC editors when I was working on DOS, then I started in 1998 with Linux and I got into ViM. In the end in 2008 I was writing more LaTeX than code and Emacs seemed more powerful. I am still hooked on Emacs.

  4. IDEs are great when they are available/permitted, but Notepad++ is enough to keep me happy most of the time (assuming Windows environment). A little syntax highlighting really helps readability/organization for me. Using vanilla notepad is just painful.

  5. I haven’t used Visual Studio Code, but I used its predecessor Visual Studio. It would be hard to imagine doing Windows software development without it. The code completion, for example, helps you use APIs that are far too big to remember without tool help.

    But when I quit doing Windows development, I stopped using Visual Studio.

  6. Vim, for decades. Like a comfy pair of work boots and gloves, it helps get the job done without getting in the way. (Thank you, Bram. May you rest in peace.)

  7. Geany on the Raspberry Pi 4. These days I program only in Python and JavaScript so that’s all I can comment on. Geany manages files effortlessly and creating and editing code is almost fun, if I can say that. I especially like that there is no clutter and you can start programming instantly.

  8. VIM. Because forty years of VI followed by VIM have ingrained a level of muscle memory that will not be denied.

    Does that make it the best? I can’t honestly judge that, but it is the best for me.

  9. I used TextMate starting in 2008 or so, but it’s seemed like it’s been in decline for at least half a decade now — I’ve kept losing functionality and not being able to figure out how to fix it. About two weeks ago I gave up on it and decided to try Sublime Text instead, and so far it’s been very nice — feels like it stole all the nice features from TextMate and added a bunch of its own.

  10. Despite its name I don’t consider Visual Studio and Visual Studio Code to be in the same family…not anymore. Better known as VS Code among its users, this IDE can be a productive environment for any coding experience. It’s multiplatform (Windows, Mac, Linux) and the thousands of community-supported extensions are what really makes the magic work. I’ve used it for Python, SAS, Rust, and yes, some .NET stuff. Check the extension marketplace for some examples: https://marketplace.visualstudio.com/

  11. I am currently on move from visual studio code to sublime text. I recently had a same question and checked newcomers like helix and neovim. Then realised if I put the same effort in customisation sublime text will shine.

  12. Source Insight was the first editor I was able to cross reference the entire Linux kernel with.

  13. I do mostly embedded programing for many soc’c. AVR, RP2040, ESP32, etc. I also do desktop programming to interface with those embedded systems. And then there is all that setup and configuration with yaml, xml, and various config files. Then there is full stack programming, of which I build everything server side using Apache modules in c++.
    Your question has only one answer. I use the tool that best fits the task. Code for nearly everything that does not have a specific tool required. nano for anything configuration related because it nearly always ‘sudo nano …’ and the specified tool for the ones like QT, a
    AVR, RP 2040 and so on.

  14. Ralph M Prescott

    Many tools but vi bindings whenever possible. Most IDEs support that.
    Sometimes you have to track down a plug-in.

  15. Neovim + LazyVim for Web Development, Visual Studio Code for Python and JAVA and Visual Studio 2022 for C++ and .Net stuff

  16. Hands down, for most important code languages, Visual Studio Code. I’ve used them all for a plethora of reasons, but VS Code is my “go to”. I believe at the “end of the day” it’s about the forum that’s most intuitive to you and many are reliable and generally dependable but VS Code keeps up with my individual level of development, growth and professional challenges.

  17. VS Code, except some really exotic cases (like editing SSIS packages, or dealing with huge XML documents).

    As far as I loathe Electron based UIs, for their general sluggishness, I must admit Microsoft is doing really great job with VS Code.

  18. IntelliJ IDEA for Java and Kotlin, especially because it compensates my lack of discipline by pointing out every piece of crap I created because of being lazy or in a hurry. And it just works, be it refactorings, multi module projects, searching over the project, database connection. With Eclipse I had so much trouble after the first plugin was installed. IDEA just runs fine.

  19. Sublime used to be best, liked atom and now its successor pulsar works really well

  20. I like Intellij for all development, it is expensive but when compare to productivity it is less only

  21. i once mainly used visual studio code and the jetbrains ides, depending on the programming language, the reason was the range of available features and plugins (mostly for suggestions and corrections of the code). Now i mostly use either sublimetext with a few plugins for better language integration when using rust like for formatted it and correction suggestions for codes and nano, to make short changes because of bugs or for bash scripts.

  22. How is Visual Studio Code cluttered?
    Be default it’s pretty lean, and you can easily hide panels.

  23. 1. Rider for .NET (if one can afford)
    2. Visual Studio for .NET (Community Edition is free)
    3. VS Code

  24. For open source work, I have an instance of code-server up and running in my home lab.

    VSCode is my go to for work-related things.

    But, for Markdown, my favorite editor is iA Writer because of its minimalist approach.

  25. Actually I don’t like the small “+” buttons and vertical lines for outline mode (I never use), also if you select a string by default it highlights all matches on the page. I think I like the horizontal and vertical guidelines, also I think I like the vertical green bars showing what code is changed. I like to enable line numbering, it’s to the side and not too distracting. Taken all together and with the small font I use, I find it too much visual overload and distracting. Just personal preference, I prefer a more clean look, that lets me locate the text on the page I I’m looking for better.

  26. Been using Vim for 20+ years. Picked it up after one of my CS professors recommended learning vi since it is available on virtually every platform.

Leave a Reply

Your email address will not be published. Required fields are marked *