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
      
      






All Articles