This guide covers how to use the Computor VS Code Extension as a student, tutor, or lecturer.
-
Open a folder in VS Code
- The extension requires an open workspace to function
- Use
File > Open Folderto open or create a folder
-
Login to Computor
- Open the command palette (
Ctrl+Shift+PorCmd+Shift+P) - Run:
Computor: Login - Enter the backend URL when prompted
- Enter your username and password
- Open the command palette (
-
Access your view
- After login, the appropriate view(s) appear in the activity bar
- Click the icon to open your role view:
- 📖 Student view
- 👤 Tutor view
- 🎓 Lecturer view
Change the backend URL at any time:
- Command:
Computor: Change Backend URL
Select where repositories are cloned:
- Click the folder icon in the view title bar
- Command:
Select Workspace Directory
Edit your profile information:
- Click the account icon in the view title bar
- Command:
Computor: Edit Profile
As a student, you can browse courses, work on assignments, run tests, and submit your work.
- Open the Computor Student view from the activity bar
- Browse the tree structure:
Course Name ├── 📁 Course Group (optional) ├── 📄 Content Item └── 📝 Assignment
- Find the assignment in the course tree
- Click the cloud download icon next to it
- Or right-click →
Clone Repository
- Or right-click →
- The repository is cloned to your workspace directory
- VS Code opens the cloned repository
- Open the assignment repository
- Click the beaker icon next to the assignment
- Or right-click →
Test Assignment
- Or right-click →
- View results in the Test Results panel (bottom panel)
- Click on failed tests to jump to the test file
- Make your code changes
- Click the git commit icon next to the assignment
- Or right-click →
Commit Assignment
- Or right-click →
- Enter a commit message
- Changes are committed and pushed to your repository
- Ensure all changes are committed
- Click the cloud upload icon next to the assignment
- Or right-click →
Submit Assignment
- Or right-click →
- The submission is created on the backend
- You can view submission details by right-clicking →
View Details
- Test Results: Click
Show Test Resultson any assignment - Messages: Right-click on content →
Show Messagesfor announcements - README Preview: Click the preview icon to see assignment instructions
- Commit often: Use
Commit Assignmentregularly to save your progress - Test before submitting: Always run tests locally before final submission
- Check messages: Lecturers and tutors may post important updates
- Multiple courses: You can work on multiple courses; each assignment is isolated
As a tutor, you can monitor students, clone their repositories, review their work, and provide grades and feedback.
Use the Filters panel to narrow down students:
- Open the Computor Tutor view
- The Filters panel appears at the top
- Available filters:
- Course
- Assignment
- Submission status
- Date ranges
- Click Reset Filters to clear all filters
The tutor tree shows:
Course
├── Course Group
│ ├── Student Name
│ │ ├── Assignment 1
│ │ └── Assignment 2
Students are organized by course groups, making it easy to navigate.
- Find the student's assignment
- Click the cloud download icon
- Or right-click →
Clone Student Repository
- Or right-click →
- The repository is cloned with the student's latest work
- VS Code opens the repository for review
Note: You need GitLab access tokens configured. See Managing GitLab Tokens.
If a student has made new commits since you cloned:
- Click the sync icon
- Or right-click →
Update Student Repository
- Or right-click →
- The latest changes are pulled
- Find the student's assignment
- Right-click →
Grading… - A webview opens with:
- Student information
- Submission details
- Test results
- Grading form
- Enter grade and feedback
- Click Submit Grade
To compare student work with the example solution:
- Right-click on assignment →
Download Example for Comparison - The example solution is downloaded
- Use VS Code's diff tools to compare
- Messages: Right-click →
Show Messagesto post messages - Comments: Right-click on student →
Show Commentsfor private notes - Grades: Use the grading interface for official feedback
Tutors need GitLab Personal Access Tokens (PAT) to clone student repositories.
- Command:
Computor: Manage GitLab Tokens - Choose action:
- Set token for an origin: Add/update a token for a GitLab instance
- Remove token: Delete a stored token
- Enter the GitLab origin (e.g.,
http://localhost:8084) - Enter your GitLab Personal Access Token
- Tokens are stored securely and used automatically
Creating a GitLab PAT:
- Go to your GitLab instance → Settings → Access Tokens
- Create token with
read_repositoryscope - Copy and paste into Computor
As a lecturer, you can create and manage courses, course content, examples, and monitor the entire teaching process.
The lecturer tree shows your organizational structure:
Organization
├── Course Family
│ ├── Course
│ │ ├── 📂 Course Contents
│ │ ├── 📊 Content Types
│ │ └── 👥 Course Groups
- Right-click on
Course Contents→create content - Enter content details:
- Title
- Content type
- Release date (optional)
- The content item is created
Content can be nested (hierarchical structure).
Content types define the nature of assignments:
- Right-click on
Content Types→Create Content Type - Configure:
- Name (e.g., "Homework", "Lab", "Exam")
- Properties (submittable, team-based, etc.)
- Use this type when creating course content
Groups organize students:
- Right-click on
Course Groups→Create Course Group - Enter group name
- Students can be assigned to groups
- Rename: Right-click →
Rename - Delete: Right-click →
Delete - Change Type: Right-click →
Change Content Type - View Details: Right-click →
Show Details
Examples are reusable assignment templates stored in a central repository.
The Examples view shows all available examples:
Example Repository
├── Category 1
│ ├── Example A
│ └── Example B
Use the toolbar icons:
- 🔍 Search: Search by title, identifier, or description
- 🏷️ Filter by Tags: Select multiple tags
- 📂 Filter by Category: Select a category
- ❌ Clear: Reset all filters
- Find the example in the tree
- Click the cloud download icon
- Or right-click →
Checkout Example
- Or right-click →
- The example is downloaded to your workspace
You can also:
- Checkout All Filtered Examples: Download all currently visible examples
- Checkout Multiple Examples: Select specific examples
Upload an existing example (after modifications):
- Make changes to a checked-out example
- Right-click on the example →
Upload Example - The updated version is uploaded
Upload as new example:
- Right-click on example repository root →
Upload as New Example - Select a folder containing the example
- Enter metadata (title, category, tags, etc.)
Upload from ZIP:
- Right-click on example repository root →
Upload Examples from ZIP - Select a ZIP file containing one or more examples
- Each subfolder becomes a separate example
Link an example to course content:
- Right-click on an example →
Create Assignment in Course - Select target course
- Select parent content (or root)
- Enter assignment details
- Assignment is created and linked to the example
Or assign to existing content:
- Right-click on course content →
Assign Example - Select the example from the list
When viewing an example's files:
- Rename: Right-click →
Rename - Delete: Right-click →
Delete - Reveal in Explorer: Open in VS Code file explorer
Students can't see content until it's released:
- Right-click on course, course contents, or specific content →
Release Course Content - Choose release scope:
- Single content item
- All content in a course
- All content recursively
- Content becomes visible to students
- Messages: Right-click →
Show Messagesto see discussions - Member Comments: Right-click →
Show Commentsfor student notes - Open GitLab Repo: Right-click on course →
Open GitLab Repository
For submittable assignments, you can manage the file structure:
- Right-click on assignment →
New FolderorNew File - Upload folder contents
- Students will see this structure when they clone
- Command:
Computor: Change Password - Enter current password
- Enter new password
- Confirm new password
Test connectivity to the backend:
- Command:
Computor: Check Backend Connection - Results show:
- Backend status
- Authentication status
- User information
Messages are used for announcements and discussions:
- Right-click on any course or content item
- Select
Show Messages - A webview opens with the message thread
- You can post new messages and reply
View git status of the current repository:
- Command:
Computor: Show Git Status - Status is displayed in the output panel
Access extension settings:
- Command:
Computor: Settings - Configure:
- Default workspace directory
- Test runner preferences
- UI preferences
Problem: "Login failed" or "Invalid credentials"
Solutions:
- Verify backend URL is correct
- Check username and password
- Ensure backend is accessible (try in browser)
- Try a different authentication method
Problem: "Failed to clone repository"
Solutions:
- Students: Ensure you have access to the course
- Tutors: Check GitLab tokens are configured (
Manage GitLab Tokens) - Verify git is installed (
git --versionin terminal) - Check network connectivity to GitLab
Problem: "Authentication failed" when cloning student repositories
Solutions:
- Run
Computor: Manage GitLab Tokens - Ensure token is for the correct GitLab origin
- Verify token has
read_repositoryorwrite_repositoryscope - Check token hasn't expired in GitLab
Problem: Tests don't run or show errors
Solutions:
- Ensure repository is cloned and opened
- Check that dependencies are installed (
npm installor similar) - Verify test command in assignment configuration
- Check test output in Test Results panel for specific errors
Problem: Student/Tutor/Lecturer view doesn't appear
Solutions:
- Log out and log back in
- Check that your account has the appropriate role
- Contact administrator to verify role assignment
- Try reloading VS Code window
Problem: "Cannot connect to backend"
Solutions:
- Check backend URL in settings
- Verify backend is running
- Test network connectivity
- Check firewall/proxy settings
- Use
Computor: Check Backend Connectionto diagnose
Problem: Extension asks for login repeatedly
Solutions:
- Ensure you have an open folder in VS Code
- Check that
.computorfile exists in workspace root - Re-run login to recreate the file
- Ensure workspace folder has write permissions
Problem: Extension is slow or unresponsive
Solutions:
- Clear extension cache (restart VS Code)
- Reduce number of open repositories
- Check backend server performance
- Disable unused views
Problem: "Failed to upload example"
Solutions:
- Ensure folder structure is valid
- Check for required files (e.g.,
meta.yaml) - Verify file sizes aren't too large
- Check backend logs for specific errors
The extension uses VS Code command palette for all actions. Common workflow:
Ctrl+Shift+P(orCmd+Shift+P) - Open command palette- Type
Computor:to see all available commands - Select the desired command
You can assign custom keyboard shortcuts to frequently used commands:
- File → Preferences → Keyboard Shortcuts
- Search for
Computor - Add your preferred shortcut
- Save frequently: Commit your work often, not just before submission
- Test locally: Always run tests before submitting
- Read messages: Check for announcements from lecturers and tutors
- Ask questions: Use the message system to communicate with instructors
- Use filters: Filter students to focus on specific groups or assignments
- Download examples: Compare student work with example solutions
- Provide detailed feedback: Use both grades and comments
- Batch grading: Use filters to grade multiple students efficiently
- Use examples: Create reusable examples for common assignment types
- Organize with groups: Use course groups to organize students
- Progressive release: Release content gradually throughout the course
- Monitor progress: Regularly check student submissions and messages
- Use content types: Define clear content types for different assessment methods
- Check this documentation: Most common questions are answered here
- Contact your administrator: For account or access issues
- Report bugs: Contact your Computor administrator with bug reports
- Feature requests: Suggest improvements through your organization
When using Computor, your workspace might look like:
my-workspace/
├── .computor # Extension marker file
├── course-a/
│ ├── assignment-1/ # Student repositories
│ └── assignment-2/
├── course-b/
│ └── lab-1/
└── examples/ # Downloaded examples
├── example-sorting/
└── example-graphs/
The .computor file stores workspace-specific settings:
{
"backendUrl": "http://localhost:8000"
}This file is created automatically on first login.
Examples may contain a meta.yaml file with metadata:
title: Sorting Algorithms
category: Algorithms
tags:
- sorting
- quicksort
- mergesort
description: Implementation of common sorting algorithmsThis file is used when uploading examples to the repository.