Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Diff of /index.html [000000] .. [592ce8] Maximize Restore

  Switch to side-by-side view

--- a
+++ b/index.html
@@ -0,0 +1,53 @@
+<h1>The CodeHelper plugin</h1>
+Written by Shlomy Reinstein, November 2010.
+The CodeHelper plugin provides a dockable window that shows either a static call
+tree of a selected function, or a reference tree of a selected identifier. The tree
+shows the functions calling / referring to the identifier, and each such caller node
+can be expanded to see its own callers. When you select a caller, the actual calls from
+it are shown in a list on the right - clicking each item in the list opens the buffer
+containing the call and jumps to its location in the buffer.
+CodeHelper works in the context of a <b>ProjectViewer</b> project. It finds
+callers / references only in the current project. CodeHelper relies on two
+other plugins to provide it with the information it needs: <b>CtagsInterface</b> and
+<b>LucenePlugin</b>. To show a static call tree, it first searches the Lucene index
+of the current project for all occurrences of the function name. It invisibly opens
+each of the files containing occurrences of the function name in jEdit, and uses
+jEdit syntax highlighting to filter out occurrences inside comments and strings. Then,
+it uses CtagsInterface to find the closest function above the occurrence line
+as a caller. It also uses CtagsInterface to filter out function prototypes.
+Finally, it presents the callers in a tree. Clicking each caller shows the calls from
+it on the right of the dockable. Expanding a caller will cause the same algorithm to
+run on the caller's name, to find all its callers.
+CodeHelper requires <b>CtagsInterface</b>, <b>LucenePlugin</b> and
+<b>ProjectViewer</b>. Moreover, it does *not* create a Lucene index and a tag index on
+its own; it requires that these already exist when you use its actions (static call
+tree / reference tree). To allow CodeHelper to work for a project, do the following:
+<li>Switch to the project in ProjectViewer.
+<li>Right click the project and select <b>Add project to tag index</b>.
+<li>Right click the project and select <b>Create Lucene index for project</b>.
+<li>Wait until the tag index and Lucene index are ready, and then you can start using
+CodeHelper for the project.
+This plugin is mainly useful for computer languages where names are global and unique.
+It is not so useful for object oriented languages - such as C++ and Java - where a
+program can define many functions with the same name (but in a different namespace /
+class). For example, in Java, if you try to look for callers of "actionPerformed",
+you will get the list of all callers of all functions with this name, no matter which
+class they are.
+Any feedback would be most welcome. Please send your feedback to the <b>jedit-users</b>
+or <b>jedit-devel</b> mailing list.