This project is based on the generic starter for developers to use in Codespaces that includes basic system tools and extensions required for Rust development.
This is a basic environment that should be ready to expand upon to build a day-to-day development envrionment for Rust. It comes with the following software choices:
- curl/curl: the command line tool for transferring data over a metric boatload of protocols.
- git: the Git SCM tool.
- gnupg2: a complete and free implementatiuon of the OpenPGP standard.
- stedolan/jq - a command line JSON parser.
- sudo - the superuser authority delegation tool.
- zsh - interactive terminal (alternative to
bash
). - ohmyzsh/ohmyzsh - a delightful community driven framework for managing zsh config.
- vim - a text editor
- build essentials - tools for compiling and linking code
- openssl - tls and ssl toolkit
Besides Rust and Cargo, the image comes with the following Rust related tooling:
- rustup: installer and toolchain manager
- rustfmt: a tool for formatting Rust code according to style guidelines
- clippy: lints to catch common mistakes and improve your Rust code
- Rust Analyzer: an alternative rust language server to the RLS.
- CodeLLDB: native debugger based on LLDB.
- Crates: helps Rust developers managing dependencies with Cargo.toml.
- Live Share: collaborative, multi-user remote editing from directly within the editor.
- Ubuntu 18.04: The 18.04 LTS version of Ubuntu.
- Create a project using
cargo new
. - Build a project using
cargo build
. - Build and run a project in one step using
cargo run
. - Build a project without producing a binary to check for errors using
cargo check
. Instead of saving the result of the build in the same directory as our code, Cargo stores it in the target/debug directory. - Create a release build using
cargo build --release
.