HCW PRG1 Course Assistant
VS Code extension for the HCW PRG1 course. It supports GitHub Classroom onboarding and provides an invigilation-oriented exam mode for supervised assessments.
Features
The extension adds a PRG1 Assistant icon to the Activity Bar with a Course Actions view.
Available actions:
Clone Classroom Repo
Check Workspace Setup
Open Autograding Page
GitHub Classroom onboarding
Command: PRG1: Clone GitHub Classroom Repository
What it does:
- Accepts a GitHub Classroom invitation link such as
https://classroom.github.com/a/...
- Also accepts a direct GitHub repository URL
- Checks whether
git is installed and available in VS Code
- Opens Classroom invitation links in the browser so the student can accept the assignment
- Prompts for the accepted repository URL
- Clones the repository into a selected target folder
- Checks the cloned workspace for Java and a Gradle wrapper
- Offers to open the cloned project in VS Code
Workspace setup check
Command: PRG1: Check Current Workspace Setup
Checks:
- Git availability
- Java availability
- Gradle wrapper presence
- Gradle wrapper execution
GitHub Actions / autograding shortcut
Command: PRG1: Open GitHub Actions / Autograding
This opens the current repository's GitHub Actions page in the browser so students can inspect autograding results and points.
Exam mode
Exam functionality is available through:
PRG1: Start Exam Mode
PRG1: Stop Exam Mode
PRG1: Open Exam Mode Dashboard
The extension also contributes an Exam Mode sidebar view inside PRG1 Assistant, but it is hidden by default and can be enabled from the view container menu when needed.
When exam mode is active:
- The status bar shows a prominent
Exam Mode indicator
OFF is shown with warning styling
ON with problems is shown with error styling
ON with all checks passing shows a visible green success indicator in the label
- A dashboard panel provides a larger view for lecturers
- Checks are refreshed automatically in the background
Current checks:
- Internet access must be unavailable
- AI-related VS Code extensions must not be enabled
Configuration
The extension contributes these settings:
courseAssistant.examMode.checkIntervalMs
courseAssistant.examMode.networkProbeUrls
courseAssistant.examMode.aiExtensionPatterns