The Code Time Machine is a lightweight IntelliJ IDE plugin which uses visualization techniques to depict the history of any chosen file augmented with information mined from the underlying versioning system. Inspired by Apple’s Time Machine, this tool allows both developers and the system itself to seamlessly move through time.
Read more about the tool and its use-cases at "The Code Time Machine" paper, published at International Conference on Program Comprehension (ICPC) 2017, by Emad Aghajani, Andrea Mocci, Gabriele Bavota and Michele Lanza.
A short video which demonstrates how the tool works in practice:
To install using pre-built binary, first download the latest release. Then, go to IntelliJ IDE | Preference | Plugin | install plugin from Hard
.
- Using in-project IDEA project files:
After cloning and opening the project via IntelliJ IDEA, you need to follow Setting Up a Development Environment section. Afterwards, create a new
Run | Edit Configuration | + | Plugin
and use the newly created IntelliJ Platform SDK as the SDK (requires Java 1.8+). - Creating the project from scratch: Follow both Setting Up a Development Environment and Creating a Plugin Project steps and copy relevant files (sources, resources, ...) to corresponding folders in your own project. (Please open an issue if you face any issue)
In the end, deploy the project by following the Deploying a Plugin section.
Q
: Switch between information display modesV
: Toggle displaying code metrics valuesT
: Toggle authors colorful modeB
/N
: mark first/second file to compareSpace
: compare two currently marked commits,
: Show list of files which are changed in current commit.
: Show list of all files in all packages+
/-
: Zoom in/out the timelineA
/D
: Select previous/next month on timelineW
/S
: Move to previous/next commit on 3D viewI
/K
: Increase/Decrease maximum depth of visibility on 3D viewO
/L
: Increase/Decrease commits windows distance on 3D viewZ
/X
: Display previous/next code metricF
: Toggle Commit List view between normal and tree mode.
For known issues, please check the issues.