.idea | ||
.run | ||
src/main | ||
.gitignore | ||
build.gradle.kts | ||
DOMjudgelogo.svg | ||
gradle.properties | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
S-DOM
S-DOM is a plugin for IntelliJ IDEA that allows you to submit your code to the DOMjudge system directly from the IDE. It isn't a full replacement for the web interface yet, but already matches or surpasses the web UI in most tasks.
You can download the plugin from the JetBrains Marketplace.
Features
- Simple, one-click submissions and feedback (no need for File Explorer or reloading!)
- View problems and problem statements without leaving your IDE
- Unobtrusive and integrated
- Detects the language of submitted files
Potential future features
- Display how much time is left in a contest or whether it's already over
- Show "Too late" if a submission is not possible anymore
- Implement reading detailed results
- Show scoreboards
- Maybe even download test cases and scaffold sources
Contributing
If you want to contribute, feel free to fork the GitLab repository and submit a merge request there. I'm happy to accept any help, be it bug fixes, new features, or just code cleanup. Please note that I will merge MRs locally, so don't be surprised if your MR is marked as closed without merging. Also note that S-dom uses Gradle to build but does not use the gradle wrapper, so you should have Gradle installed on your system. Also take a look at the references below for some resources for developing this plugin.
References
Publishing
Note: This section is only relevant for the maintainer of this repository and provided mostly for reference.
- To publish a new version, first create a new tag for that version and push it to the repository.
- To do so, use the
bumpVersion
task provided byjf.autoversion
(source code) by runninggradle bumpVersion -PnextVersionType=release
. - Then push the tag to the repository using
git push --tags
. - After that, run
gradle buildPlugin -Prelease
to build the plugin. You can find the output of that task as a zip file in thebuild/distributions
directory. - Finally, upload the zip file to the JetBrains Marketplace.