law
Elixir IDE discussion
/an-aside
Why is it not completing the module name too? Atom’s does. Also why does it not fill in the arguments with defaults that you can <tab> between like in Atom as well? Can you ctrl+click (or some other hotkey) to go to the definition of a function call or a module as well?
/me has tried VSCode a few times and not been impressed as of yet, but it’s been a while and is always up for replacing Atom if finding at least feature-parity
I keep trying intellij’s elixir, but intellij is just soooooo sloooooooooow… ![]()
Most Liked
OvermindDL1
Hmm, I have a lot of extensions, let me list the ones that are obviously elixir related or buff it (I might be missing some):
- atom-autocomplete-erlang
- atom-elixir
- atom-elixir-playground
- auto-complete-elixir
- autocomplete-erlang
- build-elixir
- busy-signal
- elixir-cmd
- elixir-pry
- file-icons
- git-status
- git-time-machine
- highlight-selected
- iex
- intentions
- language-elixir
- language-erlang
- linter
- linter-elixir-credo
- linter-elixirc
- linter-ui-default
- minimap
- minimap-bookmarks
- minimap-cursorline
- minimap-find-and-replace
- minimap-git-diff
- minimap-highlight-selected
- minimap-linter
- minimap-pigments
- minimap-selection
- minimap-titles
- phoenix-elixir-snippets
- tree-view-git-status
And an absolute TON more for things like ocaml, javascript, ton of base file types, etc… etc… I have many hundreds of packages installed. ^.^;
I very much had to do that with mine when I edited a few java projects last, kept crashing until I did. Also not a professional indicator. ^.^;
Not tried, I don’t use umbrella’s. I prefer making individual distinct libraries then a ‘mega’ project that just depends on all of those (with little to no code in it). It’s a pattern I’ve used since the erlang days, but it works wonderfully with it.
That is configurable. You can hit Ctrl+. to turn on the key resolver, then do ‘something’ and it pops up at the bottom what was bound and what happened, and you can just rebind those keys in your settings or so. My Ctrl+Click, since I use the hyperclick package (and lots of addons, I forgot to list it above), will open up the definition file for whatever I clicked on.
This is something a lot of people keep saying is the indexing, but I never noticed that slowing down Intellij, it ran in the background just fine without slowing anything down (intellisense did not work until it was done, but eh) so that was actually a slow-down that I never experienced with Intellij, it’s background processing seems just fine.
Post the crash logs. It should absolutely not crash, they are hard on that currently.
I like compile-on-save, I use a linter that lints that along with credo’s linter. What is disruptive?
Heh, I use elixir via emacs a lot too, it is very nice, just lacks a few features I use too often in atom. ^.^;
tmbb
This looks like a good fit for some invariant testing. Just pick a corpus of elixir files (from hex packages for example), and do something like:
new_source = format(old_source)
old_ast = Code.string_to_quoted(old_source)
new_ast = Code.string_to_quoted(new_source)
assert = remove_line_information(old_ast) == remove_line_information(new_ast)
# assuming the remove_line_information exists
This is basically what exfmt wants to preserve, right?
OvermindDL1
Probably because Atom uses GPU-accelerated rendering where IntelliJ does all Java (with some C++ bindings) rendering, thus all on CPU. Intellij’s ‘rendering’ performance problems would likely be solved if they used a decent GUI toolkit (like QT5) instead of the horror amalgamation it uses currently (a weird mix of C++, Java, and some really low level bindings last I looked, all to avoid Swing).
If so you should submit a bug report, they have been really fierce on performance bugs the past year and things like it dying become priority 1 bugs. Are you sure you do not have a bad plugin installed? It has some great debugging tools built in.
For note, KDevelop uses QT. ^.^







