Rope 0.5m4 has been released. Get it from<br><a href="http://sf.net/projects/rope/files">http://sf.net/projects/rope/files</a>.<br><br>================================================<br> rope, a python refactoring IDE and library ...
<br>================================================<br><br><br>Overview<br>========<br><br>`rope`_ is a python refactoring IDE and library. The IDE uses the<br>library to provide features like refactoring, code assist, and
<br>auto-completion. It is written in python. The IDE uses `Tkinter`<br>library.<br><br>.. _`rope`: <a href="http://rope.sf.net/">http://rope.sf.net/</a><br><br><br>New Features<br>============<br><br>* Generating python elements
<br>* Memorizing locations and texts<br>* Added `.ropeproject` folder<br>* Saving history across sessions<br>* Saving object data to disk<br>* Incremental ObjectDB validation<br>* Inlining `staticmethod`\s<br>* Setting ignored resources patterns
<br><br>Maybe the most notable change in this release is the addition of a new<br>folder in projects for holding configurations and other informations<br>for a project. Its default name is ``.ropeproject``, but it can be
<br>changed in ``~/.rope`` or `Project` constructor (if using rope as a<br>library). You can also force rope not to make such a folder by using<br>`None` instead of a `str`.<br><br>Currently it is used for these perposes:
<br><br>* There is a ``config.py`` file in this folder in which you can change<br> project configurations. Look at the default ``config.py`` file,<br> that is created when there is none available, for more information.
<br> When a project is open you can edit this file using ``"Edit Project<br> config.py"`` action or ``C-x p c``.<br>* It can be used for saving project history, so that the next time you<br> open the project you can see and undo past changes. If you're new
<br> to rope use ``"Project History"`` (``C-x p h``) for more<br> information.<br>* It can be used for saving object information. Before this release<br> all object information where kept in memory. Saving them on disk
<br> has two advantages. First, rope will need less memory and second,<br> the calculated and collected information is not thrown away each<br> time you close a project.<br><br>You can change what to save and what not to in the ``config.py`` file.
<br><br>Since files on disk change overtime project object DB might hold<br>invalid information. Currently there is a basic incremental object DB<br>validation that can be used to remove or fix out of date information.<br>
Rope uses this feature by default but you can disable it by editing<br>``config.py``. Other interesting features related to rope's object DB<br>and object inference are planned for ``0.5`` release. So if you're<br>
interested keep waiting!<br><br>The generate element actions make python elements. You have to move<br>on an element that does not exist and perform one of these generate<br>actions. For example::<br><br> my_print(var=1)
<br><br>Calling generate function on `my_print` (``C-c n f``) will result in::<br><br> def my_print(var):<br> pass<br><br><br> my_print(var=1)<br><br>It handle methods, static methods, classes, variables, modules, and
<br>packages, too. Generate element actions use ``C-c n`` prefix.<br><br>Rope can now save locations or strings in memory. These are similar<br>to emacs's bookmarks and registers. These actions use ``C-x m``<br>prefix.
<br><br>