Elixir Code Editors & IDEs - which one are you using? (Poll)

Are there any downsides (particularly in terms of performance or cpu usage) if I have long running tasks such as the web server inside a ‘normal’ shell? If not I’ll be happy to stick to that :slight_smile:

Pseudo terminals inherently have some overhead compared to native kernel terminals, but in practice I don’t think it’s much of a concern. That said, I don’t claim to understand the inner workings or where performance difference may lie.

Eshell vs a conventional pseudo terminal, however, is no contest. Go with the conventional terminal when you need performance.

Do you mean the ‘normal’ shell in Emacs (which in SpaceMacs I can get to by SPC ') vs the eshell? (That’s what I was referring to - sorry if I wasn’t clear).

Ah, no I misunderstood. I was talking more generally about Emacs as a terminal vs dedicated pseudo terminals. I assume SpaceMacs’s “normal” shell has performance properties resembling eshell because eshell’s bottleneck is almost certainly Emacs and its concurrency limitations. Can’t say from experience, though, since I haven’t even got SpaceMacs set up yet!

1 Like

Haha ok thanks, I’ll do a little more digging.

Let us know how you get on with SpaceMacs :003:

For fun I ran a quick benchmark test in my Ubuntu 16.04 VM. I’ve noticed programs with a lot of output tend to go slower in eshell, so I ran the following command in both eshell in a fresh Emacs instance and gnome-terminal, both with my default login shell (zsh). It repeatedly prints y\n for 5 seconds, displaying the results and writing to a file.

$ timeout 5 yes | tee -a $file

Comparing the number of lines printed to each file:

~ $ wc -l emacs
1148639 emacs
~ $ wc -l gnome-terminal
5963776 gnome-terminal
~ $ (/ 5963776 1148639.0)
5.19203683663884

Gnome-terminal did 5x more work than eshell.

2 Likes

Currently using VS Code, however, I’m challenged to move to SpaceMacs, just dunno with what start :smiley:

1 Like

Try here:

:slight_smile:

4 Likes

Used to use Atom, it has nice plugins, but not so stable, as I’d wish. Currently working in VS Code + Dash integration.

3 Likes

For those using Visual Studio Code instead of Sublime Text 3, do you not feel that symbol search is a worthwhile feature? Every time I try VSC out, that stops me cold. Though the lack of an ‘origami’ plugin also hurts. It otherwise looks nice.

1 Like

I started using VSCode full time a couple of weeks. Before that I was using spacemacs (Hybrid mode) for a good year and a half. I loved it (and miss it), but the performance of emacs was getting to me. VSCode feels just as fast as I remember Sublime Text being before I switched. I just wish there was spacemacs, but for VSCode :slight_smile: VSCode gets better every release.

I still miss spacemacs though, haha

2 Likes

Can you share your reason for switching to vscode?

What add-ons have you used to setup a productive vscode environment for Elixir dev?

1 Like

So spacemacs is greatness. Emacs is greatness. One issue I was having was trying to paste things from outside of emacs (I would have to copy and paste things twice). I would also run into some slowness when editing. The elixir layer has an issue where it adds an end each time you make a new line in a case expression. I think that’s fixed in master, but I didn’t want to move to that.

Why VSCode in particular? I wanted something as fast as Sublime Text, but with some of the extensibility of Atom and Emacs. There are plenty of extensions for the languages I use and the debugger is an added bonus even though I haven’t used it yet. Also it supports ligatures.

For Elixir I’m using the vscode-elixir and vscode-credo extensions.

2 Likes

Wha? I’ve not experienced that, do you have a reproducible test-case? If so then it should definitely be submitted as a bug report!

Nor have I noticed this?

Hmm, not noticed this either but I often cancel auto-fills anyway. ^.^

Ooo tell me more? How does this work with Elixir? :slight_smile:
Emacs has fantastic debugging facilities, but none for Elixir that I’ve seen…

1 Like

I’ve talked to multiple people about it and I think my issues are around using cmd-c and cmd-p. I don’t think I’m supposed to use those. And I also sometimes have to edit large files (like large CSVs or JSON or SQL files) which is normally where the slowness comes in at.

I have not used the debugger and I don’t know if it works with Elixir. I do know people have used it with JavaScript and Go. But I believe there is an actual debugging framework you can plug into.

1 Like

Ah, heh, so mac’isms I guess? And yeah, large files hurt in every single editor I’ve tried yet, they crash Atom for me pretty often… >.>

Ah, so same as Emacs then.

I’m not really sure how an Elixir debugger would work, but I’d like to see one. :slight_smile:

2 Likes

Yeah mac’isms. Not going to lie I have thought about getting a nice Linux laptop just to make Emacs happier :). I still might for that and other reasons

1 Like

Have a look at this Bryan:

2 Likes

Thanks I think that may have solved that one! Going to keep using it today to make sure

3 Likes

For everything except when I have a one off file to view quickly. In that case, I’ll drag the file on Visual Studio Code.

2 Likes