what "IDE" do you use to write elixir code?

10,198 views
Skip to first unread message

atkaaz

unread,
Jul 22, 2013, 8:34:51 PM7/22/13
to elixir group
  I am interested in an editor(or ide even) to write elixir code in, but I want it to allow
me to easily navigate to definitions (like eclipse for java does ie. F3 to go to Declaration or Ctrl+Alt+H to find all calls to this method)
  What do you people use ?

Joseph Wilk

unread,
Jul 23, 2013, 3:59:39 AM7/23/13
to elixir-l...@googlegroups.com
Emacs.
https://github.com/elixir-lang/emacs-elixir

Joe

>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elixir-lang-ta...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
--
Joseph Wilk
http://blog.josephwilk.net
@josephwilk

Tom Janssens

unread,
Jul 23, 2013, 9:03:49 AM7/23/13
to elixir-l...@googlegroups.com
On windows I use GVim, notepad++ or sublimetext - depending on my mood -.

Op dinsdag 23 juli 2013 02:34:51 UTC+2 schreef atkaaz het volgende:

atkaaz

unread,
Jul 23, 2013, 9:51:08 AM7/23/13
to elixir group
I'm using sublimetext myself, I don't wanna touch emacs(it's too crazy for me and I guess it doesn't have the features that I mentioned(?) like jump to definition and see all calls made to this...).

But in sublimetext, I guess there are no features(yet) that understand the code like eclipse(for java) does? navigate to definitions(in other files) ? I am already using this plugin https://github.com/elixir-lang/elixir-tmbundle (it does say: "The bundle is still in development and includes syntax highlighting." so I'm not expecting more than s.h. at this time)



--

Alexei Sholik

unread,
Jul 23, 2013, 1:09:34 PM7/23/13
to elixir-l...@googlegroups.com
Someone on the IRC showed a plugin for Sublime not too long ago. It could search for Elixir symbols and show their docs.


I don't use Sublime myself, so can't really advice anything.
--
Best regards
Alexei Sholik

atkaaz

unread,
Jul 23, 2013, 1:35:49 PM7/23/13
to elixir group
whoa this is pretty amazing! I'm just testing the first one, it only needs ctags.exe in PATH (and CTags plugin for sublimetext 2, even though I'm using sublimetext 3)
It builds tags for the entire workspace which is good 'cause I have elixir from github there so I can Ctrl+T twice on ie. "receive" and it jumps me to the definition of this macro in kernel.ex
 Now this is what I'm talking about!! And I thought all the other elixir plugins were obsolete, didn't even look at them..
 Thank you Alexei! I'm looking more into this...

Joseph Wilk

unread,
Jul 23, 2013, 2:15:55 PM7/23/13
to elixir-l...@googlegroups.com
On 23 July 2013 15:51, atkaaz <atk...@gmail.com> wrote:
> I'm using sublimetext myself, I don't wanna touch emacs(it's too crazy for
> me and I guess it doesn't have the features that I mentioned(?) like jump to
> definition and see all calls made to this...).

Emacs has all the features, you just need to find them or write them :)

Joe

Sayth Renshaw

unread,
Aug 8, 2013, 4:24:11 AM8/8/13
to elixir-l...@googlegroups.com
Vim now has a plugin as well https://github.com/elixir-lang/vim-elixir

Sayth

Dave Martin

unread,
Jun 1, 2014, 1:14:44 AM6/1/14
to elixir-l...@googlegroups.com, atk...@gmail.com
Any news here? I'm hoping someone somewhere (Jetbrains perhaps, since they already supposedly have erlang support?) is working on IDE support for elixir.

I'm not a fan of emacs or eclipse. Currently using sublime with a syntax coloring plugin.

Matheus Lima

unread,
Jun 1, 2014, 8:37:37 AM6/1/14
to elixir-l...@googlegroups.com, atk...@gmail.com

Sublime +1

Em 01/06/2014 02:14, "Dave Martin" <xx...@dave.to> escreveu:
Any news here? I'm hoping someone somewhere (Jetbrains perhaps, since they already supposedly have erlang support?) is working on IDE support for elixir.

I'm not a fan of emacs or eclipse. Currently using sublime with a syntax coloring plugin.

--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sonny Scroggin

unread,
Jun 1, 2014, 8:49:34 AM6/1/14
to elixir-l...@googlegroups.com, elixir-l...@googlegroups.com, atk...@gmail.com
Vim

Michael Simpson

