kit-sdq / intelligrade

IntelliJ-Plugin for grading with the artemis project
Eclipse Public License 2.0
8 stars 2 forks source link
artemis grading intellij-plugin

IntelliGrade

IntelliGrade is an IntelliJ port of the Eclipse Grading Tool. It is used to grade Artemis based exercises.

Running

git clone https://github.com/kit-sdq/intelligrade/
cd intelligrade
./gradlew runIde

for updating, execute

cd intelligrade
git pull
./gradlew runIde

Setup

If the Welcome to IntelliJ IDEA screen pops up, simply create a new empty project and open it. This will be the grading workspace. Set the Artemis URL at File > Settings > Tools > IntelliGrade Settings, and press the connect button.

The tool window to the top right with the pen icon is the grading window, and the tool window with the sheet of paper icon to the bottom left is the annotations list.

Differences to the Eclipse tool

Building

Features

Contributing

Important

Before starting, please make sure that you've understood and internalized Intellij's threading model. Whatever you do, always remember which thread you are on (EDT/pooled) and what you can do on that thread.

Also, please do not touch the JCEF login code unless absolutely necessary. It contains delicate synchronization code, which is needed since most JCEF methods are asynchronous and call you back on arbitrary threads. Also, IntelliJ's JCEF wrapper (JBCEF) is very buggy.

UI

Most layouts use MigLayout, which is included in IJ. Good references are the white paper and the cheat sheet. JB publishes UI guidelines, which are worth a read. For icons, they have a very nice search engine.