Friday, March 13, 2009

JetBrains gone twitting

Recently I've created a twitter account with basic purpose to provide some support for JetBrains TeamCity and Checkvist.

Many JetBrainers actively twit and provide product support as well.

Today, you may find twitter account for most JetBrains products:
These accounts a pretty new, but in the long run you'll find a lot of interesting stuff in these feeds, I'm sure.
So follow to stay tuned!

Update: dotTrace account has been created as well :)

Labels: ,

Saturday, February 04, 2006

Unit test for IntelliJ IDEA plugin: load complex project

Recently Hugo Palma had a problem with writing a unit test for his IDEA plugin. What he needed was a custom project configuration with a web module.

Actually, IDEA's OpenAPI does not allow to load project from disk (so far). But there is a way to do it using closed API. I've wrote a small example which shows how to write such a test, but remember, there is no guarantee that this code will work with future versions of IDEA.

You'll also have to add idea.jar to your classpath and use some previously described tricks to make tests runnable.

Technorati:

Labels:

Friday, September 30, 2005

Writing unit tests for IntelliJ IDEA plugins

According to some old saying, if code can be broken, it should be tested. Unfortunately, writing tests for IntelliJ IDEA plugins is not that obvious. I've spent some noticable time trying to setup enviroment for IDEA-specific code in the IDEtalk plugin and now I'd like to share what I've learned.

First of all, if you have a chance to write isolated tests, that don't require implementation of IDEA interfaces from OpenAPI - just do it. Such tests will be much faster, because they won't require ~10 seconds of setUp() execution.

But if you really have to write integration tests (in my case, I wanted to be sure that IDEtalk's internal file representation is syncronized with IDEA's VirtualFiles) - welcome to IDEA's TestCases. IDEA's distribution contains a number of base TestCase classes, placed in the com.intellij.testFramework package. The most noticeable of them are IdeaTestCase and LightIdeaTestCase. The lightness of LightIdeaTestCase springs from the fact, that tests derived from this class share the same virtual IDEA application and opened project. So, after the long startup of the first test, subsequent ones will run quite fast. IdeaTestCase - derived tests share only the application, and each test run includes the overhead of another IDEA project setup.

Guess, which base class is recommended for your tests?

OK, you've chosen the base TestCase and now eager to run your tests. Not so fast. Please make sure that:
  1. tools.jar from your JDK is in your classpath
  2. all jar files from $IDEA_HOME/lib are in your classpath
  3. you've added -Didea.plugins.load=false -Xbootclasspath/p:$IDEA_HOME/lib/boot.jar to your VM parameters. The first parameter can be skipped, but in this case you'll have to add all IDEA plugins to classpath.
So, now can get your tests working.
Good luck :)

Labels:

Tuesday, July 19, 2005

IDEA 5.0 release candidate/First Powered by Fabrique site

Finally, the first release candidate of IDEA 5.0 aka Irida is out. I'd like to congratulate my colleagues from IDEA team with this hard milestone. The "official" list of new features is available on the Jetbrains site, plain list of changes is also available from the EAP site.

BTW, you can get IDEA 5.0 for free if you buy IDEA 4.5. Moreover, if you're working on an open source project, you can try to get a free open source license.

Another nice thing is that our friends from MIIK Ltd. have released a new version of JNIWrapper site. And this site is powered by Fabrique, the product I'm working on!

These news are good, but I have a better reason for celebration - my son has a birthday today :).

Labels:

Thursday, May 12, 2005

Evaluate Expression in IntelliJ IDEA

Recently I found out another cool feature of IntelliJ IDEA's debugger - evaluate expression of the selected in the Frame view item.
Every IDEA user knows that you can select some expression and evaluate it via Alt-F8 while debugging. But I didn't know that I can use Alt-F8 for any selection in Frame view of IDEA's debugger. Using this feature, you can, for instance, evaluate/set runtime value for collection items or map entries.
See screenshot.

Labels:

Friday, April 29, 2005

IntelliJ IDEA as HTML editor

Do you know that well-known Java IDE IntelliJ IDEA gradually becomes really cool XHTML/CSS editor? Especially for those hackers who prefer hand-code-writing instead of big mighty fat wizards and predefined hard-coded templates?

My better half reveals some new Web-oriented features of forthcoming IDEA 5.0 aka Irida.

I think it is time to try IDEA EAP :)

Labels: