[erlang-questions] Erlang plugin for IntelliJ IDEA

517 views
Skip to first unread message

Sergey Ignatov

unread,
Jul 25, 2012, 11:22:25 AM7/25/12
to erlang-q...@erlang.org
Hi all,

Today I'm happy to announce the pre-alpha version of Erlang support
plugin for IntelliJ Platform based products, e.g. IntelliJ IDEA,
RubyMine etc.

At the moment there are such basic features:
- Syntax and errors highlighting
- References resolving
- Code completion for functions, records and variables
- Keyword code completion
- Rename refactoring for modules, functions, records and variables
- Safe delete refactoring
- Structure view
- Find usages
- Code commenting/uncommenting
- Brace matching
- Basic code formatter

Plugin page in IntelliJ repository:
http://plugins.jetbrains.com/plugin/?pluginId=7083
Source code: https://github.com/ignatov/intellij-erlang

If you are interesting in this pluging, feel free to use the issue
tracker: https://github.com/ignatov/intellij-erlang/issues

Stay tuned.

Cheers,
Sergey Ignatov
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions

Jan Burse

unread,
Jul 25, 2012, 12:30:21 PM7/25/12
to erlang-q...@erlang.org
Sergey Ignatov schrieb:
> Hi all,
>
> Today I'm happy to announce the pre-alpha version of Erlang support
> plugin for IntelliJ Platform based products, e.g. IntelliJ IDEA,
> RubyMine etc.
>
> At the moment there are such basic features:
> - Syntax and errors highlighting
> - References resolving
> - Code completion for functions, records and variables
> - Keyword code completion
> - Rename refactoring for modules, functions, records and variables
> - Safe delete refactoring
> - Structure view
> - Find usages
> - Code commenting/uncommenting
> - Brace matching
> - Basic code formatter
>
> Plugin page in IntelliJ repository:
> http://plugins.jetbrains.com/plugin/?pluginId=7083
> Source code: https://github.com/ignatov/intellij-erlang
>
> If you are interesting in this pluging, feel free to use the issue
> tracker: https://github.com/ignatov/intellij-erlang/issues
>
> Stay tuned.
>
> Cheers,
> Sergey Ignatov
>

Cool, what is the license of the plugin?

Roberto Ostinelli

unread,
Jul 25, 2012, 9:43:31 PM7/25/12
to Sergey Ignatov, erlang-q...@erlang.org
may i ask you why you decided to start another plugin, instead of contributing to one of the existing projects that is?

do you plan on supporting testings? that's the reason that made me start sublimerl.

r.

Prashant Sharma

unread,
Jul 26, 2012, 12:54:40 AM7/26/12
to Roberto Ostinelli, erlang-q...@erlang.org
Robert ,

Do we have something of that sort for emacs? (code completion etc..)

Tim Watson

unread,
Jul 26, 2012, 1:40:18 AM7/26/12
to Prashant Sharma, erlang-q...@erlang.org, Roberto Ostinelli

On 26 Jul 2012, at 05:54, Prashant Sharma <meetpra...@gmail.com> wrote:

> Robert ,
>
> Do we have something of that sort for emacs? (code completion etc..)
>

Yes. Look at distel. It can be extended easily too.

Tim Watson

unread,
Jul 26, 2012, 1:47:57 AM7/26/12
to Roberto Ostinelli, Sergey Ignatov, erlang-q...@erlang.org

On 26 Jul 2012, at 02:43, Roberto Ostinelli <rob...@widetag.com> wrote:

may i ask you why you decided to start another plugin, instead of contributing to one of the existing projects that is?


I suspect it was because the IntelliJ extension framework provides a very rich environment for binding, indexing and working with complex metadata, linking this to the editor and providing superlative navigation and refactoring capabilities. A lot of the donkey work is done for you already with IntelliJ.

Personally what I would love to see is some standard Apis emerge for useful operations that all the editors require. This is probably the most realistic sharing of code between different environments being developed in parallel.

Die hard emacs users are unlikely to move because they do everything in emacs. The same is likely true for vi users. Having a common framework for working with otp code and metadata based on syntax tools et al is probably the best way for all the IDE efforts to help one another.

Roberto Ostinelli

unread,
Jul 26, 2012, 2:32:32 AM7/26/12
to Tim Watson, Sergey Ignatov, erlang-q...@erlang.org
Right now, this plugin is still providing basic editor functionalities, and there are many out there doing the same thing.

Don't get me wrong, though. I do like IntelliJ: I use RubyMine on a daily basis and I'd love to see the same thing for Erlang. But what I really need is the ability to run *tests* in a seamless manner as in RubyMine. This is why I've implemented SublimErl.

Therefore my question: does the author plan to support testing in the way RubyMine is? That';s something I'd be interested in hearing about.

r.

Andrzej Sliwa

unread,
Jul 26, 2012, 2:47:05 AM7/26/12
to Roberto Ostinelli, Sergey Ignatov, erlang-q...@erlang.org
maybe because not all of us like sublime text…
maybe because some of use using rubymine or intellij and wants to have only one tool…

