Robot Framework Plugin for IntelliJ started

2,532 views
Skip to first unread message

Stephen Abrams

unread,
Dec 3, 2013, 12:33:12 PM12/3/13
to robotframe...@googlegroups.com
Hello all,

My company recently had an overnight 'hackmatch' and a group of us decided to write a plugin for IntelliJ to support Robot Framework. It is fairly limited at present, written to support Robot text files the way our team is accustomed to writing them, but its a great start - we're already using it day-to-day. We'd love to see others use and contribute to this plugin. 

Anyone interested could probably install it and get limited support, depending on how you write your Robot files.


For anyone interested in developing the plugin further:
- We used the Cucumber-JVM plugin as a reference point: https://github.com/JetBrains/intellij-plugins



Pekka Klärck

unread,
Dec 3, 2013, 2:43:55 PM12/3/13
to Stephen Abrams, robotframework-users
2013/12/3 Stephen Abrams <Abrams....@gmail.com>:
>
> My company recently had an overnight 'hackmatch' and a group of us decided
> to write a plugin for IntelliJ to support Robot Framework. It is fairly
> limited at present, written to support Robot text files the way our team is
> accustomed to writing them, but its a great start - we're already using it
> day-to-day. We'd love to see others use and contribute to this plugin.
>
> Anyone interested could probably install it and get limited support,
> depending on how you write your Robot files.
>
> https://github.com/millennialmedia/intellibot

Awesome!! Have you tested does the plugin also work with JetBrains
PyCharm? I use it for most of my Python coding and having Robot plugin
on it would be sweeeet!

> For anyone interested in developing the plugin further:
> - We used the Cucumber-JVM plugin as a reference point:
> https://github.com/JetBrains/intellij-plugins
> - http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment
> - http://www.jetbrains.org/display/IJOS/Writing+Plug-ins

Looks good. Have you considered could this plugin and the Eclipse
plugin <https://github.com/NitorCreations/RobotFramework-EclipseIDE>
possibly share some code? I have zero experience developing IDE
plugins, but I would assume it's possible to have at least some of the
business logic decoupled so that it could be reused across different
plugins. Possibly stuff like parsing the data could even be extracted
to a separate project so that it could be used also for other
purposes.

Cheers,
.peke
--
Agile Tester/Developer/Consultant :: http://eliga.fi
Lead Developer of Robot Framework :: http://robotframework.org

Pekka Klärck

unread,
Dec 3, 2013, 4:26:12 PM12/3/13
to Stephen Abrams, robotframework-users
[Add robotframework-users back to Cc.]

