Author Archive

Easy XML Schema Configuration in IntelliJ IDEA 12 Leda

Thursday, July 26th, 2012

Working on an XML document, for having additional code assistance such as error highlighting or completion, you need to specify an XML schema (e.g. XSD or DTD). In the previous versions of IntelliJ IDEA, you had to work with Schemas and DTDs section in Settings or fetch schema from external resource with help of Fetch External Resource intention.

IntelliJ IDEA 12 Leda introduces new way to configure schema for your XML file, based on detecting schemas located locally in project sources or libraries. The IDE tries to match schema by information available in the document, including namespace, system id, etc. If auto-detection fails for some reason, you can adjust the schema with Manually Setup External Resources intention.

This action shows the dialog with a list of all schemas found in your project.

Now you don’t need to browse folders and jars to find schema manually.

You can try this feature now in IntelliJ IDEA 12 EAP.
Please feel free to give us feedback in comments here or submit bug reports in our issue tracker.

Develop with Pleasure!

IntelliJ IDEA 11 RC2: It’s Getting Faster All the Time

Monday, December 5th, 2011

We’ve just uploaded IntelliJ IDEA 11 Release Candidate 2 for you to try. Download it now and check the changelist if you are interested.

Also, some numbers for the curious minds.

Last year, just before version 10 release, we had made some benchmarks for IntelliJ IDEA 10 indexing speed. It was good for the size of project we had at the time. But it grows constantly, that’s why we have to return to this subject. Let’s see if IntelliJ IDEA 11 performance fits its own codebase.

Another bottleneck of developer’s productivity is application startup time. We’ve spent some efforts on this, too. Here are the results

Note that the startup time was measured at the first IDE start after switching computer power on. IDE restart time is much shorter, just about 30 seconds.

Full specs of the computers we used:
1. Windows 7: Core i7 (2.8 GHz), HDD 10K rpm, Windows 7 x64 (32-bit JRE)
2. Linux: Core i7 (2.8 GHz), HDD 10K rpm, Ubuntu 10.10 x64 (32-bit JRE)
3. Mac OS X: Mac Pro (2.8 GHz), HDD 7200 rpm, Mac OS X 10.7 Lion (64-bit JRE)

Enjoy the speed!

New in 10.5: Spring Roo console

Tuesday, April 19th, 2011

Latest IntelliJ IDEA 10.5 EAPs introduce a dedicated console view for a popular Spring Roo tool. It allows you to run Roo commands using the standard IntelliJ IDEA code completion and documentation features. You can see any modifications made by Roo directly in your text editor.

The launching action for the console is located under Tools in the main menu.

Faster XML coding with new completion features

Wednesday, October 27th, 2010

How often do you write XML configurations like that above? How many keystrokes does it take?

This one is written in just moments, with the help of the new completion features coming in IntelliJ IDEA 10. First of all, the IDE completes all required subtags for you, even nested ones. Second, you can use smart completion feature to ensure that the tags you write are in order described in your XML schema.

If you do not know where your new tag should be inserted, invoke the Generate / XML Tag action from context menu, choose the tag you want, and IntelliJ IDEA will generate a completely valid XML structure and insert it in the right place of the document.

Download the latest IntelliJ IDEA EAP build and try this in the next XML file you open.

Tracking Changelist Conflicts in Maia

Thursday, November 5th, 2009

Working on more than one task at once, you may run in some problems with your changes. Say, you have changed some files in a changelist, then switched to another changelist and made a massive refactoring. Oops! Some files in the first changelist are touched too. Now, committing any of these changelists without the other may lead to troubles.

Maia introduces a way to avoid such scenarios. You can protect files in inactive changelists. When you’re trying to change them (by direct editing or by applying a refactoring) you will see a dialog indicating the files to be changed:

The dialog gives you a number of options to resolve the conflict. You can shelve the changes you made in an inactive changelist and unshelve them later. You can move the previously changed files into the active changelist so that they would be committed together. If all conflicting files belong to a single changelist, you can switch to it, and the new changes will be added there. Finally, you can just ignore the notification and manage the conflict manually.

This strict protection is not enabled by default. You should go to Project Settings -> Version Control -> Changelist Conflicts and select the Show conflict resolving dialog option.

By default, IntelliJ IDEA warns you if you changed files from an inactive changelist. They are highlighted in the Project View, and have a yellow stripe in the editor.

Servlet 3.0 (JSR 315) support in Maia

Tuesday, October 6th, 2009

Maia supports Servlet 3.0 specification (JSR 315). You can now create a Web application without a web.xml descriptor:

Now, configure your servlets and filters with @WebServlet and @WebFilter annotations:

Everything is recognized by IntelliJ IDEA, as well as Web fragment descriptors and static resources packaged in libraries.

You can also use built-in Glassfish v3.0 integration to deploy your applications. Good luck!

Task & Context Management in Maia

Thursday, May 21st, 2009

You can bond your JIRA account and IntelliJ IDEA together via Project Settings dialog, Tasks, Servers panel, then activate a task via Tasks, Activate Task menu.

It cleans your workspace, creates a change list, and optionally loads a stacktrace into IntelliJ IDEA (if there is an exception description in that task).

IntelliJ IDEA also gives you a convenient way of switching between your tasks and contexts.

This feature is available in the upcoming first Maia EAP at www.intellij.net/eap