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

Eiji
Here is my personal list: Real multi-thread support. Panel, sidebar or file tab should not freeze whole app and OS. Access to symbo...
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
hauleth
Question as in the title. Are You using EditorConfig in your projects? poll
New
Nezteb
I frequently switch between ElixirLS, Lexical, and Next LS in order to test each out and compare/contrast. I decided to create a brief fe...
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
renews
Hello everyone, today I created a simple Neovim plugin to check for new versions of packages used in the project, not sure if it is usefu...
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
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54996 245
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
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New

We're in Beta

About us Mission Statement