Skip to end of metadata
Go to start of metadata

Editing

  • Syntax highlighting
  • Error highlighting
    • Unresolved classes marked as errors
    • Unresolved unqualified properties marked as warnings
    • Incompatible types assignments marked as warnings
    • Inapplicable method calls marked as warnings
  • Code folding
  • Code formatter
  • Comments and "To Do" view support
  • "add missing import" intention
  • Intellectual errors and warning highlighting (types incompatibility, methods defining twice etc)

Execution, Debugging & Compilation

  • Debugging support (setting breakpoints, view stack)
  • GDK configuration
  • Grails configuration
  • Run configuration for Groovy scripts
  • Make or rebuild java+groovy project entire

Code Completion 

  • context sensitive keyword completion
  • Completion of methods, fields, classes
    • Completion makes use of type inference
    • Default methods completed
    • Swing builder methods are completed, swing properties are completed in method argument list
  • Resolve
    • Resolve groovy to groovy classes, methods, fields
    • Resolve groovy to java classes, methods, fields
    • Resolve java to groovy classes, methods, fields

Surround with (Alt+Ctrl+T)

  • (...)
  • !(...)
  • ((Type) ...)
  • with (...)
  • if() { ... }
  • if() { ... } / else
  • try / catch
  • try / finally
  • try / catch / finally
  • while () { ... }
  • { -> ... }.call()

Introduce

  • Introduce variable (Alt+Ctrl+V)
    • Offer the default type and variable name
  • Introduce parameter (Alt+Ctrl+P)
    • from expression
    • from variable
    • updates references in Groovy and Java
  • Introduce closure parameter (Alt+Ctrl+P)
    • from expression
    • from several statements
  • Introduce field
  • Introduce constant

Extract method (Alt+Ctrl+M)

  • from expression
  • from several statements

Change signature (Ctrl+Shift+F6)

  • updates all references (in Groovy and Java)

Inline (Alt+Ctrl+N)

Rename (Shift+F6)

Renames

  • packages
  • classes
  • local variables
  • methods
    • declaration case
    • call case

Convert to Java

  • converts Groovy code to equivalent Java

Structure view

Shows

  • classes
  • methods
  • fields

founded in groovy file

File structure (Ctrl+F12)

  • The popup window contains classes, methods, fields.

Find usage (Alt+F7)

  • Implements groovy classes search

Parameter Info (Ctrl+F12)

  • The usual ctrl-P shortcut shows signatures of candidate methods at method call site

Class search (Ctrl+N)

  •  Searches class by prefix of class groovy name

Imports Optimization (Alt+Ctrl+O)

  •  Delete unused imports

Builders support

  •  Convinient work with builder because of intellectual properties completion

Creation groovy classes and scripts

  •  Create groovy class or script action easy of access from every project file context menu

Notable intentions

  • Grab annotation
  • Declare explicit type
  • String intentions
  • Convert Groovy native map to class instance
  • Style conversions
    • Convert Java-style array creation to Groovy style
    • Chage Java-style accessor invocation to Groovy-style property reference
  • Convert method to property of closure type
  • Convert property to method
  • Add return type to method declaration
  • Convert method or closure parameters to map entries

Grails

  • Grails SDK configuration
  • Grails controller, view, domain class, job, script,  service, taglib creation
  • Grails generators are built in; output to console

Supported AST transformations

  • AutoClone
  • AutoExternalize
  • Tupleconstructor
  • Immutable
  • Canonical
  • Delegate
  • InheritConstructor
  • Log
  • Commons
  • Log4j
  • Slf4j
  • IndexedProperty
  • Newify
  • Singleton
  • Vetoable

Other supported annotations

  • Mixin
  • Bindable
  • Category

Resolve features

  • automatic inference of types of closure parameters used in DefaultGroovyMethods methods
  • mixins into metaclasses:   MyClass.mixin(MyOtherClass)
  • DefaultGroovyMethods.with, use
  • No labels