ShortestPath IDE is an open-source integrated development environment for competitive programming (OI / ICPC), built on Code - OSS. It is designed to be usable for a contest from the very first launch: a first-run wizard configures your toolchain, CPH imports problems, runs one-click tests, and submits directly, and the ShortestPath OJ integration keeps your contest state in sync.
- One-click setup wizard: guides you through installing and configuring the C++ toolchain on Windows, macOS, and Linux on first launch, and can be rerun any time
- Toolchain detection and repair: automatically detects available compilers, re-detects or repairs on demand, and ships a diagnostics panel — no more guessing why a build fails
- OI workspace initialization: creates
.clangd(C++23) and.clang-formatautomatically when you open a folder
- CPH Plus (bundled): with the Competitive Companion browser extension, import a problem in one click from its page, auto-download samples, compile and run tests with a single command, then submit back to the judge
- Multi-OJ auto-filing: problems from Codeforces, AtCoder, Luogu, NowCoder, CSES, VJudge, and more are archived with configurable
{OJ}/{contest}/{problem}templates and automatic directory creation, with per-OJ overrides - clangd completion and diagnostics: paired with Error Lens for inline error highlighting right on the code
- Auto-formatting: format on save and on paste by default (clang-format), configurable in one click
- Configurable C++ snippets: less boilerplate before the first keystroke of a solution
ShortestPath IDE includes the ShortestPath OJ integration extension. On a supported problem page at ShortestPath OJ, use the website's IDE-integration entry while the IDE is running. The browser and IDE then communicate only through a local connection (127.0.0.1:21474).
After the page is connected, the IDE opens the problem view beside your source file and keeps the following information synchronized with the website:
- statement, examples, problem timer, hints, and hint-answer access state;
- source-code submission, submission progress, and final verdicts;
- editorial access and hint likes; and
- the problem context needed to continue the workflow in CPH Plus (including problem-level stress testing).
The website remains the source of truth for permissions such as opening hint answers and editorials. If the view shows that it is disconnected, keep ShortestPath IDE open and trigger the website's integration entry again. The local bridge does not expose a network service outside the current machine; source code is sent only when you choose to submit it.
- Automatic build-artifact cleanup: compiled executables are removed 60 seconds after the run by default, keeping your workspace clean (configurable delay and on/off)
- Config files hidden by default:
.cphand other config files stay out of the Explorer until you toggle “Show All Files” - Contest-friendly defaults: format on save, inlay hints, autosave, hidden status bar and command center, smooth scrolling — more screen space for code
- Bundled Simplified Chinese language pack, plus Error Lens, Better C++ Syntax, and CodeSnap
ShortestPath IDE is distributed on macOS as a zip archive. If you are new to macOS or hit the “damaged” / “unidentified developer” warning on first launch, see the macOS installation guide (简体中文) for step-by-step instructions and a troubleshooting table.
Run the following from this directory:
npm ci
npm run compile
./scripts/code.sh --locale zh-cn --user-data-dir ./tmp/shortestpath-devBuild a macOS Apple Silicon package:
npm run compile-oi-extensions
npm run gulp vscode-darwin-arm64-minBuild a Windows x64 package:
npm run compile-oi-extensions
npm run gulp vscode-win32-x64-minShortestPath IDE is licensed under GPL-3.0-or-later. Open-source components included, modified, or bundled by this project remain under their respective licenses. The table below identifies principal sources; it is not a complete third-party dependency inventory.
| Project | Purpose | License |
|---|---|---|
| Code - OSS | Upstream editor codebase | MIT |
| Competitive Programming Helper Plus | Contest problem and testing workflow | GPL-3.0-or-later |
| Error Lens | Inline diagnostic highlighting | MIT |
| C/C++ Compile Run | C/C++ compile-and-run support | GPL-3.0 |
| vscode-clangd | clangd editor integration | MIT |
| CodeSnap | Source-code screenshots | MIT |
| Better C++ Syntax | C++ syntax highlighting | MIT |
| VS Code Simplified Chinese Language Pack | Simplified Chinese UI localization | MIT |
See ThirdPartyNotices.txt for full third-party copyright and license notices. Preserve the license files included with individual extensions as well. This notice is not legal advice.
Please use Issues to report bugs or suggest improvements. Before submitting changes, run the compilation or tests relevant to your change.
By using this software you agree to its terms — including the one that says: restart, search, and read the docs before opening an issue. Skip all three and you'll be roasted. The roast is complimentary; consider it a growth experience.