Skip to main content

IntelliJ Plugin

caution

Diese Seite ist in Arbeit und gerade noch sehr chaotisch.

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

Plugin-Zustand zurücksetzen

  • Globale Einstellungen, Login: subato.intellij.core.*-Keys in config/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.

Für die Verschlüsselung muss der öffentliche Schlüssel (z.B. ss24.der) unter src/main/resources/encryption abgelegt werden. Anschließend in src/main/resources/application.properties konfigurieren:

fides.encryption.key = encryption/ss24.der
fides.encryption.enabled = false

Anmerkungen

  • PostProcessing: Siehe PluginDocumentListener