Rust 1.5:ブラックジャック付き貨物

大ust日、Rust 1.5がリリースされました。 リリース1.6が近づいているので、追いつき、最新の安定版に何が登場したかについてお話したいと思います。 重要な変更がCargoに影響を及ぼしました!

主な変更点は、 cargo installコマンドです。 その魅力は、貨物に外部プラグインをインストールできることです。 利用可能な拡張機能のリストはここにあります;プラグインの箱にはほとんどの場合cagro-プレフィックスが付いてます。 それらのいくつかを使用した例を示します。

カーゴチェック

checkコマンドを使用すると、アセンブリなしでコードをチェックできます。 インストール:

cargo install cargo-check 

buildコマンドを使用するのと同じように、使用方法は非常に簡単です。

 cargo check 

このコマンドは、プロジェクトのRustソースコードに基づいてすべての警告とエラーを表示します。

貨物編集

editコマンドを使用すると、依存関係を管理できます。 インストール:

 cargo install cargo-edit 

実際、 addrmlistの 3つのコマンドがすぐにインストールされます。 次のように使用します。

 cargo list env_logger ~0.3 hyper ~0.7 json_macro 0.1.1 log ~0.3 lua git: "https://github.com/jcmoyer/rust-lua53" mould path: "C:\\DEVELOPMENT\\rust-dev\\mould" r2d2 0.6.3 r2d2_sqlite 0.0.4 rusqlite 0.6.0 rust-crypto 0.2.34 rustc-serialize ~0.3.16 static-server path: "C:\\DEVELOPMENT\\rust-dev\\static-server" uuid 0.1.18 

次を使用して依存関係を追加します。

 cargo add <crate> [--dev|--build|--optional] [--vers=<ver>|--git=<uri>|--path=<uri>] [options] 


カーゴグラフ

graphコマンドは、GraphViz形式の依存関係グラフを生成します。 おそらく、あなたはすでにいくつかのRustライブラリでこれを見ています。 インストール:

 cargo install cargo-graph 

グラフはstdoutで生成されるため、ファイル名を指定します。

 cargo graph > deps.dot 

DOTファイルからPNGを生成した後:

 dot deps.dot -Tpng -o deps.png 

起こったことは次のとおりです。

画像

カーゴウォッチ

watchコマンドを使用すると、ファイルに変更が加えられたときにコードを自動的に収集できます。 このアプローチは、Node(Grunt、Gulp)の世界で非常に人気があります。 インストール:

 cargo install cargo-watch 

使用も同様に簡単です。

 cargo watch 

実際、コマンドは、ファイルの変更を監視するだけで、 ビルドコマンドとテストコマンドで無限ループを開始します。

ところで、すべてのコマンドについて、 ヘルプコマンドを使用してヘルプを取得できます。次に例を示します。

 cargo help watch Usage: cargo-watch [watch] [options] cargo watch [options] cargo-watch [watch] [<args>...] cargo watch [<args>...] Options: -h, --help Display this message `cargo watch` can take one or more arguments to pass to cargo. For example, `cargo watch "test ex_ --release"` will run `cargo test ex_ --release` If no arguments are provided, then cargo will run `build` and `test` 


貨物数

countコマンドを使用すると、コードに関する有用な統計を計算できます。 インストール:

 cargo install cargo-count 

入力するだけです:

 cargo count 

そして、次のレポートを受け取ります(彼は私を完全に喜んでいます!):

 Gathering information... Language Files Lines Blanks Comments Code -------- ----- ----- ------ -------- ---- TOML 1 19 1 0 18 Python 1 63 11 5 47 Rust 7 824 89 17 718 HTML 41218 5218543 1016734 239837 3961972 CSS 5 907 130 38 739 C 37 19303 2665 1964 14673 C Header 25 3970 1049 1012 1907 C++ Header 1 9 1 3 5 JavaScript 788 4024 591 155 3278 -------- ----- ----- ------ -------- ---- Totals: 42083 5247662 1021271 243031 3983357 


rustfmt

fmtコマンドを使用すると、コードを自動的にフォーマットできます。 Goには密接なアナログがあります。 インストール:

 cargo install rustfmt 

チームはかなり長い間コンパイルしており、これまでのところあまり安定していませんが、すでに非常に便利です。

ダイヤル:

 cargo fmt 

コードの書式設定を支援し、完了していないすべてのTODOを表示します。

まとめ

これで、すでに美しい貨物の利便性を大幅に高めることができます。 見通しは良好です。

PSところで、すべてのコマンドは、コンパイルして〜/ .cargo / bin /に追加する本格的なスタンドアロンのRustプログラムです。

 ls -lah ~/.cargo/bin/  33M drwxr-xr-x 1 denis_000 denis_000 0  15 12:17 . drwxr-xr-x 1 denis_000 denis_000 0  15 16:37 .. -rwxr-xr-x 1 denis_000 denis_000 3,5M  15 12:13 cargo-add.exe -rwxr-xr-x 1 denis_000 denis_000 2,2M  15 12:04 cargo-check.exe -rwxr-xr-x 1 denis_000 denis_000 3,3M  15 16:44 cargo-count.exe -rwxr-xr-x 1 denis_000 denis_000 2,4M  15 12:03 cargo-fmt.exe -rwxr-xr-x 1 denis_000 denis_000 3,1M  15 12:17 cargo-graph.exe -rwxr-xr-x 1 denis_000 denis_000 3,2M  15 12:13 cargo-list.exe -rwxr-xr-x 1 denis_000 denis_000 3,2M  15 12:12 cargo-rm.exe -rwxr-xr-x 1 denis_000 denis_000 3,3M  15 16:37 cargo-watch.exe -rwxr-xr-x 1 denis_000 denis_000 8,4M  15 12:03 rustfmt.exe 

Source: https://habr.com/ru/post/J275157/


All Articles