ICIE is intended to be a VS Code plugin which turns it into an IDE focused on competitive programming. It aims to cover every aspect of participating in programming competitions, from downloading statements and setting up template code, through building solutions and running the example tests to submitting the solution and tracking its status. Both efficiency and convenience are priorities, with automated behavior and keyboard shortcuts making coding hassle-free and achieving otherwise impossible time penalties. Currently, it works on Windows, Linux and macOS, with support for Codeforces, AtCoder, CodeChef and SPOJ.
- Launch Visual Studio Code, go to Extensions, search for ICIE and click Install.
- To participate in a contest, press AltF9 before it starts and select it from the list.
- Use AltF12 to automatically build, run example tests and submit if tests pass.
- Use AltBackspace to quickly switch between tasks.
- To open a single task or an old contest, press AltF11 and copy-paste its URL.
- Check out all the other features below!
- Hover over the test input/output and press CtrlC to copy it
- Click ✎ action to edit a test input or output
- Click ✓ action on a failing test to mark the output as correct
- Click ◀ action to launch the test in the gdb debugger
- Click ⏪ action to launch the test in the rr debugger
- Alt- to add a new test
- Altt to launch a terminal
- Alt0 to run tests without submitting
- Alt9 to run stress tests
- Alt8 to reopen task statement
- Alti to generate a simple struct and an input operator>>
- Alt[ to automatically copy-paste parts of your library
- Alt= to create a new file from a template
- Alt; to manually compile a file
- Alt\ and Alt0 to run tests on currently open file instead of the solution
- Use custom checker.cpp; see details in checker configuration entry
- Ctrl, and select Extensions > ICIE to easily configure ICIE's behavior.
- To alter settings only for the current task, use the "Workspace" tab in the settings view.
Contests | Statement | Examples | Submit | Track | |
---|---|---|---|---|---|
Codeforces | Yes | Yes | Yes | Yes | Yes |
AtCoder | Yes | Yes | Yes | Yes | Yes |
CodeChef | Yes | ||||
SPOJ | Yes | Yes | Yes | ||
sio2 sites | Yes | Yes | Yes |
The instructions can be found in CONTRIBUTING.md. The project is still in development, the Rust language does not have an official VS Code API, there is a custom build system, it uses WebAssembly which is still in heavy development, and it also patches the compiler output with regexes to remove some type checks, but nevertheless I have tried to make it as streamlined as possible.