English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية 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 يمكن العثور عليه في أوامر Cargo.

تكوين مشروع Rust في VSCode

Cargo هو أداة بناء جيدة، إذا تم دمجها مع VSCode، سيكون VSCode بيئة تطوير مريحة جدًا.

في الفصل السابق قمنا بإنشاء مشروع greeting، الآن نفتح مجلد greeting باستخدام VSCode (لا يكون w3codebox-greeting)。

بعد فتح greeting، أنشئ مجلدًا جديدًا .vscode (لاحظ النقطة قبل vscode، إذا كان هناك مجلد، لا تحتاج إلى إنشاء جديد). أنشئ في مجلد .vscode الجديد ملفين tasks.json و launch.json، محتويات الملفات كالتالي:

ملف 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": [], 
"console": false 
}, 
        { 
"name": "(gdb) البدء" 
"type": "cppdbg" 
"request": "launch" 
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe" 
"args": [], 
"stopAtEntry": false 
"cwd": "${workspaceFolder}" 
"environment": [], 
"console": 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)"، يرجى ملاحظة ملء "miDebuggerPath" في ملف launch.json قبل بدء gdb.


سيبدأ البرنامج في التشغيل في الت调试. سيظهر الإخراج في "شاشة الت调试":


ت调试 Rust في VSCode

طرق الت调试 في البرامج مشابهة للبيئات الأخرى، حيث يمكنك ضبط النقاط الثابتة بالنقر على النقطة الحمراء على يسار الرقم المرجعي، وسيتم إيقاف التشغيل عند النقطة الثابتة لمراقبة قيم المتغيرات في الوقت الحقيقي.