This is a vscode extension that provides functionalities on assignments following specific structure and fetched using github classroom. Functionalities include - starting and switching off containers associated with the project directory, Track and store active code time, auto run code in container & commit on save, forced auto save according to specified interval, push to repository using a button, run the assignment using a button.
Requirements
Git and github classroom extension should be installed and working with vscode.
Docker & Docker-Compose should be installed and working without sudo command.
Extension settings should be filled completely in vscode.
The initial directory for assignment repository should be fetched and made using github classroom.
File structure required -
Note:- File names, Folder names and key names mentioned are to be followed exactly.
Any other additional files are fine as they are not actually involved directly with the extension. Eg: files involved in commands inside makefile, README etc.
Explicit Features
Start/Stop container: starts/stops the container specified in docker-compose.yml.
Submit Progress: pushes to the repository set up by github classroom.
Run: runs the code in the container.
3 will be visible only after starting the container and will be hidden otherwise.
Implicit Features
Auto run and commit: each save will trigger run and commit silently.
Active code time: amount of time spent coding which stops after each inactivity of duration specified by Timer Shutdown Interval.
Forced Save after predefined intervals: after each duration specified by Force Save Interval all files inside the assignment folder will be saved.
Extension Settings
Force Save Interval: Minutes after which files will be automatically saved periodically.
Timer Shutdown Interval: Minutes after which user is marked inactive.
After changing settings, restarting vscode is encouraged.