New custom type of run configuration
My project is a bit complicated and depends on some dynamically generated jni dependencies.
I figured that the best way to handle it would be to add a custom type of run configuration.
Where do I start?
Are there good (simple) examples of adding a custom type of run configuration?
Piotr Gabryanczyk
Please sign in to leave a comment.
Take a look at my plugin https://github.com/ishchenko/idea-nginx
Run configurations are pretty simple there.
I have been using your idea-nginx git project as a guide for my custom run configuration in my Idea plugin. Using your plugin as a guide, I was able to succesfully create the run configuration I needed. However, I need to attach the Idea console to my running process, and I'm a little unclear as to how I'm supposed to make the output of my execution be the output that shows up in the idea console, and the Idea-nginx project seems to have just a limited amount of output and does not provide a clear template for doing that. Do you know anything about how to do that? Thanks.
See the RunProfileState.execute() method and its return value, the ExecutionResult class. You need to return an instance of DefaultExecutionResult from this method, and to pass in a ProcessHandler instance to its constructor.
You can find an example here: https://github.com/JetBrains/intellij-plugins/blob/master/cucumber-java/src/org/jetbrains/plugins/cucumber/java/run/CucumberJavaRunConfiguration.java
Thanks! The tip helped. I was able to get the log panel to show up. I made my own ProcessHandler that extends ProcessHandler (since I don't have to do any OS level stuff, nor does it have to run in a seperate process) and wrote a method that starts my program. There was some hacky code where I attached the output of my program to the ConsoleView object, but besides that it all worked pretty well.