-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Development
: Web IDE integration
#6706
Conversation
src/main/java/de/tum/in/www1/artemis/service/MonacoEditorService.java
Fixed
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/MonacoEditorService.java
Fixed
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/MonacoEditorService.java
Fixed
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/MonacoEditorService.java
Fixed
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/service/MonacoEditorService.java
Fixed
Show resolved
Hide resolved
# Conflicts: # src/main/webapp/app/exercises/programming/shared/code-editor/code-editor.module.ts # src/main/webapp/i18n/en/global.json
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
terminalInitRequest.put("projectType", programmingParticipation.getProgrammingExercise().getProjectType().name()); | ||
} | ||
|
||
HttpResponse response = this.sendRequest(new HttpPost(url), terminalInitRequest, true, false); |
Check failure
Code scanning / CodeQL
Server-side request forgery
filesUpdateRequest.put("changes", fileUpdates); | ||
|
||
try { | ||
this.sendRequest(new HttpPut(url), filesUpdateRequest, false, true); |
Check failure
Code scanning / CodeQL
Server-side request forgery
fileRenamingRequest.put("new", fileMove.newFilename()); | ||
|
||
try { | ||
this.sendRequest(new HttpPut(url), fileRenamingRequest, false, true); |
Check failure
Code scanning / CodeQL
Server-side request forgery
fileRemovalRequest.put("filename", filename); | ||
|
||
try { | ||
this.sendRequest(new HttpPut(url), fileRemovalRequest, false, true); |
Check failure
Code scanning / CodeQL
Server-side request forgery
* @return the current server's status | ||
*/ | ||
private LspServerStatus checkLspServerHealth(LspServerStatus serverStatus) { | ||
HttpGet request = new HttpGet(serverStatus.getUrl() + this.lspHealthEndpoint); |
Check failure
Code scanning / CodeQL
Server-side request forgery
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
Checklist
General
Server
Client
authorities
to all new routes and checked the course groups for displaying navigation elements (links, buttons).Changes affecting Programming Exercises
Motivation and Context
The currently used code editor was and still currently is an important functionality provided by Artemis to solve programming exercises. However, instructors and students expressed their willingness in having more features when coding with it.
Description
This pull request introduces an additional environment for solving programming exercise tasks. This new "webIDE" resembles the currently used code editor, but integrates a new set of features to it. Based on Monaco and leveraging the intellisense capabilities provided by LSP, supports the user during the coding tasks, while keeping the easy to use and familiar coding environment as in the current code editor.
In addition to the new integrated editor, the "webIDE" features a terminal like interface, providing the user with a sandboxed environment to test or run its code using custom commands. While being a more advanced way to run code, a sandboxed environment provides the user with a more flexible way to interact with the produced code, without relying on the predefined CI pipelines.
Currently supported programming languages:
Currently supported LSP features:
IMPORTANT
Development
: Update to Angular 16 and speedup the build process #6546 custom Webpack configurations have been removed, but still needed in this PR as for the time of writing. Some changes might still be necessary to make it compatible with Vite in the future.Steps for Testing
Prerequisites:
Exam Mode Testing
Prerequisites:
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Test Coverage
Screenshots
java_example.mp4
python_example.mp4