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

Tutoriales de Cargo

¿Qué es Cargo?

Cargo es el sistema de construcción y gestor de paquetes de Rust.

Los desarrolladores de Rust utilizan a menudo Cargo para gestionar proyectos de Rust y obtener las bibliotecas dependientes del proyecto. En el tutorial anterior, utilizamos el comando cargo new greeting para crear un proyecto llamado greeting, Cargo creó una carpeta llamada greeting y desplegó en ella la estructura de archivos típica de un proyecto Rust. Esta carpeta greeting es el propio proyecto.

Funciones de Cargo

Además de crear proyectos, Cargo también tiene una serie de funciones como construir (build) y ejecutar (run) proyectos, que corresponden a los siguientes comandos:

cargo build 
cargo run

Cargo también tiene funciones como obtener paquetes, empaquetar, construcción avanzada, etc., consulte la documentación de comandos de Cargo para el uso detallado.

Configurar el proyecto Rust en VSCode

Cargo es una buena herramienta de construcción, si se coordina con VSCode, VSCode será un entorno de desarrollo muy conveniente.

En el capítulo anterior creamos el proyecto greeting, ahora abrimos la carpeta greeting con VSCode (No es w3codebox-greeting)。

Después de abrir greeting, crea una nueva carpeta en el interior .vscode (tenga en cuenta el punto antes de vscode, si ya existe esta carpeta, no es necesario crearla). En la carpeta .vscode recién creada, cree dos archivos: tasks.json y launch.json. El contenido de los archivos es el siguiente:

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, 
 
 
            "console": false 
        }, 
        { 
            "name": "(gdb) 启动", 
            "type": "cppdbg", 
            "request": "launch", 
            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe", 
            "args": [], 
            "stopAtEntry": false, 
 
 
 
 
 
\ 
 
\ 
\-habilitar-formateado- 
\ 
} 
] 
} 
] 
}

launch.json archivo (aplicable en sistemas Linux)

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

launch.json (aplicable en sistemas Mac OS)

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

Luego, haga clic en "Ejecutar" en la columna izquierda de VSCode.

Si está utilizando MSVC, seleccione "(Windows) iniciar".

Si está utilizando MinGW y ha instalado GDB, seleccione "(gdb) iniciar", y antes de que gdb inicie, asegúrese de llenar "miDebuggerPath" en el archivo launch.json.


El programa comenzará a depurarse y ejecutarse. La salida se mostrará en la "consola de depuración":


Depurar Rust en VSCode

Los métodos de depuración del programa son similares a otros entornos, solo necesita hacer clic en el punto rojo a la izquierda del número de línea para establecer un punto de interrupción. Cuando se encuentre con un punto de interrupción durante la ejecución, se detendrá para que el desarrollador pueda monitorear los valores de las variables en tiempo real.