c'mon could be a 1000 good reasons

same question question for you…
why you decide to make own one for sublime instead improve existing already erlang-mode with distel in emacs :P 

Roberto Ostinelli

unread,
Jul 26, 2012, 3:19:55 AM7/26/12
to Andrzej Sliwa, Sergey Ignatov, erlang-q...@erlang.org
same question question for you…
why you decide to make own one for sublime instead improve existing already erlang-mode with distel in emacs :P 
 
because i haven't found a single editor where on a single key press you can *run tests* within the editor itself. i said this three times already.

1000 reasons don't make up for concentrating open source efforts on fewer projects and have a single *good* one.

same story, different repos (yes, i'm talking about misultin & co).

r.

Tim Watson

unread,
Jul 26, 2012, 3:23:10 AM7/26/12
to Roberto Ostinelli, Sergey Ignatov, erlang-q...@erlang.org

On 26 Jul 2012, at 07:32, Roberto Ostinelli <rob...@widetag.com> wrote:

Right now, this plugin is still providing basic editor functionalities, and there are many out there doing the same thing.

Don't get me wrong, though. I do like IntelliJ: I use RubyMine on a daily basis and I'd love to see the same thing for Erlang. But what I really need is the ability to run *tests* in a seamless manner as in RubyMine. This is why I've implemented SublimErl.

Therefore my question: does the author plan to support testing in the way RubyMine is? That';s something I'd be interested in hearing about.


Yeah be too. I might even chip in and contribute to the plugin if the author's amenable.

Sergey Ignatov

unread,
Jul 26, 2012, 4:26:17 AM7/26/12
to Andrzej Sliwa, erlang-q...@erlang.org, Roberto Ostinelli
Hi guys,

Thanks for discussion.
Yesterday's release had the main goal: to get feedback from users. So, I got it.

Tim said very good words about tools development:


> I suspect it was because the IntelliJ extension framework provides a very rich environment for binding, indexing and working with complex metadata, linking this to the editor and providing superlative navigation and refactoring capabilities. A lot of the donkey work is done for you already with IntelliJ.
> Personally what I would love to see is some standard Apis emerge for useful operations that all the editors require. This is probably the most realistic sharing of code between different environments being developed in parallel.
> Die hard emacs users are unlikely to move because they do everything in emacs. The same is likely true for vi users. Having a common framework for working with otp code and metadata based on syntax tools et al is probably the best way for all the IDE efforts to help one another.

I started Erlang plugin for IntelliJ because it's much easy to create
a good language support than in another platform. And sure, I prefer
IntelliJ for product development.

Roberto, I probably got your point: provides a unit tests runner like
IndelliJ and RubyMine does, right?

Some words about future plans: I would like to get feedback from
users to issue tracker, sort issues by priority and begin to implement
them as far as possible.
But I'm limited in my time/resources because this plugin is my pet
project, not a full time job.
Possibly, I'll develop Erlang plugin as `20% project` at my work.

Once again, If you are interested in my project, please create issues
with bugs or feature requests in the issue tracker:
https://github.com/ignatov/intellij-erlang/issues

I beleive that plugin can grow into a full-fledged Erlang language support.

Sergey Ignatov

Francesco Mazzoli

unread,
Jul 26, 2012, 10:50:20 AM7/26/12
to Andrzej Sliwa, Sergey Ignatov, erlang-q...@erlang.org, Roberto Ostinelli
At Thu, 26 Jul 2012 00:19:55 -0700,
Roberto Ostinelli wrote:
> because i haven't found a single editor where on a single key press you can
> *run tests* within the editor itself. i said this three times already.

You can do that in any decent extensible editor, given enough effort. And it's
probably really easy in emacs, given that you already have distel. There are
far more complex programs written in elisp that executing some commands to run
some tests.

--
Francesco * Often in error, never in doubt

Roberto Ostinelli

unread,
Jul 26, 2012, 11:04:43 AM7/26/12
to Francesco Mazzoli, Sergey Ignatov, erlang-q...@erlang.org
On Thu, Jul 26, 2012 at 7:50 AM, Francesco Mazzoli <f...@mazzo.li> wrote:
At Thu, 26 Jul 2012 00:19:55 -0700,
Roberto Ostinelli wrote:
> because i haven't found a single editor where on a single key press you can
> *run tests* within the editor itself. i said this three times already.

You can do that in any decent extensible editor, given enough effort.  And it's
probably really easy in emacs, given that you already have distel.  There are
far more complex programs written in elisp that executing some commands to run
some tests.

let me summarize this:

1. no 'key press' test support *existed* in *any* editor, out of the box
2. i chose one and added it.

you are telling me that "you can do that in any decent extensible editor, given enough effort".

what is your point exactly?

r.

Roberto Ostinelli

unread,
Jul 26, 2012, 11:05:18 AM7/26/12
to Sergey Ignatov, erlang-q...@erlang.org
Roberto, I probably got your point: provides a unit tests runner like
IndelliJ and RubyMine does, right?

 indeed ^^_

r.

Francesco Mazzoli

unread,
Jul 26, 2012, 11:14:19 AM7/26/12
to Roberto Ostinelli, Francesco Mazzoli, Sergey Ignatov, erlang-q...@erlang.org
At Thu, 26 Jul 2012 08:04:43 -0700,

Roberto Ostinelli wrote:
> 1. no 'key press' test support *existed* in *any* editor, out of the box

The key press part is trivial - once you have the functionality in place. But
that's not the point.

> 2. i chose one and added it.
>
> you are telling me that "you can do that in any decent extensible
> editor, given enough effort".
>
> what is your point exactly?

You asked the author of the IntelliJ plugin why he would do that and not
contribute to existing projects.

The same can be asked to you, since you decided to extend SublimeText while a
lot of groundwork was already there for emacs (which is a far more widespread
editor, and more importantly a free one).

Tim Watson

unread,
Jul 26, 2012, 11:21:03 AM7/26/12
to Sergey Ignatov, Roberto Ostinelli, erlang-q...@erlang.org

On 26 Jul 2012, at 09:26, Sergey Ignatov <igna...@gmail.com> wrote:

>
> Once again, If you are interested in my project, please create issues
> with bugs or feature requests in the issue tracker:
> https://github.com/ignatov/intellij-erlang/issues
>
> I beleive that plugin can grow into a full-fledged Erlang language support.
>

Will you take pull requests?

Sergey Ignatov

unread,
Jul 26, 2012, 11:43:55 AM7/26/12
to Tim Watson, Roberto Ostinelli, erlang-q...@erlang.org
On 26 July 2012 19:21, Tim Watson <watson....@gmail.com> wrote:
> Will you take pull requests?
Sure, I will.

Roberto Ostinelli

unread,
Jul 26, 2012, 12:16:05 PM7/26/12
to Francesco Mazzoli, Sergey Ignatov, erlang-q...@erlang.org
You asked the author of the IntelliJ plugin why he would do that and not
contribute to existing projects.

The same can be asked to you, since you decided to extend SublimeText while a
lot of groundwork was already there for emacs (which is a far more widespread
editor, and more importantly a free one).

i asked the author "why have you started a project similar to many existing ones".
you now ask me "why did you pick sublime text as your baseground to implement new stuff".

these are not the 'same' question. :)

