XreFactory

There is a GPL version labelled as “A C refactoring tool for emacs” at http://sourceforge.net/projects/c-xref/files/ All other references to the original Xrefactory seems to be gone…

Here's a write up of recent experience with it.

[old] Xrefactory is a tool for C and C++ providing code completion, source browsing and refactoring.

It is not Free Software. Investigate a free RefactoringBrowser, instead. (Or read below…)

The older releases of Xrefactory that work with Emacs are “no-cost” (gratis) – with the restriction that you are not allowed to resell the software. Redistributions free of charge are allowed. Attempts to encourage the owners to release the code under a free license have not had any results. The C++ version has remained fully proprietary.

It seems very impressive, but does it deliver what it claims?

I used Xrefactory in my previous job, on a fairly large Java code base referencing many libraries. It worked pretty well, especially the “semantic” tab completion and code navigation. The C/Java version is now apparently free (used to be $29), but I don’t know if it is still being updated (the downloadable version does not support newer JDKs). --Damien Diederen

These products (xrefactory c/java, xrefactory c++) seems to be abandoned. The c++ version does not work very well with recent c++ code (like one found in new versions of boost).

Vittek (where and whoever he is) release a C/Java version into GPL in 2006 on Sourceforge. I’ve tried to revive this excellent tool, but could really use some help as the code is in poor shape and it’s an entangled web of legacy code ;-)

Fully working version for C and Java is on GitHub. Also available as an el-get package for easy installation.

I made some patches for an original 1.6.10 version (like parsing initializer lists for structs) and prepared packages for Arch and Ubuntu:

Arch Linux AUR: https://aur.archlinux.org/packages/xrefactory/

Ubuntu Linux PPA: https://launchpad.net/~litvindev/+archive/ubuntu/ppa


CategoryProgrammerUtils CategoryNavigation