Groovy cannot be enabled for project its library isn't configured - intellij-idea

I'm following some tutorial to explore creating IntelliJ Platform Plugin. The interface as below
Upon clicking the Groovy checkbox, and click next, an error as below appear.
Clearly it needs some library. Where could I get the library? (I click Create..., it open the current folder. I don't know what to select from there)

You need to download library from official site: http://groovy-lang.org/download.html and them select it after pressing "Create..."

Related

IntelliJ IDEA shows decompiled .class instead of documentation

I am using same version of IntelliJ IDEA (2016.3.5) on Windows and Linux. The problem is that on Linux IntelliJ IDEA doesn't show java documentation after clicking "Ctrl" + left mouse button , but it shows decompiled .class file. It's not big problem but it's annoying. What may be wrong? I tried to restore default settings but it didn't help.
You're not showing docs, you're drilling down into the implementation of a library method. You haven't attached the sources for the library, so the ide has no choice but to decompile the code in order to let you see the method you're trying to reach. If you're using maven you can download the sources and then when you drill down you'll see real code. Restoring default settings won't help, because this is how its meant to work.
Further; when IntelliJ shows documentation (ctrl-q on my machine) it tries to build the javadocs directly from the source, not from the published javadocs which it ignores. This is another reason to download the sources along with your libs.
BTW: When you 'release' your own libs to your corporate repo you should be building and releasing sources too, so that the users of your libs get the ability to drill down into the implementation, and so that they get access to your api's javadocs.

How to import and run existing plugins from intellij community edition repo

I'm trying to import and run the IntelliJ git4idea (Git Integration) plugin in order to play around and contribute some of my own code.
I've pulled the Intellij community edition from the github repo, and imported the git4idea plugin as a project. I'm running the Intellij community edition
My main issue is this:
After importing all the modules, the git4idea module comes up as a general module type, and not a plugin module type.
This means that when trying to create a new run\debug configuration, I get [none] under "Use classpath of module", instead of of the ability to select the git4idea plugin. This obviously results in a "Run configuration error: no plugin module specified for configuration".
So the question is -
How can I change the general type of imported "git4idea" to plugin type?
Or better yet, what are the steps required in order to import and build/debug/run a plugin from the Intellij community edition repo?
I was able to solve this by manually reordering file directories, sorting out dependencies and editing the .iml file. The type of plugin is defined by changing type="JAVA_MODULE" to type="PLUGIN_MODULE".
...
This is the answer given by Dmitry Jemerov on the official Jetbrains plugin development forum:
The easiest answer to this is "don't". The IntelliJ IDEA Community
Edition project is set up to be developed as a whole, and the
dependencies are set up accordingly. If you want to hack on the Git
plugin, you simply run IDEA using the provided run configuration, it
runs with all plugins enabled, and you simply make whatever changes
you need and test them using the main run configuration.
If you really want, you can set up a new plugin module and point it to
the source code of the git4idea plugin inside the IntelliJ IDEA
Community Edition Git checkout. This is not too hard, but it's
something you'll need to do from scratch, and you can't use the
existing .iml file.
I had the same no plugin module specified for configuration issue. To work around it, instead of importing, I created a new plugin project and used the existing code directory.
when you import the intelij plugin projects
You should run the 'runIde' task in gradle.
Step-by-step instruction
Build your IDEA plugin (usually done with gradle build).
Start Intellij IDEA.
If you have any project opened, go to menu "File->Close all projects" to return to Intellij IDEA startup screen.
Install the plugin you've just built: on the left side of the "Welcome to Intellij IDEA" startup screen go to "Plugins", then click "gear" icon on the right side, it's located to the right of "Marketplace" and "Installed". From the pop-up menu select "Install Plugin from Disk...", navigate to plugin file (usually in build folder) and click "Ignore and continue" when you see the warning message saying something about signature.
Restart Intellij IDEA.
Open the folder with your IDEA plugin.
Wait until IDEA imported your Gradle project.
Put breakpoints inside your plugin code so you can debug it.
Go to menu "Run->Edit configurations".
In the "Run/Debug Configurations" window on the left side click "+".
Select "Gradle" from the pop-up menu.
On the right side change "Name" to "gradle-run-ide" (without quotes).
On the right side under "Run", inside "Tasks and arguments" field enter runIde ("i" must be capital, other letters small).
Click "OK" to save changes.
Go to menu "Run->Debug 'gradle-run-ide'".
A new, black-colored IDEA window should appear.
In this black-colored IDEA window do whatever you need to do in order to invoke methods of your plugin. When you invoke them, the first IDEA window should stop you on breakpoints you set previously.
Happy debugging.
After changing type="JAVA_MODULE" to type="PLUGIN_MODULE" in *.iml file I was getting following error -
Error running 'IdeaPlugin': Wrong SDK type for plugin module
To fix this go to -
Module Settings -> Platform settings -> SDKs.
Click on Add new SDK
Select Intellij Platform plugin SDK
For home directory select your Inetllij installation dir
Select JAVA SDK you want to use with it.
Once this is added got to Module Settings again
Module Settings -> Project settings -> project.
In Project SDK change the JAVA sdk to the SDK we just added in the above steps.
Run/Debug you plugin now.

how to hide files from package explorer

Hi all
I am developing a plugin where i m creating project through my own wizard.
I have used javaElementFilters to hide my file named device-configs.xml.
It only works with eclipse helios sdk versions.
Can anyone suggest me better way to hide file?
Or other extension point that can work in all eclipse versions of 3.6 & also in MyEclipse also?
Make sure that you have Package Explorer opened
Select View Menu on the top of the Package Explorer view
Select filters
Enter your pattern and click OK
Files should be hidden.
Right click on the project, then go Properties, then Resource > Resource Filters and add a exclude filter.
The javaElementFilters work only in the Views supplied by JDT and it should work in all the versions. What do you mean by "only works with eclipse helios sdk versions"?

New>Generic problem in Eclipse Helios no other attributes

When I am trying to use eclipse Helios for plug-in development,I am not getting any attributes beside generic in any new RCL option. I have gone through net and found to download the source code but there is no way to append the same in Helios. Please suggest
You can install Eclipse RCP Plug-in Developer Resources via Eclipse update site
The shortest way to do it is:
Download the helios version for RCP developers from the eclipse web site.
Open target platform from the preferences menu.
Click "add" to add a new target platform.
"Nothing" is chosen for default target platform creation. Click next
On the new window click on the locations tab.. Click add , on the pop up window click directory and browse the plugin directory of eclipse for RCP developers (This version of helios includes the necessary plugin sources inside) and click finish
On the "implicit dependencies" tab show all the plugins added (choose all plugins)
and then click finish and close the wizard window.
Finally choose the new target platform configuration you have just created.
Now you can see all the new attributes beside generics (related to the plugin)
Download the SDK plugins from:
http://download.eclipse.org/eclipse/updates/4.3/

Eclipse Plugin API: how can I add javadoc support for specific platform plugins?

using Eclipse 3.4 Ganymede and I cannot find the way to add javadoc support for all platform plugin apis, but specifically to JFace e Ui Forms packages.
Opening the property panel of any jar linked to the library named "plug-in dependecies" I receive the following message into the "Javadoc location" node:
The current class path entry belongs to container 'Plug-in Dependencies'
wich does not allow user modifications to Javadoc locations in its entries"...
what does it mean, that I must re-build Eclipse with some wired javadoc location?
If you have the eclipse SDK "classic", "RCP/Plugin" or "Modeling" installed, that means sources for the eclipse plugins are included.
While it is true you cannot setup Javadoc for those plugins, you still access to that documentation since the sources are here, fully "Java-documented".
If there are no sources, you still can import all eclipse plugins with their sources in a dedicated workspace.
alt text http://www.vogella.de/articles/EclipseCodeAccess/images/eclipsesource30.gif
I'm using eclipse 3.4.2 with visual editor 1.4.0.
For some reason, my eclipse doesn't find the swt javadocs by default and the "import plugins method" does not work.
But I found a work arround:
Project Properties -> Java Build Path -> Libraries -> Add External Jar
add /plugins/org.eclipse.swt.gtk.linux.x86_64.3.4.1.v3452b.jar
edit the "source attachment" to org.eclipse.swt.gtk.linux.x86_64.source_3.4.1.v3452b.jar
Press ok. Note, that you are now using swt "twice" :O)
If it is still not working, go to the same dialog, remove the "Standard Widget Toolkit (SWT)" and press ok. Return to the dialog and add it again with the button "Add Library" -> SWT -> IDE Platform. Press ok. Close all Visual Editors. And go to Project -> Clean...
Now you the Javadocs are displayed directly in Eclipse and Visual Editor still works.