Contest Entries

Ant Debugger
Alexei Orishchenko
Category: Build
Ant Debugger enables Apache Ant build script debugging:
  • Open build file in editor
  • Set debug breakpoints (screenshot 1)
  • Right click on editor to show context menu (screenshot 2) and select the "Debug" menu item to launch Ant debugger
  • Wait until the Ant debugger stops on breakpoint then use step or resume debugger commands, investigate Ant variables and execution stack (screenshot 3)

You can add Ant debug configuration from the Edit configurations dialog (screenshot 4). Then you select Ant file, Java SDK for debugging session (screenshot 5).

Note. Plugin requires Java SDK to launch Ant: plugin uses build file module, project or any SDK for JDK list (the plugin searches for Java SDK in this order and uses first found).

Installation: use Idea plugins manager:

  • open Settings > plugins
  • wait until the plugin list loads
  • right click on Ant Debugger plugin and select install / update from the context menu
  • restart Idea

Supported Idea versions: Idea 8.1.x, Idea 9 (community and ultimate editions).

Please write to antdebugger at handyedit.com if there are errors / problems when using Ant debugger

Database Navigator
Dan Cioca
Category: Database
Database development, scripting and navigation tool
This product aims to add extensive database development and maintenance capabilities to the IntelliJ IDEA development environment. Along with a qualified and IDE-compliant SQL and PL/SQL editor, it provides advanced database connection management, script execution support, database objects browsing, data and code editor, support for database compiler operations, method execution and debugging, database objects factory, as well as various navigation capabilities between all its components.
See features overview on the support page.

Supported Databases:
  • Oracle
  • MySQL

For JRE5 users (MAC)
Java 5 compatible builds of the plugin are also available. Please pick the appropriate one and unpack it in the plugins directory:
  - DBN-8.0-JRE5 (for IntelliJ IDEA 8.x)
  - DBN-9.0-JRE5 (for IntelliJ IDEA 9.x)


BashSupport
Joachim Ansorg
Category: Custom Languages
Bash support for IntelliJ 9
Features:
  • Support for Bash 3.2 and 4.0
  • Advanced syntax highlighting and configuration
  • Run Bash scripts within IDEA
  • Autocompletion for variables, functions and file paths
  • Inspections and quickfixes for common problems
  • Basic refactorings (rename variables, functions and heredoc markers)
  • Advanced navigation (structure view, go to declaration, ...)
  • Ctrl+Q (Quick documentation lookup) for internal commands, external commands and functions
  • Highlight usages in file for functions and variables
  • Code folding, line commenting / uncommenting, brace matching
  • Supports file extensions .sh, .bash and files without extension (configurable)
  • Advanced support for arithmetic expressions and brace expansions

Experimental features:
  • Code formatter (turned off by default)
  • Bash repl
ErlGray
Joachim Ansorg
Category: Custom Languages
Erlang support for IntelliJ 9.x.

Features:
  • Parsing of .erl source code files, with error highlighting
  • Configurable syntax highlighting
  • Basic brace matching
  • Hierarchy view (shows function definitions)


This is an early release. Things may be broken or not working.
Plugin contest 2009

The plugin was started in 2009. All features are submitted to the contest. The source repository is located at code.google.com.

SmarterEditor
Joachim Ansorg
Category: Code Editing
Smarten up the editor with new editor actions.
This plugin makes you more productive in the editor. It supports some frequently used actions with the press of a key. It relies on navigation contexts. A navigation context is defined as:
  • Block statement: If, Switch or loops statements
  • Method definition
  • Class definition
  • XML tag

This plugin saves you from unnecessary caret movements.

Plugin contest 2009

All of the available features are submitted to the contest.


Supported languages:
  • Java
  • JavaScript
  • CSS
  • XML
  • Bash (BashSupport plugin)
  • SQL (only certain dialects)
  • PHP

Split the current string literal at caret or around selection

Press alt + PLUS / Edit: Smart split. This action splits a string into two parts and positions the caret between two parts. For example: the string "abcd" is turned into "a" + "bc" + "d" if "bc" was selected.
Useful examples:

  • Working on Java code: simply split a string into two parts and enter a variable in between


Jump to the start of a navigation block

Press ctrl + alt + HOME / Edit: Smart home. This action moves the editor caret to the beginning of the next parent navigation context.
Useful examples:

  • Working on a Java loop statement: Use this action to jump to the loop beginning.
  • Working on XML tag body: Use this action to directly jump to the tag definition. Press again to jump to the parent tag definition.


Jump to the end of a navigation block

