Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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() { } / else {} while ... }
  • if() { ... } / else
  • try / catch
  • try / finally
  • closure {}
  • (Type) expr

...

  • try / catch / finally
  • while () { ... }
  • { -> ... }.call()

Introduce

  • Introduce variable (Alt+Ctrl+V)
    • Introduce variable
      • 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

    • Local packages
    • classes
    • local variables
    • Method methods
      • Declaration use
      • Call
      • 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