Skip to content

Commit

Permalink
rename & start/stop/pause/resume track
Browse files Browse the repository at this point in the history
  • Loading branch information
TTangNingzhi committed Dec 26, 2023
1 parent 757a41a commit 5d96a70
Show file tree
Hide file tree
Showing 23 changed files with 316 additions and 449 deletions.
124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 23 additions & 1 deletion .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion API Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Before using the API, you first need to add the following dependency to the `int

```groovy
intellij {
plugins.set(file("path-to-CodeGRITS-project\\build\\idea-sandbox\\plugins\\CodeVision"))
plugins.set(file("path-to-CodeGRITS-project\\build\\idea-sandbox\\plugins\\CodeGRITS"))
}
```

Expand Down
12 changes: 6 additions & 6 deletions Output Format.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
k-th pause.
- `frames.csv` records the timestamp and clip number of each frame in the video clip.

All the timestamps used by CodeVision are Unix time in milliseconds, starting from 1970-01-01 00:00:00 UTC.
All the timestamps used by CodeGRITS are Unix time in milliseconds, starting from 1970-01-01 00:00:00 UTC.

The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coordinates-system.html#editor-coordinate-systems)
(e.g., line, column) of IntelliJ Platform is start from 0.
Expand Down Expand Up @@ -216,7 +216,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
<action id="EditorBackSpace" path="/src/Main.java" timestamp="1696214505280"/>
<action id="SaveAll" path="/src/Main.java" timestamp="1696214506877"/>
<action id="GotoDeclaration" path="/src/Main.java" timestamp="1696214513473"/>
<action id="CodeVision.StartStopTrackingAction"
<action id="CodeGRITS.StartStopTracking"
path="C:/Program Files/Java/jdk-16.0.2/lib/src.zip!/java.base/java/io/PrintStream.java"
timestamp="1696214517658"/>
<action id="EditorCopy" path="/src/Main.java" timestamp="1696216114539"/>
Expand All @@ -229,9 +229,9 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord

**Comment**:

- CodeVision-related actions are also implemented as `AnAction` objects, and their `id` is prefixed with `CodeVision`,
such as `CodeVision.StartStopTrackingAction`, `CodeVision.PauseResumeTrackingAction`, etc.
- The "add label" action is also tracked here, with `id` as `"CodeVision.AddLabelAction.[LABEL_NAME]"`, where label name
- CodeGRITS-related actions are also implemented as `AnAction` objects, and their `id` is prefixed with `CodeGRITS`,
such as `CodeGRITS.StartStopTracking`, `CodeGRITS.PauseResumeTracking`, etc.
- The "add label" action is also tracked here, with `id` as `"CodeGRITS.AddLabel.[LABEL_NAME]"`, where label name
is pre-set in the configuration.
- Other IntelliJ plugins may also implement their own `AnAction` objects, which will also be tracked here. For example,
the `copilot.applyInlays` in the GitHub Copilot plugin.
Expand Down Expand Up @@ -481,7 +481,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord

**Comment**:

- The root element of the `eye_tracking.xml` file. CodeVision support both Mouse simulation and Tobii Pro eye tracker
- The root element of the `eye_tracking.xml` file. CodeGRITS support both Mouse simulation and Tobii Pro eye tracker
devices.
- Since [Tobii Pro SDK](https://developer.tobiipro.com/index.html) not support Java, we use Python
library `tobii-research` to collect eye tracking data and use Java ProcessBuilder to call the Python script to collect
Expand Down
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# Getting Started

## What is CodeGRITS?
CodeGRITS stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem, which is a plugin specifically designed for SE researchers. CodeGRITS is
built on top of IntelliJ’s SDK, with wide compatibility with the

CodeGRITS stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem, which is a plugin specifically designed
for SE researchers. CodeGRITS is built on top of IntelliJ’s SDK, with wide compatibility with the
entire family of JetBrains IDEs to track developers’ IDE interactions and eye gaze data.

## Key Features

- **Gaze and IDE Recording**: CodeGRITS records developers’ eye gaze data and
IDE interactions.
- **Screen Recording**: CodeGRITS records developers’ screen.
Expand All @@ -18,6 +20,7 @@ entire family of JetBrains IDEs to track developers’ IDE interactions and eye
## Using CodeGRITS

### Python Environment

It is necessary to install the following packages in your python environment to run this plugin.

```
Expand All @@ -28,26 +31,33 @@ screeninfo==0.8
```

### Installation

1. Clone the [repository](https://github.com/codegrits/CodeGRITS) to your local machine.
2. Open command line and run `./gradlew build` in the root folder to build the plugin.
3. Open IntelliJ IDEA and click `File` - `Settings` - `Plugins` - `Install Plugin from Disk...` to install the plugin zip file in `build/distributions` folder.
3. Open IntelliJ IDEA and click `File` - `Settings` - `Plugins` - `Install Plugin from Disk...` to install the plugin
zip file in `build/distributions` folder.
4. Restart IntelliJ IDEA to enable the plugin.
5. All CodeGRITS features are available in `Tools` dropdown menu, including `Start Tracking`, `Pause Tracking`, and `Configuration`.
5. All CodeGRITS features are available in `Tools` dropdown menu, including `Start Tracking`, `Pause Tracking`,
and `Configuration`.

### Usage

!!!
Before starting tracking, you should first configure the plugin. Click `Tools` - `CodeGRITS` - `Configuration` to open the configuration window. To enable eye tracking,
you need to have the necessary Python packages installed in your Python environment. The plugin automatically checks the Python environment.
Before starting tracking, you should first configure the plugin. Click `Tools` - `CodeGRITS` - `Configuration` to open
the configuration window. To enable eye tracking,
you need to have the necessary Python packages installed in your Python environment. The plugin automatically checks the
Python environment.

We highly recommend
using [Tobii Pro Eye Tracker Manager](https://www.tobii.com/products/software/applications-and-developer-kits/tobii-pro-eye-tracker-manager#downloads)
to conduct calibration before using eye tracking.
to conduct calibration before using eye tracking.
!!!

1. Click `Tools` - `CodeGRITS` - `Start Tracking` to start tracking.
2. Click `Tools` - `CodeGRITS` - `Pause Tracking` to pause tracking.
3. Click `Tools` - `CodeGRITS` - `Resume Tracking` to resume tracking.
4. Click `Tools` - `CodeGRITS` - `Stop Tracking` to stop tracking. The plugin will export data in XML format to the configured folder.
4. Click `Tools` - `CodeGRITS` - `Stop Tracking` to stop tracking. The plugin will export data in XML format to the
configured folder.

## Further Development

Expand Down
Loading

0 comments on commit 5d96a70

Please sign in to comment.