unread,
Jun 1, 2014, 11:21:08 AM6/1/14
to elixir-lang-talk, atk...@gmail.com
Based on watching people live code in Elixir talks, I think most people use Vim.

Devin Torres

unread,
Jun 1, 2014, 11:52:02 PM6/1/14
to elixir-l...@googlegroups.com, atk...@gmail.com
Atom

Augie De Blieck Jr.

unread,
Jun 2, 2014, 12:26:32 AM6/2/14
to elixir-l...@googlegroups.com
I'm a vim person, though my set-up for it is so minimal and simple
compared to what I see on videos that I use Sublime Text 2 as a
backup. If I need to look back and refer to multiple files while
editing one in vim, I'll use Sublime Text. I usually have Sublime
open to the directory of the project I'm working with while I'm
editing files in vim.

Someday, I'll lean how to use vim better. Then, I'll also install all
the cool little tricks I see everyone using...

-Augie

Sonny Scroggin

unread,
Jun 2, 2014, 2:29:02 AM6/2/14
to elixir-l...@googlegroups.com, elixir-l...@googlegroups.com
Augie,


That is probably my absolute favorite vim plugin.

And there's NerdTree for browsing the file tree. 

Sonny

Wojciech Kaczmarek

unread,
Jun 2, 2014, 5:02:35 AM6/2/14
to elixir-lang-talk
vim + ctags [1]

plus a small script which watches file changes via inotifywait then fires mix test and regenerates ctags as described below


I don't know how many coders still use ctags, but imagine - you hover on a function, hit ctrl-] and you jump into that function definition. Including std Elixir libs and deps.
I run sth like this from a project dir:
 ctags -R . $Elixir_src/lib/elixir/lib
It takes about 1s so I run it after each file change in background - at the time I want to jump somewhere in the source, it is ready.


Onorio Catenacci

unread,
Jun 2, 2014, 1:07:34 PM6/2/14
to elixir-l...@googlegroups.com, atk...@gmail.com
On Sunday, June 1, 2014 1:14:44 AM UTC-4, Dave Martin wrote:
Any news here? I'm hoping someone somewhere (Jetbrains perhaps, since they already supposedly have erlang support?) is working on IDE support for elixir.

I'm not a fan of emacs or eclipse. Currently using sublime with a syntax coloring plugin.


I'm sorry--not sure what Jetbrains would bring to the table beyond what's available for vim, emacs, sublime or any of the others?  I can think of three main things that I want in an IDE:

1.) Syntax highlighting and other editing functions

2.) Ease of debugging

3.) Refactoring

2 and 3 I don't have in any tool that I know of but that's also true of Erlang, Clojure, Scala etc. etc. as far as I know. In fact that's true of pretty much all functional languages except F#. 

As far as I know, because of Erlang/BEAM's built-in concurrency, debugging is an issue in any case.  Please be gentle, those of you more familiar with this topic than I, if I've gotten that wrong but that's the impression I get from what I have seen.

I am old enough to remember the days of brief programmer's editor and command line compiles and links so while I like an IDE, I'm not crippled without one. An IDE is a tool not a necessity.

--
Onorio

Dave Martin

unread,
Jun 3, 2014, 12:17:18 PM6/3/14
to elixir-l...@googlegroups.com, atk...@gmail.com


On Monday, June 2, 2014 11:07:34 AM UTC-6, Onorio Catenacci wrote:
I'm sorry--not sure what Jetbrains would bring to the table beyond what's available for vim, emacs, sublime or any of the others?  I can think of three main things that I want in an IDE:

I mentioned them because they already have Erlang support, including debugging (which they are currently calling experimental); I assume this would make it considerably easier to add elixir support. Netbeans has also had Erlang support in the past, and I think there is some for eclipse as well.

Otherwise an IDE's ability to manage a project (including source control), provide multiple views into it (such as sortable list of modules, list of tests, list of structs and where they are used, etc), and understand the relationship between files, and offer various conveniences, such as a shell window, visual diff,. code completion with documentation that appears automatically, etc. And all of this in windows/panes that are kept from getting in each other's way.

Basically its an organizational and convenience thing. I don't need an IDE, but its nice to have. The current elixir program I'm working on I have open in sublime, with a web browser open on the elixir docs, another one open on the Erlang docs, and an SSH window to a unix/iex shell; another editor open on the data file that's manipulated by the elixir program. I could also potentially have some database sessions open as well. They're constantly getting in each other's way. And there's stuff I should be putting in separate files, but I've been putting it off because its easier to deal with (in this environment) if its all in one file while I'm developing it.

