Features

Features implemented so far:

  • Refactorings

    • Rename everything!

    • Extract method/local variable

    • Move class/function/module/package/method

    • Inline method/local variable/parameter

    • Restructuring (like converting ${a}.f(${b}) to ${b}.g(${a}) where a: type=mymod.A)

    • Introduce factory

    • Change method signature

    • Transform module to package

    • Encapsulate field

    • Replace method with method object

    • And a few others

  • Refactoring Features

    • Extracting similar statements in extract refactorings

    • Fixing imports when needed

    • Previewing refactorings

    • Undo/redo refactorings

    • Stopping refactorings

    • Cross-project refactorings

    • Basic implicit interfaces handling in rename and change signature

    • Mercurial, GIT, Darcs and SVN (pysvn library) support in refactorings

  • IDE helpers

    • Auto-completion

    • Definition location

    • Get pydoc

    • Find occurrences

    • Organize imports (remove unused and duplicate imports and sort them)

    • Generating python elements

  • Object Inference

    • Static and dynamic object analysis

    • Handling built-in container types

    • Saving object information on disk and validating them

    • Type hints using docstring or type comments PEP 0484

For more information see Rope Overview.