Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A plugin for IntelliJ IDEA which supports development of Play framework applications.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 META-INF
Octocat-spinner-32 resources
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
Octocat-spinner-32 myideaplugin.iml
README.md

Features

Library creation support

Choose a Play distribution directory in the file chooser and the plugin automatically adds appropriate jars, source-roots to the library.

Syntax highlighting

  • Play template

How to develop

Get source code of IntelliJ IDEA Community Edition git clone git://git.jetbrains.org/idea/community.git idea

Check out the code with the same version as your IDEA. I use CE 107.322 for running /debugging the plugin, so: cd idea git checkout idea/107.322

Add IDEA SDK. As SDK contains the jars only, you should manually add the source code obtained above, to the SKD Library.

Useful plugins

  • JFlex Support, for editing .flex files.
  • Markdown, for editing this README :D

How to build

Add the following plugins' jars to the module:

  • Groovy (plugins/Groovy)
  • Properties Support (plugins/properties)
  • Ant Support (plugins/ant) with Ant (idea/lib/ant/lib/*.jar)
  • IntelliLang (plugins/IntelliLang)
  • Copyright (plugins/copyright)

Right click on the plugin's module, choose "Prepare Plugin Module '' For Deployment", then you will get the plugin's jar.

A trouble shooting for JFlex Support plugin user

The JFlex support plugin automatically tries to compile .flex files while building the plugin. If you get JFlex home path is invalid error trying to run/debug the plugin, you should go Settings > JFlex and set proper path to JFlex. Unfortunately, JFlex is not contained in IntelliJ IDEA binaries, but source code.

To find JFlex, you need to checkout IDEA's source code following the above How to develop section of this README. Then, set both Path to JFlex and Skeleton file in Settings. For me, a mac user, they were:

Path to JFlex: /Users/mumoshu/Sources/idea/tools/lexer/jflex-1.4

Skeleton file: /Users/mumoshu/Sources/idea/tools/lexer/jflex-1.4

/Users/mumoshu/Sources/idea is the source root.

How to debug

Go to "Run > Edit Configurations" and click "+" in upper left of the window to open "Add New Configuration", then choose "Plugin".

You should add -XX:MaxPermSize=512m to VM Parameters not to get "Out of memory error: PermGen" while debugging.

Finally, go to "Run > Run" and choose the configuration you just added in above instruction. An another instance of IDEA will run with the developing plugin installed.

How to run tests

Select any test case class you want to run, then go to "Run > Run" and choose the item with the same name as the test case class you have chosen.

References

Source for simple language plugin :: JetBrains Developer Community

codingbox/idea-parser3 - GitHub

List of IDEA's extension points

http://git.jetbrains.org/?p=idea/community.git;a=tree;f=platform/platform-resources/src/META-INF;h=7950420563a22639169abf772572e062a1184226;hb=HEAD

Language Extension Points

Advices from Peter Gromov @ Jetbrains implementing Play Template language plugin

JetBrains Developer Community: Example of a custom language plugin for...

La Closure's parser is simple and can be reference implementation of a custom language parser

How do I write a parser? :: JetBrains Developer Community

Jetbrain's official guide for plugin development

(http://confluence.jetbrains.net/display/IDEADEV/PluginDevelopment)

Jetbrain's official FAQ for plugin development

(http://confluence.jetbrains.net/display/IDEADEV/Plugin+Development+FAQ)

How to write plugin.xml

(http://www.jetbrains.com/idea/plugins/plugin_structure.html)

Finally...

Google everything you want to know with "site:devnet.jetbrains.net".

Something went wrong with that request. Please try again.