Sublime does do some code completion, but it doesn't understand the syntax, it can't give me instant feedback when I've just typed something invalid (including higher-level understanding like referencing something I haven't defined yet). Instead, I find out when I try to run (or compile) the program), there is no list of functions (in the GUI) that I can "go to source" or "find all invocations" on. (Even if sublime/et al offer a version of that, I doubt they understand the subtleties), It doesn't display the documentation in a side pane or popup for the function or module name I just typed... There isn't a concept-aware search that understands the difference between Keyword.new and List.new if they are being used without the module prefix (in other words, for example, I want to find in all files, all uses of List.new, even if its called something else in some places).

I realize various editors (or plugins for them), attempt to duplicate some of these, but so far I haven't seen an editor that's really a substitute for a proper IDE, at least for my purposes. I'm still learning my way around sublime, but if it tries to automatically turn "do" into @doc """ """ one more time, I'm going to scream (I just updated the elixir plugin for it, so hopefully its cured).

In my personal case, I'm not good at memorizing tons of shortcut keystrokes, except for the really common ones that I use all the time, so I like having menu and/or toolbar (and right-click menu) access to functionality.

Also, not all IDEs are created equal, and I can see someone having used a bad or ill-fitting one preferring not to use one; but in any case, its whatever works for that person.

To put it in FP terms, its like an (good) IDE has a higher-order understanding of your program than an editor does, and frees me up to think about the program, instead of the process of managing the program. The editor is really just a component (possibly replaceable) of an IDE.

Wojciech Kaczmarek

unread,
Jun 28, 2014, 5:46:21 AM6/28/14
to elixir-lang-talk
Hi Dave,

a bit offtopic, but worth mentioning:

tbh IDEs which have - have, not claim to have - higher-order understanding of your program seem to be extremally scarce. The most close to this requirement is probably any modern Smalltalk, at the - very big IMO - cost that IDE with your program is actually one 'blob', similar to Lisp images.

The other approach is to have set of separate tools. Some of them may operate using brute force approach - meaning approximating the syntax and semantics by regexes (vi mode, above-mentioned ctags), other have some understanding of your program (Erlang dialyzer). Looks like Elixir community decided to go with this approach of distinct tools and that's the process we're in.

regards,

Wojtek


Greg Young

unread,
Jun 28, 2014, 5:58:29 AM6/28/14
to elixir-l...@googlegroups.com
For erlang you might want to checkout https://github.com/bordaigorl/sublime-omnidocs could be supported for elixer as well. I quite like it for erlang.

Also you don't mention it which quite surprises me but are you not using a REPL window in sublime?

Cheers,

Greg


--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Studying for the Turing test

Geoffrey Clements

unread,
Jul 7, 2014, 4:32:26 PM7/7/14
to elixir-l...@googlegroups.com, atk...@gmail.com
I've been mainly using Atom with the Elixir package installed. It does decent highliting and Atom works pretty well.

I really like using an IDE like the JetBrains tools. Mainly because it remembers stuff for me. Type a few characters, pause, and it makes suggestions based on what you've typed so far. You don't have to remember the whole API and the order of parameters or their type, just the first few letters. Let the IDE remember that stuff. It's way better at it than I am.

The tradeoff is they a big and a bit clunky.

Dave Martin

unread,
Jul 8, 2014, 12:43:23 PM7/8/14
to elixir-l...@googlegroups.com
I'm pretty new to sublime, and I'm still exploring it, and figuring out how much I should invest in learning it. I think I'll take a look at Atom as well.

Along "the remembers things for me" lines (and to give what I hope is an improved answer to the earlier question about what IDEs bring to the table), One thing I like about IDEs is the way a lot of things just turn into point'n'click or select operations, and a lot of supporting stuff just appears in an out of the way but convenient location when appropriate (such as function and/or library documentation for whatever the cursor is on or in at the moment). I wear too many hats to commit all but the most common shortcut keys to memory (along with shortcut keys that tend to mean the same thing in many applications).

An IDE lets me do things like refactor, look things up, build a project, check in/out of source control, etc, without having to know the intricate details of how to do any of those things. And they usually provide shortcut keys for those who like to work that way, but provide alternatives for those who don't.

Text editors on steroids tend to have lots of impedance mismatches, and require lots of memorization. Sublime has its command pallet thingie, which seems better than the typical text-editor case, but I'm not really sure how I feel about it yet.

An (good) IDE frees me up to think about things at a higher level. (example: instead of having to think "now whats the key sequence for jump to definition of this function?" (and this is only if the text-editor even knows what a "function" is in a given context); in and IDE I can just right-click over the function and select, "go to definition").