2013/12/3 Stephen Abrams <Abrams....@gmail.com>:
> On Tue, Dec 3, 2013 at 2:43 PM, Pekka Klärck <pe...@iki.fi> wrote:
>>
>> Awesome!! Have you tested does the plugin also work with JetBrains
>> PyCharm? I use it for most of my Python coding and having Robot plugin
>> on it would be sweeeet!
>
>
> I just gave it a shot and it does not work out of the box - I'm hoping its
> all in the configuration
> (http://confluence.jetbrains.com/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products).
> I'll take a look.

Great, thanks! If you need to think about versions, I would say that
at least with PyCharm supporting only 3+ is fine.



>> > For anyone interested in developing the plugin further:
>> > - We used the Cucumber-JVM plugin as a reference point:
>> > https://github.com/JetBrains/intellij-plugins
>> > - http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment
>> > - http://www.jetbrains.org/display/IJOS/Writing+Plug-ins
>>
>> Looks good. Have you considered could this plugin and the Eclipse
>> plugin <https://github.com/NitorCreations/RobotFramework-EclipseIDE>
>> possibly share some code? I have zero experience developing IDE
>> plugins, but I would assume it's possible to have at least some of the
>> business logic decoupled so that it could be reused across different
>> plugins. Possibly stuff like parsing the data could even be extracted
>> to a separate project so that it could be used also for other
>> purposes.
>
> There may be some gems in there for sure. We were hoping to plug the Python
> lexer you had written, but found that the IntelliJ lexer goes token by
> token, where yours used a line by line approach. It was effective for us to
> extract the spec, however.

Unfortunate you couldn't use the lexer but great that it worked as a
spec. Is our new lexer tied to IntelliJ or could it possibly be used
by others too?

Stephen Abrams

unread,
Dec 3, 2013, 8:45:19 PM12/3/13
to pekka....@gmail.com, robotframework-users
On Tue, Dec 3, 2013 at 4:26 PM, Pekka Klärck <pe...@iki.fi> wrote:
[Add robotframework-users back to Cc.]


>> Awesome!! Have you tested does the plugin also work with JetBrains
>> PyCharm? I use it for most of my Python coding and having Robot plugin
>> on it would be sweeeet!
>
>
> I just gave it a shot and it does not work out of the box - I'm hoping its
> all in the configuration
> (http://confluence.jetbrains.com/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products).
> I'll take a look.

Great, thanks! If you need to think about versions, I would say that
at least with PyCharm supporting only 3+ is fine.
 
All set! Latest commit allows the plugin to work with PyCharm (remember our support is still limited - I've noticed some significant stability bugs) 




>> > For anyone interested in developing the plugin further:
>> > - We used the Cucumber-JVM plugin as a reference point:
>> > https://github.com/JetBrains/intellij-plugins
>> > - http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment
>> > - http://www.jetbrains.org/display/IJOS/Writing+Plug-ins
>>
>> Looks good. Have you considered could this plugin and the Eclipse
>> plugin <https://github.com/NitorCreations/RobotFramework-EclipseIDE>
>> possibly share some code? I have zero experience developing IDE
>> plugins, but I would assume it's possible to have at least some of the
>> business logic decoupled so that it could be reused across different
>> plugins. Possibly stuff like parsing the data could even be extracted
>> to a separate project so that it could be used also for other
>> purposes.
>
> There may be some gems in there for sure. We were hoping to plug the Python
> lexer you had written, but found that the IntelliJ lexer goes token by
> token, where yours used a line by line approach.  It was effective for us to
> extract the spec, however.

Unfortunate you couldn't use the lexer but great that it worked as a
spec. Is our new lexer tied to IntelliJ or could it possibly be used
by others too?
The interfaces exposed to write the plugin seem to couple the implementation to JetBrains plugins pretty tightly. I'm guessing an adapter would be possible. I don't believe the Cucumber-JVM impl makes use of the Gherkin lexer either (https://github.com/cucumber/gherkin), but would be worth another look.

Pekka Klärck

unread,
Dec 4, 2013, 4:50:53 AM12/4/13
to Stephen Abrams, robotframework-users
2013/12/4 Stephen Abrams <Abrams....@gmail.com>:
>
> All set! Latest commit allows the plugin to work with PyCharm (remember our
> support is still limited - I've noticed some significant stability bugs)

Awesome! I definitely need to test this out.

> The interfaces exposed to write the plugin seem to couple the implementation
> to JetBrains plugins pretty tightly. I'm guessing an adapter would be
> possible. I don't believe the Cucumber-JVM impl makes use of the Gherkin
> lexer either (https://github.com/cucumber/gherkin), but would be worth
> another look.

I was actually thinking could your lexer be reused by others using
Java. That's obviously a yagni right now, extracting it to a separate
project can be done later if there's a concrete need.

Deville_RobotUser

unread,
Feb 18, 2014, 6:20:25 PM2/18/14
to robotframe...@googlegroups.com, abrams....@gmail.com
Hi, thanks a lot for this plugin !
I recently started using Jetbrains IDEs (RubyMine and Pycharm) and I find this plugin very interesting (and it works for both !):)
I just have 1 remark concerning the automatically detected files : it seems the extension of the files has to be .robot to have the plugin work.
Can the plugin be configured so that .txt files may also be considered ?! (I share several hundred of tests with other QAs of my company, and renaming all the tests may be an issue :(
Thanks for your answer / support !
Cheers
Jean-Charles Deville

Regis Desgroppes

unread,
Mar 14, 2014, 2:19:32 PM3/14/14
to robotframe...@googlegroups.com, abrams....@gmail.com
Hi,
Wow, now we have 2 published plugins from competing efforts:
* http://plugins.jetbrains.com/plugin/7386
* http://plugins.jetbrains.com/plugin/7415
... I'll give a try to both and decide from both usability and ease of maintenance considerations.
Regards,
Regis

Ariel Cossio

unread,
Mar 14, 2014, 3:21:22 PM3/14/14
to rdesg...@gmail.com, robotframe...@googlegroups.com, abrams....@gmail.com
Hi Jean-Charles Deville, you can change the file types for Robot Feature Files in the Settings section to have .txt files recognized by the plugin.  At least that works in PyCharm.

Regards,
Ariel


--
You received this message because you are subscribed to the Google Groups "robotframework-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robotframework-u...@googlegroups.com.
To post to this group, send email to robotframe...@googlegroups.com.
Visit this group at http://groups.google.com/group/robotframework-users.
For more options, visit https://groups.google.com/d/optout.

Deville, Jean-Charles

unread,
Mar 17, 2014, 9:40:16 AM3/17/14
to ariel....@gmail.com, rdesg...@gmail.com, robotframe...@googlegroups.com, abrams....@gmail.com

Yep it works fine indeed J

Thanks Ariel for this information.

Cheers

JCDeville

-----------------------------------------
Moody's monitors email communications through its networks for regulatory compliance purposes and to protect its clients, employees and business and where allowed to do so by applicable law. Parties communicating with Moody's consent to such monitoring by their use of the email communication. The information contained in this e-mail message, and any attachment thereto, is confidential and may not be disclosed without our express permission. If you are not the intended recipient or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution or copying of this message, or any attachment thereto, in whole or in part, is strictly prohibited. If you have received this message in error, please immediately notify us by telephone, fax or e-mail and delete the message and all of its attachments. Thank you. Every effort is made to keep our network free from viruses. You should, however, review this e-mail message, as well as any attachment thereto, for viruses. We take no responsibility and have no liability for any computer virus which may be transferred via this e-mail message. 
-----------------------------------------
Reply all
Reply to author
Forward
0 new messages