Course Project Manager for VS Code
Submit course projects to a submit server directly from Visual Studio Code. This extension is a port of the Eclipse umd-submit-server-extension plugin for use in VS Code.
Features
- Easy Project Submission: Submit your course projects with a single command
- Multiple Authentication Methods: Supports both LDAP and OpenID authentication
- Flexible File Filtering: Use
.submitIgnore and .submitInclude files to control what gets submitted
- Automatic File Zipping: Automatically creates a zip archive of your project files
- Smart Defaults: Ignores common build artifacts, temporary files, and version control directories
Requirements
Your project must have a .submit file downloaded from your course's submit server. This file contains the configuration needed to submit to the correct server and course.
How to Use
Initial Setup
- Download the
.submit file from your course submit server
- Place it in the root of your project workspace
- Open the project in VS Code
Submitting a Project
- Open the Command Palette (
Ctrl+Shift+P or Cmd+Shift+P)
- Type "Submit Project to Server" and press Enter
- Follow the authentication prompts:
- For LDAP: Enter your DirectoryID and password
- For OpenID: Copy the submission credentials from the browser
- Wait for confirmation that your project was submitted successfully
Alternative Methods
- Right-click on the
.submit file in the Explorer and select "Submit Project to Server"
- Use the keyboard shortcut (if configured)
Configuration Files
.submit (Required)
This file is provided by your course submit server and contains:
- Submit server URL
- Course key
- Project number
- Authentication method
.submitIgnore (Optional)
List files and patterns to exclude from submission. Examples:
*.class
*.o
*.exe
build/
temp/
.submitInclude (Optional)
Explicitly include files even if they match ignore patterns:
src/important.class
docs/required.pdf
.submitUser (Auto-generated)
Contains your authentication credentials. Do not share this file or commit it to version control!
Add to your .gitignore:
.submitUser
Extension Settings
This extension contributes the following settings:
umd-submit-server-extension.autoSaveBeforeSubmit: Automatically save all files before submitting (default: true)
umd-submit-server-extension.showSubmitConfirmation: Show confirmation dialog before submitting (default: true)
Default Ignore Patterns
The extension automatically ignores these common patterns:
- Version control:
.git, CVS, .svn
- Build artifacts:
*.class, *.o, *.exe, *.dll
- Temporary files:
*~, *.bak, *.tmp
- IDE folders:
.vscode, .idea, node_modules
- And many more...
Troubleshooting
"No .submit file found"
Download the .submit file from your course submit server and place it in your project root.
"Authentication failed"
- Verify your username and password are correct
- Check that you have network connectivity
- Ensure the submit server is accessible
"No files found to submit"
- Check your
.submitIgnore patterns aren't too aggressive
- Verify files exist in your project
- Use
.submitInclude to explicitly include needed files
"Submission timeout"
- Check your network connection
- The submit server might be experiencing high load - try again later
Privacy & Security
- Your credentials are only stored locally in
.submitUser
- Always add
.submitUser to your .gitignore
- Credentials are transmitted over HTTPS
- No data is collected by this extension
Support
For issues with:
- The extension: File an issue on GitHub
- Submit server: Contact your course instructor or TA
- Authentication: Contact your institution's IT support
Release Notes
1.0.0
Initial release with:
- Project submission to submit server
- LDAP and OpenID authentication
- File filtering with ignore/include patterns
- Automatic zip file creation
Credits
Based on the Eclipse umd-submit-server-extension plugin originally developed at the University of Maryland.
License
Licensed under AGPLv3
Enjoy submitting your course projects!