English|简体中文
VS Code extension designed for OIers and ACMers, for running single-file programs.
The Story Behind OI Runner++
Running single C++ files in VS Code isn't straightforward, and I've suffered from this. Online tutorials often require configuring lengthy, complex, and arcane .vscode/launch.json
and .vscode/tasks.json
files, which is pure torture.
Compared to that, the Code Runner extension offers a better experience, but it's not suitable for the specific scenario of OI (competitive programming):
- It leaves messy history in the Terminal.
- It doesn't show execution time or exit code.
- You have to manually input test cases every time.
Later, I discovered OI Runner. It's tailor-made for the OI scenario, and I personally think its experience is nearly perfect. However, after using it for a while, some issues became apparent:
- Execution time and exit code are mixed with the output.
- There's no status indication for compiling/running.
- The stop button doesn't work.
- The working directory for compilation/execution is the source file's directory, not the workspace directory.
I submitted a PR, but the maintainer seems to have abandoned OI Runner and didn't respond.
On 2024/6/21, I decided to develop OI Runner++, completely rewriting it based on OI Runner and releasing it. Therefore, OI Runner++ retains OI Runner's concise UI design but improves upon many features.
Install the extension from one of:
For a quick start guide:
- Open the Command Palette (Ctrl + Shift + P)
- Enter & select
Welcome: Open Walkthrough...
- Enter & select
Get Started with OI Runner++
All configuration descriptions can be accessed via the VS Code settings UI (Ctrl + ,) by searching for @ext:typed-sigterm.oi-runner-2
.
OI Runner++ collects some telemetry data to help improve the extension (e.g., understanding which VS Code versions need to be supported). You can search for mixpanel.track
in the source code repository to see what information is collected.
Telemetry data does not include personal or sensitive information and is used for statistical purposes only. You can disable telemetry by setting VS Code's telemetry.feedback.enabled
to false
and restarting VS Code.
This project is deeply inspired by OI Runner. Thanks to @CmdBlockZQG and other contributors of OI Runner.