cargo-ui 0.2.0

GUI for cargo
cargo-ui-0.2.0 is not a library.

A GUI for Cargo

Build Status

This is a project to make a GUI for cargo, built using SixtyFPS:

Screenshot

The idea

cargo install cargo-ui
cargo ui

Prerequisites

In addition to a working cargo and Rust installation, a few other tools or libraries are needed:

Linux:

  • fontconfig library (libfontconfig-dev on debian based distributions)
  • xcb library (libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev on debian based distributions)

Windows:

  • A working C compiler (such as MSVC)

macOS:

  • "Xcode Command Line Tools" need to be installed: xcode-select --install

Style

The default style from SixtyFPS is the fluent 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 cargo-ui

The use of the native style requires Qt 5.15, see https://github.com/sixtyfpsui/sixtyfps/blob/master/docs/install_qt.md

Vision

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.toml file would also run cargo-ui.
  • ...

License

The source code of Cargo UI is available under the terms of both the MIT license and the Apache License (Version 2.0). (See LICENSE-APACHE and LICENSE-MIT for details.)

However, because of the use of GPL dependencies, cargo-ui, as a whole, is licensed under the terms of the GPLv3 (See LICENSE-GPL)