IntelliJ Plugin
caution
Diese Seite ist in Arbeit und gerade noch sehr chaotisch.
Debuggen
- Gradle Run Config mit
./gradlew runIde -Denv.name=test
anlegen prod
,test
oder weglassen (->localhost
)
Installieren
- Mit Gradle das Projekt bauen. z.B.
./gradlew buildPlugin -Denv.name=test
(oder weglassen für localhost) subato-intellij-core*-all.jar
aus build/libs installieren- Siehe subato-docs für die Anleitung zur Installation
Anmerkungen
- GUI Designer von IntelliJ nicht nutzen
- braucht Bytecode-Instrumentierung
- ist mit Gradle nicht so einfach einzurichten.
- Error Handling
- Zentrale Fehlermeldungen bzw. Fehlerbehandlung in
ErrorAdvice
umsetzen ErrorAdvice
entspricht catch-all (Globaler Exception Handler) für Fehler, auf die nur mit Logging/Fehlermeldung reagiert werden kann- try-catch mit
ErrorAdvice
in jeden Einstiegspunkt in das Plugin einbauen. Nicht vorher, um den Code nicht unnötig zu verunreinigen
- Zentrale Fehlermeldungen bzw. Fehlerbehandlung in
Plugin-Zustand zurücksetzen
- Globale Einstellungen, Login:
subato.intellij.core.*
-Keys inconfig/options/other
innerhalb Profile-Directory von IntelliJ - Datenbank für Erfassung:
fides.storage.h2.dbPath
- Subato-Workspace
Profile-Directory von IntelliJ
- IntelliJ Community Edition:
- Windows: %APPDATA%\JetBrains\IdeaC(version)
- Linux: ~/.config/JetBrains/IdeaC(version)
- MacOS: ~/Library/Application Support/JetBrains/.IdeaC(version)
- IntelliJ Developer Edition:
- Windows: %APPDATA%\JetBrains\IntelliJIdea(version)
- Linux: ~/.config/JetBrains/IntelliJIdea(version)
- MacOS: ~/Library/Application Support/JetBrains/IntelliJIdea(version)
Fides
Das IntelliJ-Plugin wird im Forschungsprojekt Fides eingesetzt. Dabei werden hochfrequentierte Daten zum Programmierprozess von Studierenden in einführenden Programmierveranstaltungen über mehrere Semester gesammelt. Diese Daten sollen für die Forschung im Bereich der Erkennung von Fehlerkandidaten zu Fehlvorstellungen eingesetzt werden. Die im Projekt angewendeten Methoden sollen das Vertrauen der Studierenden erhöhen, indem mit Pseudonymisierungs- und Verschlüsselungsverfahren sichergestellt werden soll, dass die erfassten Daten nicht für andere Zwecke (wie der Betrugserkennung) eingesetzt werden können.
Anmerkungen
- PostProcessing: Siehe
PluginDocumentListener