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

Where Next?

Popular in Dev Env & Tools Top

blazejcm
Hi everyone! I’m wondering what the community would recommend as the best IDE toolchain (in VSCode) available today. I’m talking about s...
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
hq1
Hey! Just wanted to share my ExUnit NeoVim plugin: GitHub - aerosol/nvim-exunit: Opinionated ExUnit test runner for NeoVim · GitHub The...
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
Onor.io
I apologize in advance if this has been suggested by others but here goes. Just today I was compiling some code and once again I’m prese...
New
xiaoqiang
These past few days, I’ve tried switching from Neovim to Helix, and so far the experience has been great. Compared to neovim, which requi...
New
New
mhanberg
Hi y’all! I have started a dedicated Elixir plugin for Neovim. It is still early days, but please check it! GitHub - elixir-tools/elixir...
New
AstonJ
If you have any macOS tips or tricks, or a favourite way of using it, please share :icon_biggrin: For general chat about Macs, please us...
New
SpaceVim
I am author of SpaceVim, As you know SpaceVim is a vim config which provide layer feature. I want to improve the elixir layer in Space...
New

Other popular topics Top

marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29305 241
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
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
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I fore...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35953 110
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement