A GUI for Cargo
This is a project to make a GUI for cargo, built using SixtyFPS:
Cargo UI can be installed from crates.io:
cargo install cargo-ui
Alternatively, you can download one of our pre-built binaries for Linux or Windows:
- Open https://github.com/sixtyfpsui/cargo-ui/releases
- Click on the latest release
- From "Assets" download either
cargo-ui-linux.tar.gzfor a Linux x86-64 binary or
cargo-ui-windows.zipfor a Windows x86-64 binary.
- Uncompress the downloaded archive and run
cargo-ui.exeor place the uncompressed directory into your
In addition to a working cargo and Rust installation, a few other tools or libraries are needed:
- fontconfig library (
libfontconfig-devon debian based distributions)
- xcb library (
libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-devon debian based distributions)
- A working C compiler (such as MSVC)
- "Xcode Command Line Tools" need to be installed:
For the native style: (optional)
- The native style requires Qt >= 5.15, see https://github.com/sixtyfpsui/sixtyfps/blob/master/docs/install_qt.md. If Qt is not present while building, the fluent style will be used as a fallback.
Some ideas for features:
- Choose the binary to run or the lib to build or the test to run
- Display the errors in a nice way
- Select the debug or release mode
- Select the toolchain (nightly, stable, ...)
- Maybe integrate with rustup to update the toolchain or install new one
- See the dependencies as an expendable tree
- Show duplicated dependencies
- Show outdated dependencies, with button to easily update
- Ability to easily add dependency (by searching the crates.io index)
- Edit features of dependencies from a list.
- Show asm, llvm-ir, ...
- Show build progress and be able to cancel the build
- Edit other metadata of the the Cargo.toml (edition, author, ...)
- Manage workspaces and do batch edit of the metadata on all members
- Have a "playground" tab which allow to easily try rust code
- A publish tab which publishes all the crates in the workspace in the right order
- Double-click on a
Cargo.tomlfile would also run cargo-ui.
However, because of the use of GPL dependencies, cargo-ui, as a whole, is licensed under the terms of the GPLv3 (See LICENSE-GPL)