Skip to main content

'Online judge aware Rust IDE'

Project description

Rujaion : Rust / C++ / Python IDE specialized in online judge

Code style: black

Travis PyPI screen_cast

Introduction

Lightweight Rust IDE based on PyQt. (C++ and Python support is experimental)

This IDE is simplified and specialized to competitive programming, user can concentrate on programming and can achieve best performance.

Testing with sample cases, debugging with test cases, and submission can be by one click.

Feature

  • Rust / C++ / Python
  • GUI debug
  • Online judge testcases downloading and testing. (based on online-judge-tools)
  • Debug with online judge testcases
  • Do online judge submission
  • Completer and jumper (based on racer)
  • Auto Formatting (based on rustfmt)
  • Rust REPL (based on evcxr_repl)
  • Live Templates (IntelliJ style)
  • Contest Task Browsing
  • Display graph structure

Software Requirements

  • Linux OS (I only tested with Ubuntu 16.04 / 18.04)
  • Python (3.5 or later)

If you want to develop with rust-lang, you need

If you want to develop with C++, you need

  • clang (8.0.0 or later)
  • clang-format
  • g++

If you want to develop with Python 3.x, you need

  • jedi (pip install jedi)
  • autopep8 (pip install autopep8)

Usage

If you want to use Rujaion please read and agree with our cookie policy.

Install to Linux

Install Qt5. If you use Ubuntu 16.04,

$ apt update && apt install -y qt5-default libxcb-xinerama0-dev libnss3 libasound2

will work. Or please see official document (https://www.qt.io/download).

Install Rujaion

$ pip3 install Rujaion
$ rujaion

Use on Docker

See https://github.com/fukatani/rust-gui-debugger/blob/master/docker/Readme.md

KeyBinds

  • Open File (Ctrl + o)
  • Save File (Ctrl + s)
  • Delete current line (Ctrl + k)
  • Set or unset brake point (F5)
  • Start Debug or continue (F9)
  • Start Debug with downloaded testcase (F4)
  • Download sample testcases (Input url in browser and Press Enter)
  • Focus on URL (F6)
  • Run (Ctrl + F9)
  • Next (F8)
  • Step in (F7)
  • Step out (Shift + F8)
  • Jump to definition (F2)
  • Terminate debug process (Esc)
  • display value (editting display widget "Name" columns)
  • Comment out (Ctrl + /)
  • Toggle Show / Hide Browser Widget (F12)
  • Toggle Full Screen Browsing / or not (Ctrl + F12)
  • Toggle Show / Hide Console Widget (F11)

Contest Task Browsing

browse

You can browse contest task by Browser Widget. You can hide (or show) browser, press F11 key. If page URL is contest task page, contest task is downloaded automatically by online-judge-tools.

Login to Programming Contest

Some online-judge-tools features (ex. submit) needs login session information.

You can login by

  1. Login with Browser Widget
  2. Tool bar -> Contest -> Login

Cookie and Security Policy

Rujaion only use cookies for programming contest pages which is supported by online-judge-tools.

Though you can access any page by browser widget, cookies in other page will not be handled in rujaion explicitly. (QtWebEngine may use it.)

Cookies are only used for online-judge-tools features that require login. (Excepts QtWebEngine inner use.)

We are not liable for damages arising from any user with using rujaion.

Display Graph (Powered by Graph x Graph)

In contest, you often draw graph structure.

Select graph elements and do "View Graph" in browser right click menu, you can draw graph structure easily.

screen_cast_graph

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Rujaion-0.7.0.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Rujaion-0.7.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file Rujaion-0.7.0.tar.gz.

File metadata

  • Download URL: Rujaion-0.7.0.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.2

File hashes

Hashes for Rujaion-0.7.0.tar.gz
Algorithm Hash digest
SHA256 716d890efdaa1540a48a23a11574ab9c8f13cd83b78997b7fda00ad4769d2450
MD5 5f647a8e03215a3364e63a7c3d05f826
BLAKE2b-256 47efebc036cbcd30f89099923035623c47694999342bc77ccceedc417fd4f899

See more details on using hashes here.

File details

Details for the file Rujaion-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: Rujaion-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.2

File hashes

Hashes for Rujaion-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb9e49af9fe953171e27225ffed2ed65394a6710aadfbdd90647eb301cb3e7c0
MD5 1b3e0c52eeb2fe0551fc5afd29b4c223
BLAKE2b-256 13696c0801e553fc238358d86eb53422030e71ce9560b1f4bcdb7b5e3fbd0ea7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page