A GUI for Cargo
This is a project to make a GUI for cargo, built using SixtyFPS:
cargo install cargo-ui cargo ui
In addition to a working cargo and Rust installation, a few other tools are needed:
- A working C compiler (such as MSVC)
- CMake installed in your
- "Xcode Command Line Tools" need to be installed:
- CMake installed and in your
PATH. In the CMake GUI application instructions can be found via
Tools->How to Install For Command Line Use.
The default style from SixtyFPS is the
ugly style. But the interface looks much
nicer using the
native style as this has native controls and images.
To install using the native style, use
SIXTYFPS_STYLE=native cargo install
The use of the native style requires Qt 5.15, see https://github.com/sixtyfpsui/sixtyfps/blob/master/docs/install_qt.md
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)