Eiji
My ideal code editor
Here is my personal list:
-
Real multi-thread support. Panel, sidebar or file tab should not freeze whole app and OS.
-
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.
-
Command palette

-
Version bigger than or equal to
1.0.0should 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. -
Color scheme editor almost like in
Intellij. -
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 -
All-in-one truly advanced color picker. Of course for base work any is ok, but for example when working with
CSSit could be really uncomfortable.
Good picker should allow to choose picker type (for example triangle), preferred input and output format. -
A little, just little better prompts. For example for:
String.with caps lock disabled editor should not show:String.Charsprompt 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. -
Need for speed support!
Some editors have really big performance problems with lots of small files and/or really big file(s). -
Built-in minifier and beautifier + support for new Elixir formatter
-
Auto-recompile file on input or on save.
-
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.
-
Support for Friday black kittens - i.e. automatically find bugs and performance issues, hahah

-
Really good support for
Git. GUI shortcuts for rebase features, collision resolver, better diffs like in ExUnit and more. -
Support for most-popular code hosting services like:
BitBucket,GitHubandGitLab-
adding comments, creating snippets, issues and pull requests + notifications should be minimum for every editor.
-
Support for preview generated code when using meta-programming.
-
Suport for
mixtasks -
Connection with internet checker.
-
Support for
iexhelpers. For example one-letter helpers in command palette. -
Good integration with OS (default language, apps etc)
-
Markdown support + preview
-
Built-in multi-communicator with code quoting

-
Advanced find and replace tool - support for preview and multiple files changing.
-
Support for auto file updating - for example auto update
README.mdon new version pushed to hex.pm. -
Hidden mini-games, Adblock and other Easter eggs

-
Code refactoring tools like find duplicates or auto rename project and/or module after move/rename directory or file.
-
Good dark theme
-
Time is up! - notification error for specified in configuration time - just to make sure that we have enough time for sleep

-
Tips for example for weird atoms:
TIP: Change atom at line … column … from:exampleAtomto:example_atom. -
Code templates - for example
GenServertemplate -
CSS style generator (like in developer tools)
-
Vertical tabs with grouping support
-
Customizable menus
-
Achievements support

-
Ectomigration and model GUI generator -
Builtin configuration preview, observer and other debug/statistic tools
-
José Valim’s watermark signature below combo counter
-
Forum integration - writing new posts and replies + notifications
-
Rest time! Block editor for
xminutes everyyhours. -
Spy tools to analyze what parts of code we read too long.

Most Liked
NobbZ
Most of these requirements just scream for Emacs …
hubertlepicki
and here I am, with almost bare bones Vim set up.
hubertlepicki
You do not have to change habits if your first programming experience was C written in vim in first place.