Press ctrl + alt + END / Edit: Smart end. This action moves the editor caret to the end of the next parent navigation context.
Useful examples:

  • Working on a Java loop in a method: Use once to add code after the loop, press another time to move after the method to add more class level code.
  • Working on XML tag body: Press to add another tag after the current one. Press again to move after the parent tag.


Format a navigation block

Press ctrl + alt + shift + F / Edit: Format favourite. This action reformats the next parent navigation context according to the code style settings. It puts a selection on the reformatted text. It can be called multiple times to reformat the next parent context.
Before you needed to press ctrl+w multiple times, then ctrl+alt+L and confirm the message box.
Useful examples:

  • Working on a Java method: If you want to reduce whitespace changes just reformat the current method by calling this action.
  • Working on XML tag body: Reformat the current tag and child context by calling this from anywhere on the first level below the tag.


Select a navigation block

Press ctrl + alt + shift + D / Edit: Select favourite. This action select the next parent navigation context. It can be called multiple times to select the next parent context.
Before you needed to press ctrl+w multiple times, which works on a much finer grained model.
Useful examples:

  • Working on a Java code: Select code on a more coarse grained model, e.g. anonymous class, then the method, then the inner class, then the outer class.
  • Working on XML tag body: Copy all sibilings and the parent tag by calling this action twice and then ctrl + c


This is an early release of this plugin. Please vote and provide feedback to help!
Hudson Build Monitor
David Freels
Category: Build
Monitors the status of Hudson builds
IntelliGuard
Ronnie Kolehmainen
Category: Obfuscation

Java bytecode obfuscation made easy.

Seamless integration of yGuard in Intellij IDEA. Add Obfuscation facet to your Java module and choose which symbols to keep from obfuscation with IDEA inspections.

Key features:

  • No more hazzles with configuration files. Just hit ALT+ENTER on any symbol in the editor for keep options.
  • Create obfuscated archive directly from the IDE.
  • Refactor support. Kept symbols remain unobfuscated after rename or move.
  • Inspections for common obfuscation pitfalls.
  • Optional (toggleable) gutter icons for obfuscated symbols.
  • Export configuration for yGuard and ProGuard format.

Project home: http://code.google.com/p/intelliguard/

BuildWatcher
Sergey Titov,
Category: Build
Configure build server and track project status.
  • Supports Hudson and Cruise Control
  • Setup project status change notifications
  • Popups for any project status change
  • Basic authentication
SQL Code Assistant
serhiy k
Category: Database
SQL Code Assistant tool provides extended editing capability for SQL and PL/SQL code, code navigation, find usages and data browsing for the Oracle database. Oracle databases supported by the plug-in: 9i, 10g and 11g.

The plugin uses lexer and parser generated by ANTLR tool, thanks to Terence Parr (parrt@cs.usfca.edu, parrt@antlr.org).

Feature list:
  • Syntax and error highlighting
  • Highlighting of keywords, types, system functions, table names, pl/sql varaible, etc
  • Static code analysis (arithmetic expression evaluation, resolving references)
  • Context aware code completion
  • Viewing the Structure of SQL or PL/SQL code
  • Code Navigation
  • Find Usages tables, views and columns in the Project and Database Schema scope, etc. (since version 0.9.0)
  • Code Folding and bracket matching support
  • Code commenting
  • Database Schema Browsing
  • SQL statement execution with sortable query result
  • Connection management

IMPORTANT: In order to use Find Usages, Code Navigation, Reference Resolving and other features connect to the database first.
To connect to the database go to DatabaseBrowser ToolWindow choose "New Connection" to create a new conection or Log in using an existing one.

I appreciate comments, suggestions or bug reports, thanks in advance.
Quick Notes
Jitendra Rana
Category: Misc
Quick Notes is a plugin written for IntelliJ IDEA. This plugin adds the ability to manage multiple text notes within the IDEA itself. These could be some tips, notes, code snippets, etc that usually comes to mind while coding and Quick Notes provides an ideal way to save those thoughts quickly and easily.

Quick Notes is compatible with multiple opened IDEA instances, so any change made to any note in one instance of IDEA gets reflected in the other IDEA instances without any delay.

Features
Quick Notes plugin provides many features aimed towards easy maintenance and quick access to the Notes. Here are some of the major features of this plugin

  • Add and Manage multiple notes
  • Rename an existing note
  • Delete an existing note
  • Manage notes across multiple IDEA instances
  • Any change in one IDEA instance gets reflected across other IDEA instances
  • Notes are saved in user's home folder "userhome.ideaquicknotes"
  • Show or hide line numbers
  • The toolbar can be placed at top or bottom location
  • Ability to change Font of notes
  • Ability to search notes
  • Ability to save notes to a file

