A CLI tool that allows you to create a new rust project in a temporary directory with already installed dependencies.
Requires Rust 1.51.
cargo install cargo-temp
Create a new temporary project:
With no additional dependencies:
cargo-temp
With multiple dependencies:
cargo-temp rand tokio
When specifying a version:
cargo-temp anyhow=1.0`
Using the cargo's comparison requirements:
Exact version:
cargo-temp anyhow==1.0.13
Maximal version:
cargo-temp anyhow=<1.0.2
You can add repositories to your Cargo.toml
.
Examples:
HTTP:
cargo-temp anyhow=https://github.com/dtolnay/anyhow.git
SSH
cargo-temp anyhow=ssh://git@github.com/dtolnay/anyhow.git
To choose a branch or a revision:
Branch:
cargo-temp anyhow=https://github.com/dtolnay/anyhow.git#branch=master
Revision:
cargo-temp anyhow=https://github.com/dtolnay/anyhow.git#rev=7e0f77a38
Without a branch or a revision, cargo will use the default branch of the repository.
If you change your mind and decide to keep the project you can just delete the
TO_DELETE
file and the directory will not be deleted when the shell or the
editor exits.
You can create a git worktree from the current repository using:
cargo-temp --worktree
This will create a new working tree at the current HEAD. You can specify a branch like this:
cargo-temp --worktree <branch>
When exiting the shell (or your editor) the working tree will be cleaned up.
Equivalent to git worktree prune
.
The config file is located at {CONFIG_DIR}/cargo-temp/config.toml
.
When you run cargo-temp
for the first time it will be created automatically.
We use the XDG system for both Linux and OSX
and the Known Folder system on Windows.
The path where the temporary projects are created. Set on the cache directory by default.
toml
temporary_project_dir = "/home/name/.cache/cargo-temp/"
Cargo's target directory override.
This setting is unset by default and will be ignored if the CARGO_TARGET_DIR
environment variable is already set.
toml
temporary_project_dir = "/home/name/repos/tmp"
You can use editor
to start an IDE instead of a shell
and editor_args
to provide its arguments. These settings are unset by default.
Example to run VS Code on Unix
toml
editor = "/usr/bin/code"
editor_args = [ "--wait", "--new-window" ]
Example to run VS Code on Windows
toml
editor = "C:\\Program Files\\Microsoft VS Code\\Code.exe"
editor_args = [ "--wait", "--new-window" ]