Eiji

Eiji

My ideal code editor

Here is my personal list:

  1. Real multi-thread support. Panel, sidebar or file tab should not freeze whole app and OS.

  2. Access to symbolic links for directories only on request, open them in another sidebar tab, don’t read them recursively and don’t index them - at least by default or add timeout for it.

  3. Command palette :smile:

  4. Version bigger than or equal to 1.0.0 should have everything configurable through GUI (unlike Atom editor) - it’s ok to make configurable editor using json configuration files at start, but I mostly don’t have a time for it and want simply use checkbox.

  5. Color scheme editor almost like in Intellij.

  6. Fully integrated compiler for every supported language - no regex-based syntax highlighting - in Elixir case support additional style(s) for:
    a) macro calls
    b) private function calls
    c) core lang modules
    d) modules from dependencies
    e) not aliased modules

  7. All-in-one truly advanced color picker. Of course for base work any is ok, but for example when working with CSS it could be really uncomfortable.
    Good picker should allow to choose picker type (for example triangle), preferred input and output format.

  8. A little, just little better prompts. For example for: String. with caps lock disabled editor should not show: String.Chars prompt and similarly for enabled caps lock. It’s really uncomfortable for longer session when every time I see modules filling all prompt places. Also extra prompts for structs.

  9. Need for speed support! :smile: Some editors have really big performance problems with lots of small files and/or really big file(s).

  10. Built-in minifier and beautifier + support for new Elixir formatter

  11. Auto-recompile file on input or on save.

  12. Good integration with documentation. For example on hover editor should show pop-up with first paragraph of docs description + provide a link (opened in sidebar) for full documentation.

  13. Support for Friday black kittens - i.e. automatically find bugs and performance issues, hahah :077:

  14. Really good support for Git. GUI shortcuts for rebase features, collision resolver, better diffs like in ExUnit and more.

  15. Support for most-popular code hosting services like: BitBucket, GitHub and GitLab -
    adding comments, creating snippets, issues and pull requests + notifications should be minimum for every editor. :smiley:

  16. Support for preview generated code when using meta-programming.

  17. Suport for mix tasks

  18. Connection with internet checker.

  19. Support for iex helpers. For example one-letter helpers in command palette.

  20. Good integration with OS (default language, apps etc)

  21. Markdown support + preview

  22. Built-in multi-communicator with code quoting :smiley:

  23. Advanced find and replace tool - support for preview and multiple files changing.

  24. Support for auto file updating - for example auto update README.md on new version pushed to hex.pm.

  25. Hidden mini-games, Adblock and other Easter eggs :077:

  26. Code refactoring tools like find duplicates or auto rename project and/or module after move/rename directory or file.

  27. Good dark theme

  28. Time is up! - notification error for specified in configuration time - just to make sure that we have enough time for sleep :smiley:

  29. Tips for example for weird atoms:
    TIP: Change atom at line … column … from :exampleAtom to :example_atom.

  30. Code templates - for example GenServer template

  31. CSS style generator (like in developer tools)

  32. Vertical tabs with grouping support

  33. Customizable menus

  34. Achievements support :smile:

  35. Ecto migration and model GUI generator

  36. Builtin configuration preview, observer and other debug/statistic tools

  37. José Valim’s watermark signature below combo counter :077:

  38. Forum integration - writing new posts and replies + notifications

  39. Rest time! Block editor for x minutes every y hours.

  40. Spy tools to analyze what parts of code we read too long. :smiley:

Most Liked

NobbZ

NobbZ

Most of these requirements just scream for Emacs …

14
Post #2
hubertlepicki

hubertlepicki

and here I am, with almost bare bones Vim set up.

12
Post #3
hubertlepicki

hubertlepicki

You do not have to change habits if your first programming experience was C written in vim in first place.

10
Post #8
cs-victor-nascimento

cs-victor-nascimento

I’m on the Emacs side of things. Took me a while… but I’m glad I did go all in on Emacs.

My current line of though is that every programmer should master at least one good programming text editor (not a full featured IDE like IntelliJ but one pure text editor like Emacs/Vim/Kate/Notepad++/Etc). This is good skill for being productive. You should be really good at shortcuts, text search/replace/count/selection/etc.

Then, if you feel the need, go to an IDE. Not before dealing with a pure “text buffer” oriented text editor.

Just a tip: do not try to learn a new language while learning Emacs… I tried to learn Erlang and Emacs together (there were no Eclipses/IntelliJs at the time for Erlang) coming from a Java OO world with all the tools that Java provides… Boy that was a baaaaaad decision… but after a while (could have been a shorter while…) I feel comfortable with Emacs. The typing hands position thing truly makes sense when you think about it…

peerreynders

peerreynders

Here is my personal list:


I like to allocate the maximum amount of “space in my head” to focusing on solving the problem at hand, so I’m loath to reserve any amount of that space towards remembering how to interact with some overwrought Editor/IDE.

If there are repetitive tasks that need automating there is probably a way to script it in the shell or Vim/Emacs.

To get sufficient mileage out of “full featured” products you are either drowning in a medium with way too much boilerplate and/or your are just cranking out “nearly” the same thing over and over again.

And lets remember that sometimes repetition is a good thing because that is how we learn (or get motivated to do things in a better way next time).

Where Next?

Popular in Dev Env & Tools Top

PJUllrich
I built a devcontainer that makes it safe(-er) to run Claude Code in YOLO mode (--dangerously-skip-permissions) on Elixir&Phoenix pro...
New
pinksynth
Hey everybody. I was wondering if anybody here has used Panic’s Nova editor. It came out recently and I saw there was no Elixir Formatte...
New
dimitarvp
It would also be the reason for me to seriously hurt myself. :003: I’ve spent way too much time tinkering. I’ll be the first to agree th...
New
ariandanim
Dear all, Does anyone has tried using ARM Laptop Snapdragon? I am planning to buy new one for my daily coding, but still need some sugg...
New
mveytsman
If you use vim, upgrade alchemist.vim to 2.8.0 as soon as possible!! There’s a bug that allows any website to take over your computer. ...
New
Rich_Morin
The Applications tab in Observer displays a diagram of running applications and supervision trees. This is a really impressive capability...
New
AstonJ
Following on from this post in Do you use LittleSnitch or the equivalent on your OS? I think it might be worth us creating this thread so...
New
mkunikow
SpaceVim is a community-driven vim distribution that seeks to provide layer feature, especially for neovim. It offers a variety of layers...
New
AstonJ
If you use a VPN or are interested in any please vote in the poll - you can select as many options as you want :icon_biggrin: I’ve added...
New
SpaceVim
I am author of SpaceVim, As you know SpaceVim is a vim config which provide layer feature. https://github.com/SpaceVim/SpaceVim I want ...
New

Other popular topics Top

albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New

We're in Beta

About us Mission Statement