Click here to read/download the manual for this plugin.

For any bugs or suggestions, please leave a comment on the plugin page at
http://plugins.intellij.net/plugin/?id=4456
IntelliJ Open Files Copier
Karthick Dharani Vidhya
Category: Folder
Used for copying all open files in IDEA to separate folder
Touch
Olivier DESCOUT
Category: Code tools

Touches files in the IDEA project (like the commun 'touch' UNIX utility).

This is especially useful when IntelliJ IDEA loses track of the source-controlled status of files and shows them as "Files to be added" while they already are source-controlled. Touching these files on disk makes IntelliJ IDEA restore their correct source-control status.

Compare Directories
Olivier DESCOUT
Category: Code tools

Allows the fast comparison of two directories or archive files (jar, zip, war... and also tar/gz) in IntelliJ IDEA, based on file contents. Single file differences can be viewed with the usual IDEA diff window. Diffs in compiled Java classes can also be viewed using the usual IDEA diff window and a built-in Java disassembler. Detects blank-only differences in text files. Can also detect user-defined differences in text files and differences in source file comments, called «non-significant differences». Provides some basic mass-merging facilities on compared files and directories (copy/delete on files or directories).

See the online help bundled in the plugin for more information (complete plugin sources are also bundled for the IDEA plugin developers' convenience).

nginx Support 9
Max Ishchenko
Category: Tools Integration
nginx server support for IDEA 9 (Maia)
Runs/reloads configuration/stops nginx server from IDEA.
Configuration file syntax highlighting, auto-completion and inspections.
coffeescript-idea
David Yeung
Category: Custom Languages
Syntax highlighting for CoffeeScript.
reVu
Sylvain FRANCOIS
Category: TeamWork
Team Code Reviewer for Intellij IDEA. Simple and flexible, created specially for IDEA.
Log Support
Jürgen Kellerer
Category: Code tools
Makes using log frameworks as painless as printing to stdout by adding intentions, live templates and code inspections that support the most important aspects of the configured log framework.

On top of the basic feature set, enterprise class features like log ID and log review generation are available to help improving the overall quality of the generated log.

Features:

  • Supports possibly any log framework and facade
  • Pre-configured and tested with: log4j12, slf4j, java.util.logging and commons log
  • Assists in the generation of log IDs
  • Generates editable XHTML review documents containing a collection of log messages that can be reviewed and adjusted by a non-developer (e.g. technical writer).
  • Adds 5 live templates logt, logd, logi, logw and loge that offer a framework neutral way of using log calls in the day to day business.
  • Adds 5 intentions and context actions that allow:
    • Wrapping and unwrapping log calls in 'if' conditions.
    • Add, update, replace or remove log IDs.
  • Adds 3 code inspections that verify whether:
    • Log calls are wrapped in 'if' conditions (depending on the project setup)
    • Formatted messages are valid when using MessageFormat or printf enabled frameworks.
    • Throwables can be combined with formatted messages (e.g. logback does not support this)

Full usage instructions can be found at the plugin's homepage.

Pomodoro-tm
Alexander Ivanov, Dmitry Kandalov
Category: Misc
Pomodoro time management plugin.
Paul Allton
Category: Custom Languages
PMIP - Poor Mans IDE Plugin (allows you to develop intellij plugins in ruby in realtime)
Victor Iacoban
Category: VCS Integration
hg4idea - Mercurial integration plugin.
mhunsicker
Category: Build
A GUI for running gradle commands. It shows a tree of available tasks and allows a user to setup favorite commands. Favorites are stored per project and can be key-mapped in Idea. It also parses gradle's output so errors in files will be opened in Idea's editor.
Alexander Zhuravlev
Category: Fun Stuff
This plugin allows to browse quotes from the popular russian website BashOrg (www.bash.org.ru)
Alexander Igdalov
Categories: Build, J2ee
Amazon EC2 manager
iTest 4you
Category: Unit Testing
iTest makes your JUnit tests talk to you in editor.
Features:
iTest Tool Window icon shows status of tests
Effective reports in editor, no need to switch between windows or leave hands from keyboard anymore
Quick fixes for assertion failure.
Run test you need feedback first.
Easy to organize your tests run in iTest by class name pattern filter and test exclusion.
Pierre Deman
Category: Inspection
Jon Akhtar
Category: Custom Languages
Lua language integration. Initially just the lexer level functionality is all there is time for during this contest.