Fluorite is a publicly available event logging plug-in for Eclipse which captures all of the low-level events when using the Eclipse code editor. Fluorite keeps track of all of the events that occur in the code editor and saves the log files in XML format.
The granularity of events that Fluorite logs is very fine since it logs character typing, moving the text cursor, changing the selected text, and all other Eclipse commands executed in the code editor. Fluorite not only logs the command IDs but also the parameters to those commands. For example, the Find command has additional searchText and replaceText parameters. In the case of text editing events, the inserted or deleted text is also recorded.
Using the snapshots of the initial source files and the deleted / inserted text from all the commands, it is possible to completely reproduce any file snapshot at any given time. This enables us to know in which situation a command was executed.
Fluorite is useful for many different purposes. First, it can be used in lab studies or field studies for evaluating existing tools. Fluorite logs can be used to detect and measure the time for various usage patterns or events of interest, without needing the experimenter to manually annotate a videotape. Fluorite can also be useful for motivating new tools. In addition, we anticipate in the future that Fluorite's logging and analysis may be used in real-time to support novel code editing operations that will depend on the history.