Archive for January, 2007

JetBrains’ Gold Sponsorship at AJAXWorld Conference & Expo, 2007

Wednesday, January 31st, 2007

We’re proud to tell you that on January, 30th of 2007 SYS-CON Events announced that JetBrains joined AJAXWorld Conference & Expo 2007 East as “Gold Sponsor”.

AJAXWorld Conference & Expo 2007 is the world’s leading Web 2.0 and RIA event that will take place on March 19-21 2007 in New York City.

This year conference highlights include:

  • 100+ conference speakers selected from among the world’s leading AJAX technologists and practitioners, including high-level IT executives, industry thought leaders, VCs and analysts
  • Topical, Interactive “Power Panels” simulcast on SYS-CON.TV - dynamic Keynote debates moderated by Jeremy Geelan & Dion Hinchcliffe
  • Demos from 30+ vendors both in General Session and in the Exhibit Hall/AJAX Showcase
  • Pre-Conference “AJAXWorld University Bootcamp” for those wanting an all-day, hands-on encounter with AJAX
  • Leading-edge sessions on issues like Offline AJAX, Mobile AJAX, Enterprise AJAX, AJAX Security, Desktop AJAX, Semantic Mash-Ups, Next-Generation SaaS, JavaScript & XML, Google Web Toolkit, Adobe Apollo, Adobe Flex, AJAX RIA GUIs, and Appropriate vs Inappropriate Use of AJAX.

JetBrains, the creators of the world’s most advanced Java IDE, IntelliJ IDEA, which is completely ready for productive Web 2.0 development, offers its community members the “Expo Plus Passes” which include access to all exhibits, plus keynotes, vendor technology presentations, and Power Panels.

If you’re eager to attend the expo and all these terrific presentations to get the picture of the future of Web and hear AJAX gurus revealing secrets of this technology, you can save yourself around two hundred bucks, email me at egor.malyshev@jetbrains.com to get your Expo Plus Pass.

Technorati tags: , , , ,

Maintaining coding guidelines: naming convention vs syntax highlighting

Monday, January 29th, 2007

Naming conventions were subject to many local corporate wars, and probably any developer heard phrases like “These underscores before private field names just look ugly!” One more problem with naming conventions is constant changes in the code (if you convert a local variable to a field, will you rename it?). And of course, developers often simply forget about all these conventions and cannot remember whether it is necessary to use upper or lower case first letter for a constant.

However, it is necessary to make the code readable by different team members. And of course, it is always useful to be able to quickly distinguish local variables from fields, classes from abstract classes and interfaces, static methods from non-static ones; and so on.

With IntelliJ IDEA, the solution for all these problems is code highlighting. If you still think that code highlighting only makes keywords bold, just look at IntelliJ IDEA highlighting settings (Settings | Colors and Fonts | Java).



Here you can define the color schema for:

  • Class
  • Abstract Class
  • Interface
  • Local Variable
  • Parameter
  • Instance field
  • Static field
  • Method call
  • Static Method call
  • And more



So, you can easily understand the code of your team mates even if no naming convention is used within the team. All you need is to adjust your color schema!

In fact, syntax highlighting can be an even more powerful tool for code analysis than naming convention. For example, in IntelliJ IDEA you can highlight unused symbols, so you can easily find the potential dead code. One more useful trick is to highlight reassigned parameters to see whether parameters change their values within the method body (that is often considered as “bad coding style”). Also you can highlight reassigned local variables.

Well, suppose you still think that naming convention is a must for your team (let’s say you have different IDEs in your team and not all of them have so flexible syntax highlighting). And while you consider violation of the naming convention a serious coding error, the compiler doesn’t. So everybody keeps violating them without a notice.

A good IDE should not force you to use naming convention, but of course it should help you with following the convention if you choose one. In IntelliJ IDEA, there is a set of code inspections that allows you to define naming patterns and then check whether the code violates them. You can configure naming convention settings in the Settings | Errors dialog.



If you set the constant naming conventions as shown on the screenshot above, when incorrectly named constants will be highlighted right in the editor.



The yellow light bulb shows that IntelliJ IDEA can help you with solving the problem. Just press Alt + Enter, and select to rename the symbol. All the usages of this symbol in the code will be also renamed. This way you can quickly make the code to follow the necessary convention.

Of course, IntelliJ IDEA inspections can help your not only with naming conventions, but also with other coding guidelines (comments, annotations, parenthesis, and more) and static code analysis. But this can be a subject of a separate topic.

