Eclipse PDE - how to find method usages - eclipse-plugin

I've just started developing my first plugin so apologies if this is obvious.
I'm trying to write a plugin that gets method usages and does something with them.
I've seen references to CallHierarchy and SearchEngine. Which is the correct one to use these days and why, when I use "Open Type", can it not be found? Is there a dependency I'm missing or something?

These classes are part of the Eclipse JDT plugins and are not normally included in the search done by Open Type.
To get 'Open Type' to look everywhere for the classes open the Preferences and go to the 'Plug-in Development' page. Select the 'Include all plug-ins from target in Java search' option.
You will also need to install the Eclipse SDK to get the source of these plug-ins. The SDK is part of the Eclipse update site http://download.eclipse.org/eclipse/updates/4.7 for Eclipse Oxygen.

Related

How to check out a project from version control as a specific project type in IntelliJ IDEA?

I have a Salesforce project in GitHub that I want to check out in IntelliJ IDEA and use this as an Illuminated Cloud project. How do I do this?
I've used Eclipse with the Force.com IDE plugin before - there you can simply choose the project type and that you want to check out from the repository in one step so I think there should be a way to do this but neither me nor my colleagues are able to find it.
Any ideas?

How to properly import a Play 2+ project in IntelliJ 14+ with all integrated features (run, debug, test)?

I work on a Java based Play! project for severals months now and I'd like to import it completely in IntelliJ, meaning being able to run, compile, test and debug from IntelliJ, without the need to use the command line.
According to this post from Jetbrain, it seems to be possible, if I quote the article it says clearly : "Now you don’t need to switch between IntelliJ IDEA and Play console anymore. Everything is available right from your favorite IDE.", but I can't figure out a way to achieve this for now, even if I follow the tutorial provided by Jetbrains.
Here are the steps I've been throught :
Open my fav IDE IntelliJ ;)
Go to the project list window.
Import project
Import from external model and choose SBT as suggested in Jetbrains tutorial.
option "Use auto import" checked, option "create directories for empty content roots automatically" checked. Project SDK Java 1.7
Global sbt settings : JVM From project JDK.
Finish
By now, if I try to make the project and launch it from IntelliJ, I'll get scala compiling errors related to routes object. Thanks to this post, we can understand that this happens because scala routes are located to specific folders that needs to be included in IntelliJ sources settings for this project. So next step was :
File -> Project Structure -> Modules
Add target/scala-2.10/classes:target/scala-2.10/resources_managed:target/scala-2.10/src_managed as sources folders.
But my problem remains the same, routes object being unrecognized.
Notes : I have no scala facets in my project structure configuration nor can add one.
IntelliJ provides integrated support for the Play Framework for Scala and Java. Support is currently only available in IntelliJ Ultimate Edition (see the Frameworks and Technology section).
Assuming Ultimate Edition, the setup for Play is incredibly easy. Simply create a new project by importing build.sbt, then choose Add Framework Support and choose Play 2.
Once complete, you can start and stop Play using the Play 2 Run/Debug configuration. No command line necessary.
Here is a more in depth look at IntelliJ's Play project configuration.
You could try the command play idea if you are using play or activator idea if you are using activator. That will do the magic.

Is there an eclipse plugin for Play2?

I know there is one for play1, but I don't find any for play2.
I hope the plugin can compile the templates to scala code automatically. It's not convenient now.
I just came across Scala IDE Play2 plugin for Eclipse Indigo/Juno and Scala IDE. The current features are
Syntax Highlighting (routes and templates)
Code completion (templates)
Formatter (routes)
Hyperlinking (routes and templates)
Note that hyperlinking to Java files is not supported for now. Also there are some limitations for the code completion feature, just take some time to read the doc. I didn't try it myself as I'm not working with Play2 right now, but thought it might be helpful for someone.
Edit: This answer is outdated. A Play Eclipse plugin has been written, as #Baztoune says.
There is no Play 2 plugin for Eclipse at the time I’m writing these lines. However, there is an eclipsify sbt command, provided by the Play 2 sbt plugin, which is able to generate an Eclipse project from a Play 2 application.
You won’t get syntax highlighting, contextual completion or code navigation inside Play 2 templates, but you can have them to be automatically compiled when saved by using the ~run sbt command (instead of just run). Check the Eclipse “General −> Workspace −> Refresh using native hooks or polling” option is enabled so it will take compiled templates changes into account.
Yes, here's how to get started:
Find the correct update site for your version of Eclipse from http://scala-ide.org/download/current.html.
In Eclipse go to Help->Install New Software. Use the update site from above to locate Scala related plugins.
Install both the Scala IDE for Eclipse plugin and the Play2 support in Scala IDE plugin. Note that the Play2 support in Scala IDE plugin is listed under the Scala IDE plugins checkbox.
I was unable to get this working at all starting from bare Eclipse, as many sources have suggested doing. The problem seems to be incompatible dependencies that only show up after much wasted time. The Scala IDE route eliminated this problem.
Yes. That's Scala IDE.
Update Site for Eclipse Juno and Kepler: http://download.scala-ide.org/sdk/e38/scala210/stable/site
Install with the following features:
Scala IDE for Eclipse
Scala IDE Plugins (incubation)
I use Scala IDE from http://scala-ide.org/ , then eclipsify my play2 project and import.
It works like a charm: it compiles my scala/java code.
You can get more details at this URL http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

Eclipse plugin is listed with other plug-ins, but UI contributions are missing

I wrote two Eclipse plugins that work fine when I use Eclipse to run them in another instance of Eclipse. I'd like to distribute the plugins to a relatively small number of people for feedback and was hoping that the dropins folder would provide a quick and dirty solution. When I put the plugins in the dropins folder of my Eclipse installation (Indigo), I see the plugins listed with other plugins in the installation details. The UI contributions are missing and I haven't been able to find any error messages in the logs or otherwise.
As stated, I'm looking for a quick and dirty solution. I intend to build an update site in the future, but would prefer to invest time into that only after getting feedback on the plugins because this is a side project.
It sounds like your plugin is loaded, but isn't started. A 'quick and dirty' solution is to have it use the org.eclipse.ui.startup extention point so it is activated on startup.
Another possibility is that your UI additions just aren't activated for the perspective, which you can fix by running Window > Customize Perspective.

How to write an IntelliJ IDEA Plugin?

IDEA has many plugins to use. I.e. IDEtalk is one of them which I use. How can I code a simple plugin that just connects to Internet and shows a web page? (no need for an address bar but it is not a problem to be). I want my plugin's shortcut's button locate at my IDE as like IDEtalk, Commander, Maven Projects etc.
Any ideas?
Check the documentation and the source code of the other plug-ins available in the public git repository of the Community Edition.
There is a Creating Your First Plugin guide on JetBrains web site. It covers all the needed steps from plugin creation to deployment to the plugin repository.
You might also want take a look in the source code of a simple plugin like Twitter Integration Plugin which I recently implemented. Or check a more complex one like this one.