{"id":13671995,"url":"https://github.com/unneon/icie","last_synced_at":"2025-04-27T18:32:00.696Z","repository":{"id":43383141,"uuid":"142655329","full_name":"unneon/icie","owner":"unneon","description":"Competitive programming IDE-as-a-VS-Code-plugin","archived":false,"fork":false,"pushed_at":"2023-10-01T17:19:45.000Z","size":2039,"stargazers_count":84,"open_issues_count":18,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-11T09:44:20.643Z","etag":null,"topics":["atcoder","codechef","codeforces","competitive-programming","contest","cpp","programming-competitions","spoj","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=pustaczek.icie","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unneon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-28T07:05:48.000Z","updated_at":"2024-09-02T09:05:47.000Z","dependencies_parsed_at":"2024-11-11T09:32:48.110Z","dependency_job_id":"a725bb94-fae8-4da2-80f0-ecdc4dc21aee","html_url":"https://github.com/unneon/icie","commit_stats":null,"previous_names":[],"tags_count":72,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unneon%2Ficie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unneon%2Ficie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unneon%2Ficie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unneon%2Ficie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unneon","download_url":"https://codeload.github.com/unneon/icie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251187377,"owners_count":21549629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atcoder","codechef","codeforces","competitive-programming","contest","cpp","programming-competitions","spoj","vscode-extension"],"created_at":"2024-08-02T09:01:23.666Z","updated_at":"2025-04-27T18:31:58.961Z","avatar_url":"https://github.com/unneon.png","language":"Rust","readme":"# ICIE [![](https://img.shields.io/azure-devops/build/pustaczek/7b7eb991-b079-479b-8716-8248c968eaf8/1?logo=azure-pipelines)](https://dev.azure.com/pustaczek/ICIE/_build?definitionId=1) [![](https://img.shields.io/visual-studio-marketplace/i/pustaczek.icie.svg?logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=pustaczek.icie) [![](https://img.shields.io/visual-studio-marketplace/v/pustaczek.icie.svg?color=success)](https://marketplace.visualstudio.com/items?itemName=pustaczek.icie) [![](https://img.shields.io/github/languages/top/pustaczek/icie?color=success\u0026logo=rust)](https://www.rust-lang.org/) [![](https://img.shields.io/github/license/pustaczek/icie.svg?logo=github\u0026color=success)](https://github.com/pustaczek/icie/blob/master/LICENSE)\n\nICIE is intended to be a VS Code plugin which turns it into an IDE focused on competitive programming.\nIt 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.\nBoth efficiency and convenience are priorities, with automated behavior and keyboard shortcuts making coding hassle-free and achieving otherwise impossible time penalties.\nCurrently, it works on Windows, Linux and macOS, with support for [Codeforces], [AtCoder], [CodeChef] and [SPOJ].\nIf you have any questions, just create a [GitHub issue]!\n\n## Quick start\n\n- Launch [Visual Studio Code], go to Extensions, search for ICIE and click Install.\n- **To participate in a contest**, press \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003eF9\u003c/kbd\u003e before it starts and select it from the list.\n- Use \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003eF12\u003c/kbd\u003e to automatically build, run example tests and submit if tests pass.\n- Use \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003eBackspace\u003c/kbd\u003e to quickly switch between tasks.\n- **To open a single task or an old contest**, press \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003eF11\u003c/kbd\u003e and copy-paste its URL.\n- Check out all the other features below!\n\n### More features\n\n- Hover over the test input or output and press \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003eC\u003c/kbd\u003e to copy it\n- Click \"Edit\" icon on test input or output to edit it\n- Click \"Accept\" icon on a failing test output to mark it as correct\n- Click \"Reverse\" icon on a failing test output to launch it in [GDB debugger]\n- Click \"Reverse 2x\" icon on a failing test output to launch it in [RR debugger]\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e-\u003c/kbd\u003e to add a new test\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003et\u003c/kbd\u003e to launch a terminal\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e0\u003c/kbd\u003e to run tests without submitting\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e9\u003c/kbd\u003e to run stress tests (test your solution on thousands of random tests)\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e8\u003c/kbd\u003e to reopen task statement\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003ei\u003c/kbd\u003e to generate a simple struct and an input operator\u003e\u003e\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e[\u003c/kbd\u003e to automatically [copy-paste parts of your library]\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e=\u003c/kbd\u003e to create a new file from a template\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e;\u003c/kbd\u003e to manually compile a file\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e\\\\\u003c/kbd\u003e and \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e0\u003c/kbd\u003e to run tests on currently open file instead of the solution\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e+\u003c/kbd\u003e and select \"C++ Checker\" to use custom code for checking output correctness\n- \u003ckbd\u003eAlt\u003c/kbd\u003e\u003ckbd\u003e+\u003c/kbd\u003e and select something else to create more .cpp files from templates\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003eP\u003c/kbd\u003e and select \"ICIE Web\" to open contest or task page in a web browser\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003eShift\u003c/kbd\u003e\u003ckbd\u003eP\u003c/kbd\u003e and select \"ICIE Password reset\" to log out or reset a password\n- \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003e,\u003c/kbd\u003e and select Extensions \u003e ICIE to easily configure ICIE's behavior.\n- To alter settings only for the current task, use the \"Workspace\" tab in the settings view.\n\n### Supported sites\n| | Contests | Statement | Examples | Submit | Track |\n| - | - | - | - | - | - |\n| [Codeforces] | Yes | Yes | Yes | Yes | Yes |\n| [AtCoder] | Yes | Yes | Yes | Yes | Yes |\n| [CodeChef] | Yes | Yes | | Yes | Yes |\n| [SPOJ] | | Yes | | Yes | Yes |\n| *sio2 sites* | | Yes | | Yes | Yes |\n\n## Development \u0026 Building from source\n\nThe instructions can be found in [CONTRIBUTING.md].\nThe 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.\nIf you have any trouble, just create a [GitHub issue]!\n\n[AtCoder]: https://atcoder.jp\n[CodeChef]: https://www.codechef.com/\n[Codeforces]: https://codeforces.com\n[CONTRIBUTING.md]: https://github.com/pustaczek/icie/blob/master/CONTRIBUTING.md\n[copy-paste parts of your library]: https://github.com/pustaczek/icie/blob/master/docs/QUICKPASTE.md\n[GDB debugger]: https://medium.com/@amit.kulkarni/gdb-basics-bf3407593285\n[GitHub issue]: https://github.com/pustaczek/icie/issues\n[RR debugger]: https://rr-project.org/\n[SPOJ]: https://www.spoj.com\n[Visual Studio Code]: https://code.visualstudio.com/\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funneon%2Ficie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funneon%2Ficie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funneon%2Ficie/lists"}