So, now before establishing naming convetions in your team, think whether you really need one. And if it’s true, you can at least make its maintenance easier.

Note   This tip&trick was originally posted at www.javalobby.org.


Technorati tags: , , , ,

Custom Languages and Regular Expressions in IntelliJ IDEA

Tuesday, January 23rd, 2007

As you might recall, IntelliLang plugin had won two awards at the recently held IntelliJ IDEAL Plugin Contest.

IntelliLang extends the support of custom languages and regular expressions in IntelliJ IDEA with:

  • Language Injection Support: IntelliJ IDEA 6.0 can treat String literals, XML text and attributes as fragments of an arbitrary language. IntelliLang lets you use Java annotations or built-in GUI configurator to mark String fields, local variables, method parameters and methods returning Strings as containing code written in a certain language.

    List of Supported Languages

    With IntelliLang you get the proper code completion, highlighting and inspections according to the language you have annotated, for example, a JavaScript code embedded into an XSLT file.

    Example: JavaScript Embedded in an XSLT Stylesheet
  • Pattern Validation: Supports annotations that let check String Java elements for compliance with certain regular expressions. This is really handy when it comes to ensuring that an expression conforms to a certain syntax, for example, a String is a legal Java identifier or a valid printf-like pattern used by java.util.Formatter.

    Code Inspection
  • Regular Expression Support: Adds support for regular expressions to code completion, validation, inspection, quick-fixes and Intention Actions, plus error highlighting.

    Regular Expressions Completion

    Moreover, IntelliLang brings several unique features that make creating and editing regular expressions even easier: completion and validation for character property names (e.g. \p{javaJavaIdentifierStart}) combined with validation and navigation for the use of back-references (e.g. \1).

    Checking Back-References

IntelliLang is freeware and available for download at IntelliJ IDEA Plugin Repository
Visit the IntelliLang Support Page for more information about plugin features and usage.

Technorati tags: , ,

IntelliJ IDEA and TeamCity: The Jolt Finalists

Wednesday, January 17th, 2007

We’re glad to announce that our beloved Java IDE IntelliJ IDEA has been named a finalist in the 17th Annual Jolt Product Excellence Award, in two categories: Web Development and Development Environments.

TeamCity, the ultimate team collaboration environment, has also been included in the list of finalists in two nominations: Collaboration Tools and Enterprise Tools.

Now we all here at JetBrains (and hopefully all members of our community worldwide) cross our fingers and pray for IntelliJ IDEA and TeamCity to be honored as the winners at a gala ceremony on the evening of March 21, 2006 in Santa Clara, California.

Technorati Tags:

TeamCity 1.2 Released!

Monday, January 15th, 2007

Along with usability improvements and fixes to existing functionality (see release notes), TeamCity 1.2 is mainly targeted for .NET platform developers but in the nearest major release we plan to extend the list of supported IDE’s with Eclipse plugin and implement multiple enhancements anticipated by Java developers.


Test-drive our demo server with TeamCity 1.2 installed.


Download TeamCity 1.2.

Technorati tags: , , , , , , ,

Ooops! We Did it Again

Monday, January 15th, 2007

Faster than you could download and install the latest 6.0.3 release, our team spotted and fixed several critical issues and so we’re releasing IntelliJ IDEA 6.0.4 with even more additions and improvements.

You can download it and upgrade right now.

If you’re deciding whether you should do it or not, read the Release Notes.

Technorati Tags:

IntelliJ IDEA 6.0.3 is Here

Thursday, January 11th, 2007

Fresh maintenance release of IntelliJ IDEA v6.0.3 is available for download. This release is primarily aimed at improving performance, but of course, also introduces various bug-fixes and improvements.

See the complete list of what has been done.

IntelliJ IDEA 6.0 users are welcome to download and upgrade at no additional fee.

Users of earlier versions and others may find their upgrade plan.

If you’re still deciding whether to upgrade, this article is for you.

Technorati Tags:

Groundbreaking 2007

Wednesday, January 10th, 2007

New Year and Christmas holidays are over and we’re all going back to work. I’m writing this post mainly for two purposes: first of all I want to say that we all here at JetBrains have survived almost two weeks long holidays and are full of enegry and eager to reach for new peaks in making Java development a real pleasure. Secondly, I have made a small demo on creating and deploying simple Web applications for JBoss Application Server.
You can watch the demo in your browser or download it in a zip archive.


Technorati tags: , , , ,