law

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… :frowning:

First Post!

OvermindDL1

OvermindDL1

I’ve not tried anything eclipse with elixir so I could not say, but I do know at least that intellij itself is so slow, even scrolling is laggy. ^.^;

Most Liked

OvermindDL1

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

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

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. ^.^

Last Post!

seanwash

seanwash

True.

The biggest thing I miss from vscode is the integrated terminal. I’ve used a couple for atom but they didn’t feel that great.

Where Next?

Popular in Dev Env & Tools Top

pjbs
Mechanical? Which Cherry switch? Which layout? TenKeyLess?
705 24408 331
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
sodapopcan
I get the impression that the Elixir community at large is using nvim, though it occurred to me that I don’t actually know this so I thou...
New
AstonJ
Do we have any frequent travellers or digital nomads here? If so where have you been and do you have any tips to share? (Particularly in...
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
AstonJ
While on the theme of routers: Is your computer's internet connection wired or wireless? (Poll) Which router do you use? How do you se...
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

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
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
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID&lt;0.412.0&gt; terminating ** (Postgrex.Error) FATAL...
New

We're in Beta

About us Mission Statement