We're constantly improving labs to provide the best learning experience. We also provide continued support for older language versions, workspace settings, and setups. Older workspaces may occasionally require updates to ensure they function as well as new workspaces. We handle most of these updates on our end, but sometimes you may need to update those workspaces manually for the best results.
Java VSC
If you find that your Java VSC workspace takes a well over a minute to compile and run, it may have been created before we added additional exclusions to improve loading times in Java VSC's settings.json file. Cloning an older Java VSC workspace does not resolve the issue as a clone will also clone the settings.json file.
To resolve the issue, spin up the Java VSC workspace you want to edit and select open file from VSC's menu:
Navigate to /userdata/vscode/User/settings.json:
Add the following to the bottom of the settings.json:
"java.project.referencedLibraries": {
"include": [
"/usr/local/jar/*.jar",
"/usercode/*.jar",
"/usercode/lib/*.jar",
"/usercode/libs/*.jar"
],
"exclude": [
"/usercode/.direnv/**"
]
},
"java.import.exclusions": [
"**/node_modules/**",
"**/.metadata/**",
"**/archetype-resources/**",
"**/META-INF/maven/**",
"**/templater-front/**",
"**/.direnv/**"
],
"java.project.resourceFilters": [
"node_modules",
".metadata",
".direnv"
]
If you've made no changes to the VSC settings, it should now look like this:
{
"extensions.autoUpdate": false,
"extensions.autoCheckUpdates": false,
"files.exclude": {
"**/*.class": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true,
"**/.direnv": true,
"**/.envrc": true,
"**/.zylab": true
},
"java.autobuild.enabled": false,
"launch": {
"configurations": [
{
"type": "java",
"request": "launch"
}
]
},
"security.workspace.trust.untrustedFiles": "open",
"security.workspace.trust.enabled": false,
"telemetry.telemetryLevel": "off",
"workbench.startupEditor": "none",
"window.commandCenter": false,
"workbench.layoutControl.enabled": false,
"java.project.referencedLibraries": {
"include": [
"/usr/local/jar/*.jar",
"/usercode/*.jar",
"/usercode/lib/*.jar",
"/usercode/libs/*.jar"
],
"exclude": [
"/usercode/.direnv/**"
]
},
"java.import.exclusions": [
"**/node_modules/**",
"**/.metadata/**",
"**/archetype-resources/**",
"**/META-INF/maven/**",
"**/templater-front/**",
"**/.direnv/**"
],
"java.project.resourceFilters": [
"node_modules",
".metadata",
".direnv"
]
}
Save the changes.
Then, restart the instance to confirm the changes to the settings have been loaded.
Now, after the instance has restarted, you should see the compile and run completes much faster. Do the same for the model solution, if needed.
Keep in mind that learners who have already started their work would need to make this change, or reset to template. Resetting to the template will erase any current work, but they can retrieve it by opening History.
Contact support if you have any additional questions.