What do you look for in a Code Editor?
James King

James King @bassforce86

About: Web Developer / Gamer / Mountain Biker / Musician

Location:
Exeter, UK
Joined:
May 15, 2019

What do you look for in a Code Editor?

Publish Date: May 13 '22
23 29

I find myself often searching for better editor experiences when writing code.

Things I've tried:

  • Visual Studio code: too slow, resource hog.
  • Atom: same as above.
  • Intellij: very slow to open.
  • NeoVim/Vim: steep learning curve and requires a good memory (human, not computer!).
  • Lite (and Lite-xl): lacking fully-featured language support currently.
  • Sublime Text: Has probably come the closest to my reliable editor, but actually getting it setup to be an editor can be fiddly, because it's primarily supposed to be a text editor.

Things I need:

  • Speed - my biggest frustration
  • cross-platform
  • LSP integrations (specifically gopls and pylsp)
  • debug support (delve, pdb)
  • Large extension library / list of plugins

Things I want:

  • Nice Testing & coverage visualisations
  • Kubernetes & docker support
  • hackability / customisation

This got me thinking, with modern LSPs (Language Server Protocols) and rich web-based ecosystems - what do you look for in an editor?

Comments 29 total

  • Simon Egersand 🎈
    Simon Egersand 🎈May 13, 2022

    What do you look for in a Code Editor?

    Does it support vim bindings? 😄

    On a serious note: highly customisable, ability to write your own plugins, not too resource heavy.

    I've been using Jetbrains products for so long (IntelliJ etc.) that I don't really know any other IDEs. Vim + IntelliJ works for me!

    • James King
      James KingMay 13, 2022

      I enjoy Vim, quite a lot in-fact! But vim required learning and when you're pairing with other members of the team that don't use Vim... it can be quite frustrating for them to follow I find

      • Simon Egersand 🎈
        Simon Egersand 🎈May 13, 2022

        Yeah, I can relate with that. That's why everyone should learn vim :D

  • Nikhil
    NikhilMay 13, 2022
    • Open source
    • Good enough support for tools/languages
    • Good performance.
    • LSP is ideal.
    • Community.

    I recently went on a spree to find a alternative for VSCodium which I am using. Tried Emacs, Lite-XL, Kate. And ended up liking Emacs and Lite-XL.

    • Emacs just blows any text editor out of the water with respect to functionalities IMO. The only problem is that it's just too hard to get used to. Not to mention the keybindings are from jurassic park era. Keybindings before ctrl+c and ctrl+v for copy and paste were even a thing. Found everything unnecessarily hard and you have to relearn a lot of things. After using it for almost a month, I moved on. Not because it is bad. But because I didn't get settled with it even after almost a month. And I ran out of time. Still can't deny that...

      • Orgmode is mindblowing.
      • Magit is crazy.
    • Lite-XL is fast and minimal. It's is my ideal choice and I use it whenever I can. Trying it out made me learn a lot about text editors. It needs a little more tools and functionality support is all. And it is getting there as far as I can tell. Also, you can extend it easily with Lua. I ended up writing stuff in Lua even though I didn't know Lua. So I am pretty sure anybody can if they really wanted to.

    While I had to come back to VSCodium, I still use Lite-XL as my secondary text editor. Oh, and their community is really nice. :)

    The only other text editor I want to try out now is NeoVim. It has good support AFAIK. It uses Lua for plugins, so it's an excuse to play around with Lua outside of Lite-XL. All I need now is some time. :)

    • Guilherme Thomas
      Guilherme ThomasMay 13, 2022

      Never heard of Lite-XL, and reading it was write mostly in LUA makes me happy :D

      • Nikhil
        NikhilMay 13, 2022

        Lite-XL is a continuation of Lite text editor. With an emphasis on convenience and functionality. You should try it if you have time. It is a really good text editor.

      • James King
        James KingMay 13, 2022

        I'd second what @unsungnovelty said. It's certainly worth a try if you've a mind to get creative. I'm tempted to start writting some overlays for gopls for it just so i can start seeing how difficult it would be to replace something like VSCod[e|ium]

  • Leroy
    LeroyMay 13, 2022

    I think the key here is not to expect one editor to rule them all. In my case I use sublime text for quick edits but rider/webstorm for most of development. This way you get the best of both worlds. You really can't have a super snappy ide that does everything and also starts really quickly , something has got to give. Hence going with two is a great strategy. Is there really anyone who exclusively uses one IDE and no other editor? I've never met one

    • Vincent Milum Jr
      Vincent Milum JrMay 13, 2022

      I guess I'm that person. I use Sublime Text exclusively. :) The ONLY exception is the times I'm working on Arduino projects, so non-commercial stuff, just some hobby tinkering stuff. In that case, I do all my editing in Sublime Text, and then Arduino IDE just for compiling. But that's also because the Arduino IDE cannot keep up with editing the size of projects I work on.

      I could in theory setup the compile environment inside of Sublime Text for all of the microcontrollers I work with, but I'm just lazy is all it really comes down to LOL

    • Jason Murray
      Jason MurrayMay 14, 2022

      This is how I see it as well. My major projects are all done in IntelliJ or PHPStorm. I don't care about start up time. I want the features. I'm not opening and closing it all day long, it starts up and runs all day.

      When I need to edit something quick, like some notes or a system config file...something non-project based, then I resort to sublime on GUI based machines and vim or nano on remote servers.

      I've been learning VSCode, and it's turning out to be a fairly middle of the road option, faster to open but less full featured for project based stuff. More features and slower opening for non-project based quick stuff.

  • Paweł Świątkowski
    Paweł ŚwiątkowskiMay 13, 2022
    • Not being forced to use mouse/touchpad for anything - be it Vim bindings or something else, I don't care so much
    • Ability to easily store the editor config in version control
    • Having some kind of command palette so I don't have to memorize all the keyboard shortcuts to lesser used things

    That being said, I use Doom Emacs as my main editor and VSCodium as my supporting editor.

  • Andrew Baisden
    Andrew BaisdenMay 13, 2022

    A huge extension library so I can customise it any way I want. This is an area where VS Code excels.

  • Simon Egersand 🎈
    Simon Egersand 🎈May 13, 2022

    Is it really called that? 😄

  • Pandademic
    PandademicMay 13, 2022

    Beware of evil-mode though! It's addicting...

  • Eljay-Adobe
    Eljay-AdobeMay 13, 2022

    An editor that I never have to take my hands off the keyboard to use a mouse.

    An editor that does not get in my way, so I don't have to think about the editor, I can focus on what I'm editing. Zen-like. One with the code.

    And editor that is available on every platform I work on. And I work on dozens of platforms.

    I use Vim.

  • 𒎏Wii 🏳️‍⚧️
    𒎏Wii 🏳️‍⚧️May 13, 2022

    One thing that's absolutely essential for me is that an editor must be programmable. I get paid to solve problems, not to operate a text editor; so whenever there is any repetitive typing to do, I want to automate that as much as possible.

    In that sense, having an interface for extensions is useless to me. Sure, it's a great thing to have, but it doesn't solve my problem of wanting to hammer a few lines of code into an editor and within 30 seconds have a solution that solves my problem even though it's way too brittle to be of general use.

    So far, vim is the only editor I've used that does this. I'm sure emacs is the same, but I don't see the reason to switch away from one stone-age editor to another. Among the modern browsers, I haven't yet found anything like what I expect.

  • hidden_dude
    hidden_dudeMay 14, 2022

    First and foremost is good debugging support..

  • Jonathan Flower
    Jonathan FlowerMay 14, 2022

    I used Sublime for years and loved it! I switched to VS Code about 2 years ago because it had better support for Typescript at the time. I just downloaded Sublime again and going to give another shake. I am running an M1 Mac, so VS code is not painfully slow. Sublime has got to be blazing fast with M1 support. Speed is huge for me.

  • Daniel Fitzpatrick
    Daniel FitzpatrickMay 14, 2022

    I feel like emacs ticks all your boxes.

    If you try it, pick a popular distribution and read the docs first. I recommend spacemacs, but I know a lot of people prefer doom these days so give that a try, too. You'll want to

    1. Install emacs first, and use the graphical version. I believe it's in scoop (scoop.sh/) if you're on windows.
    2. Enable the emacs daemon for speed, but probably only after you're happy with your config
    3. Learn how to manage buffers and windows inside an emacs client for even more speed. No need to keep opening fresh clients.
  • Husen
    HusenMay 14, 2022

    I most of the time need LSP, so I only use this editor:

    1. Sublime Text 4: My main editor
    2. VS Code: I only use this for things that can't be done in Sublime Text
    3. Helix: My $EDITOR in terminal. EditorConfig support is still missing.

    If you are using Mac, maybe you also can try Nova. It's written natively for Mac.

  • Valentin Baca
    Valentin BacaMay 14, 2022
    • IntelliJ for Java and Kotlin.
    • Xcode for Objective-C and Swift.
    • vim for quick edits: git commits, working over ssh, config files, etc.
    • And VS Code for literally everything else: notes, JS/TS, Clojure, etc...
  • Djilou
    DjilouMay 15, 2022

    Used to code in vs code then used atom then vim/neovim with lunarvim and i honestly love it !

  • Templar++
    Templar++May 15, 2022

    setup to be an editor can be fiddly, because it's primarily supposed to be a text editor

    Sorry I don't understand that part?

    • James King
      James KingMay 16, 2022

      Sublime text is a fast (and generally great) text editor. However some plugin's / packages require pre-installation & setup of the tools required. Some handle this better than others, but debugging why it doesn't work can be awkward sometimes

  • JWP
    JWPMay 17, 2022

    I look for visual studio code.

Add comment