This extension provide a custom UI/UX for Cengage VSCode.
Features
- Support for running: C#, C++, Java, Python, HTML&CSS, JavaScript, and MySQL.
- Support for opening a VNC Desktop Viewer for guis.
- Triggering the workflows to test student code and progress.
Requirements
npm install
in both the root/, /api and /ui directories to install require node modules
Extension Settings
To run the extension:
- Open the extension.js file and click Run and Debug option in the action pane. Select "Extension Development Host".
If extension.js is not open, Run and Debug will not know what file needs to be opened in the development host.
- Review the .env file. Update any token values with a personal access token from GitHub. This will be required to perform certain GitHub actions, like running tasks.
- This will open a new VSCode window. The extension will likely not work until the correct folder structure is detected. Make sure to open an ex# folder from a compatible repository, such as 9780357880876_pld-10e-cpp and make sure the VSCode window is narrowed in scope to any of the ex# folders. The directory should include the instructions and student directories.
When installed in a Codespace, the extension will be one level deeper, at the student level.
To reload the extension, try one of the following:
Ctrl + Shift + P
to open the command palette, and type "Cengage: Extension Refresh"
- Close the extension tab, Ctrl + Shift + P to open the command palette, and type "Cengage: Extension Open".
Viewing Changes
When updating React files in the ui/ directory it will be required to generate new build files by running npm run build
(from inside the ui/ directory). Then refresh the state of the extension host.
When updating files in the api/ directory there is no need to generate new build files, only refresh the extension host.
Deploying CI/CD
The CI/CD pipelines have been setup in the GitHub Actions tab. The dev
branch points to an insiders edition and the main
branch points to production. Deploy manually in the "Actions" tab by selecting the deployment type (major, minor, patch).
VSCE
https://learn.microsoft.com/en-us/visualstudio/extensibility/walkthrough-publishing-a-visual-studio-extension?view=vs-2022#troubleshoot-adding-a-user-to-the-publisher-account
https://code.visualstudio.com/api/working-with-extensions/publishing-extension