that being said, i am not interested in pursuing this debate. i love intellij and will be providing feedback to the author, and see where we get from there.

r. 

Toby Thain

unread,
Jul 26, 2012, 10:09:50 PM7/26/12
to erlang-q...@erlang.org
On 25/07/12 11:22 AM, Sergey Ignatov wrote:
> Hi all,
>
> Today I'm happy to announce the pre-alpha version of Erlang support
> plugin for IntelliJ Platform based products, e.g. IntelliJ IDEA,
> RubyMine etc.
>

This sounds great - can it backport to IDEA 9.0.4 (OS X PowerPC)?

regards
--Toby

Tim Watson

unread,
Jul 27, 2012, 2:31:11 AM7/27/12
to Sergey Ignatov, Roberto Ostinelli, erlang-q...@erlang.org
Cool. :)

Bryan Hughes

unread,
Jul 28, 2012, 11:42:35 AM7/28/12
to Sergey Ignatov, Erlang
This is very exciting.  Thanks for taking on the challenge.

We are an Erlang, Android and iOS shop and so the promise of having an Erlang plugin for IntelliJ by one of the Jetbrain guys makes me very happy.  We use IntelliJ (the best IDE ever) and AppCode (which is really good and becoming very solid very quickly). 

Okay, stupid question here.  I installed the plug-in to Idea 11.1 but how do I import my current erlang project?  After restarting Idea, and closing my existing projects, creating a new project from scratch or over existing sources doesnt seem to work.

Cheers,
Bryan
--

Bryan Hughes
Master Spoonbender / Wobblesoft
(415) 515-7916

http://www.wobblesoft.com

Max Bourinov

unread,
Jul 29, 2012, 3:39:32 AM7/29/12
to Bryan Hughes, Sergey Ignatov, Erlang
Hi Sergey,

Great news! Will your plugin support rebar (project configuration, deps. etc)? For it is the must feature.

Best regards,
Max

Sergey Ignatov

unread,
Jul 29, 2012, 4:33:49 PM7/29/12
to Max Bourinov, Erlang
On 29 July 2012 11:39, Max Bourinov <bour...@gmail.com> wrote:
> Hi Sergey,
>
> Great news! Will your plugin support rebar (project configuration, deps.
> etc)? For it is the must feature.

I have a feature request in the issue tracker:
https://github.com/ignatov/intellij-erlang/issues/9
Will be greate if someone add additional information about rebar support.

After that I'll start to implement this issue.
Reply all
Reply to author
Forward
0 new messages