Cargo について

Cargoとは何ですか?

Cargoは、Rustのビルドシステムおよびパッケージマネージャです。

Rust開発者は、Cargoを使用してRustプロジェクトを管理し、プロジェクトが依存するライブラリを取得することがよくあります。他の記事では、cargo new Greetingコマンドでgreetingという名前のプロジェクトを作成しました。Cargoはgreetingという名前の新しいフォルダを作成し、その中にRustプロジェクトの最も有名なファイル構造をデプロイしました。 このgreetingフォルダはプロジェクト本体です。

Cargoの機能

Cargoには、プロジェクトの作成以外、プロジェクトのビルド(build)やプロジェクトの実行(run)などの一連の機能が備わっています。ビルドと実行は、それぞれ次のコマンドに対応しています。

cargo build 
cargo run 

Cargoには、パッケージの取得、パッケージング、高度な構築などの機能があります。詳しい使い方については、Cargoコマンドを参照してください。

VSCodeでRustプロジェクトを構成する

Cargoはいいビルドツールで、VSCodeがそれに一致する場合、VSCodeは非常に便利な開発環境になります。

他の記事では、greetingプロジェクトを作成しました。今VSCodeを使用してgreetingフォルダを開きます。(ceodata-greetingではないことに注意してください)

greetingを開いた後、新しいフォルダ.vscodeを作成します(vscodeの前のドットに注意してください。このフォルダが既にある場合は、新しいフォルダを作成する必要はありません)。 作成した新しい.vscodeフォルダにtasks.jsonとlaunch.jsonの2つのファイルを作成します。ファイルの内容は次のとおりです。

tasks.json ファイル


{ 
    "version": "2.0.0", 
    "tasks": [ 
        { 
            "label": "build", 
            "type": "shell", 
            "command":"cargo", 
            "args": ["build"] 
        } 
    ] 
}

launch.json ファイル(Windowsシステムに適用する)

{ 
    "version": "0.2.0", 
    "configurations": [ 
        { 
            "name": "(Windows) 起動", 
            "preLaunchTask": "build", 
            "type": "cppvsdbg", 
            "request": "launch", 
            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", 
            "args": [], 
            "stopAtEntry": false, 
            "cwd": "${workspaceFolder}", 
            "environment": [], 
            "externalConsole": false 
        }, 
        { 
            "name": "(gdb)  起動", 
            "type": "cppdbg", 
            "request": "launch", 
            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", 
            "args": [], 
            "stopAtEntry": false, 
            "cwd": "${workspaceFolder}", 
            "environment": [], 
            "externalConsole": false, 
            "MIMode": "gdb", 
            "miDebuggerPath": "ここはGDBが配置されているディレクトリを入力します", 
            "setupCommands": [ 
                { 
                    "description": "gdbのきちんとした印刷を有効にします", 
                    "text": "-enable-pretty-printing", 
                    "ignoreFailures": true 
                } 
            ] 
        } 
    ] 
}

launch.json ファイル(Linuxシステムに適用する)

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "gdb",
            "preLaunchTask": "build",
            "request": "launch",
            "target": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
            "cwd": "${workspaceFolder}"
        }
    ]
}

launch.json ファイル(Mac OSシステムに適用する)

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) 起動",
            "type": "cppdbg",
            "preLaunchTask": "build",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

次には、VSCodeの左側のメニューにある[実行]をクリックします。

MSVCを使用している場合は、 “(Windows) 起動”を選択します。

MinGWを使用し、GDBがインストールされている場合は、”(gdb)起動”を選択し、gdbを開始する前にlaunch.jsonに”miDebuggerPath”を入力してください。

プログラムは実行してデバッグします。実行した結果は「デバッグコンソール」に表示されます。

VSCodeでRustをデバッグする

プログラムのデバッグ方法は他の環境に似てます。行番号の左側にある赤い点をクリックするだけでブレークポイントを設定できます。実行中にブレークポイントまで一時停止するため、開発者はリアルタイム変数の値を監視できます。

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です