By way of a flawed analogy, the difference between text editors, and an IDE, is similar to the difference between a C programmer allocating, keeping track of, and freeing his own memory, vs using a language with garbage collection (and the corresponding holy wars).

Low Kian Seong

unread,
Apr 3, 2015, 12:14:25 AM4/3/15
to elixir-l...@googlegroups.com
+1 I love elixir-mode in Emacs. Just works no fuss no mess

Anne-Gwenn Kettunen

unread,
Apr 3, 2015, 12:48:13 AM4/3/15
to elixir-l...@googlegroups.com
I use VIM with vim-elixir, elixir-snippets, nerdtree and the badwolf
color scheme, and I just love it.

Matthew Purdon

unread,
May 26, 2015, 12:59:17 PM5/26/15
to elixir-l...@googlegroups.com, atk...@gmail.com
I have used and continue to use many editors and IDEs over the years and use vim (on remote boxes) or sublime (local quick edits) daily for small things but I wouldn't trade my IDE for anything (I currently use jetbrains intellij) when it comes to working on actual project deliverables and such. Maybe it's because I work on many different projects in several languages every week that I prefer the IDE as I can be productive as soon as I switch rather than trying to remember where everything is in this particular framework or application. Integration with unit tests and debugging as well as super refactoring features make an IDE so much more important than just a thing to type in. There is no perfect tool that does it all, but I think jetbrains does the most without the sluggish feel of Eclipse. Everyone I know that was an emacs die-hard - including the guy that wrote it - have moved away to sublime or an IDE now.

That being said, I constantly try new editors and revisit previous ones to see what's changed. For my current experiments in Elixir and Phoenix I am using atom and so far am happy enough with it that I don't feel the need to switch to anything else. Especially since I want to dig into the details of the language and framework at this point so I can learn them effectively.

Good luck!

Arie van Wingerden

unread,
Jun 7, 2015, 8:14:54 AM6/7/15
to elixir-l...@googlegroups.com
Atom editor has nice Elixir syntax highlighting plug-in + other Elixir plug-ins as well: https://atom.io/

--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.

Robert Stockdale

unread,
Jun 7, 2015, 10:56:18 AM6/7/15
to elixir-l...@googlegroups.com

+1

I recently made the switch from sublime to atom for my elixir development and it's working out very well.


Michael Simpson

unread,
Jun 7, 2015, 7:36:44 PM6/7/15
to elixir-lang-talk
I really like Spacemacs, it has elixir and alchemist modes built in. I think emacs is probably the best editor you can get for elixir.

Umur Ozkul

unread,
Apr 8, 2016, 2:41:38 PM4/8/16
to elixir-lang-talk, atk...@gmail.com
I am using KDE Kate. Full elixir highlightening and formatting support. Zen Programming Tools (Emmet) is built in. Turn on Plugins>Project and it's a full IDE. Bash shell is just built in the editor also (F4).

Andrei Dziahel

unread,
Apr 8, 2016, 3:42:50 PM4/8/16
to elixir-lang-talk, atk...@gmail.com
IDEA + elixir plugin (h.t. Luke Imhoff)

вторник, 23 июля 2013 г., 3:34:51 UTC+3 пользователь atkaaz написал:

Bradley O'Hearne

unread,
Apr 8, 2016, 6:01:59 PM4/8/16
to elixir-l...@googlegroups.com, atk...@gmail.com
On Tuesday, July 23, 2013 at 2:34:51 AM UTC+2, atkaaz wrote:
  I am interested in an editor(or ide even) to write elixir code in, but I want it to allow
me to easily navigate to definitions (like eclipse for java does ie. F3 to go to Declaration or Ctrl+Alt+H to find all calls to this method)
  What do you people use ?

Atom. 


I like it. 

Brad

Federico Carrone

unread,
Apr 8, 2016, 6:03:35 PM4/8/16
to elixir-lang-talk, atk...@gmail.com
I know you said you don't like emacs. However I wanted to point out that Emacs + yasnippet + company + elixir mode + alchemist is REALLY good. Autocompletion, snippets and iex shell inside emacs works really well. You really get a full powered IDE.

--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.

Marco Milanesi

unread,
Apr 8, 2016, 6:05:28 PM4/8/16
to elixir-l...@googlegroups.com, atk...@gmail.com
Same as Federico, however I use another flavour of emacs, spacemacs. If you are into vim keybindings you can give it a try.

Cheers

Reply all
Reply to author
Forward
0 new messages