J'ai installé les extensions de code Visual Studio pour Rust:
Je veux exécuter mon projet et je ne sais pas où cliquer.
J'ai essayé de cliquer sur Exécuter la tâche , Exécuter la tâche de génération , Configurer la tâche de génération par défaut , mais rien de raisonnable ne se produit.
Exécutez la commande suivante dans le terminal intégré:
cargo run
Remarques: Ouvrez l'éditeur de code à partir de votre dossier de projet (code .
commande dans le terminal du dossier du projet, ou en mode GUI: cliquez avec le bouton droit dans le dossier du projet et sélectionnez Open With Code
) puis appuyez Ctrl +
`(Ctrl + backtick) pour ouvrir le terminal intégré, puis entrez: cargo run
Vous pouvez ajouter cargo run
comme tâche par défaut: ouvrez la palette de commandes avec Ctrl + Shift + P
et saisissez Configure Default Build Task
et appuyez sur Enter
pour le sélectionner. Sélectionnez ensuite Rust: cargo build
. Cela génère un tasks.json
fichier dans votre espace de travail .vscode
dossier. Utiliser cargo run
pour exécuter le projet, modifiez le contenu de .vscode/tasks.json
comme suit:
{
// See https://go.Microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "cargo run",
"type": "Shell", // "type": "cargo",
"command": "cargo run", // "subcommand": "build",
// "problemMatcher": ["$rustc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Vous pouvez maintenant appuyer sur Ctrl + Shift + B
pour exécuter la tâche, ou appuyez sur Ctrl + Shift + P
et sélectionnez Tasks: Run Build Task
à partir de la palette de commandes.
Installez l'extension Code Runner , puis ouvrez le fichier source, puis vous aurez un bouton de lecture dans le coin supérieur droit pour cliquer, ou utilisez le raccourci par défaut: Ctrl+Alt+N
(Vous pouvez changer le raccourci de: File>Preferences>Keyboard Shortcuts
et entrez code-runner.run
dans le champ de recherche).
Remarque: Pour exécuter la commande à l'intérieur du terminal, vous pouvez définir code-runner.runInTerminal
à true
de File>Preferences>Settings
(ou appuyez sur Ctrl+,
), puis saisissez code-runner.runInTerminal
dans la zone de recherche.
Modifier : Ceci exécute uniquement le fichier ouvert, par exemple: rustc main.rs
. Vous pouvez modifier le code-runner.executorMap
pour changer la commande de:
"Rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
à:
"Rust": "cargo run",
Le Code Runner exécute donc le cargo run
commande chaque fois que vous cliquez sur le bouton Lecture (ou en appuyant sur le raccourci clavier):
Dans le menu: File>Preferences>Settings
(ou appuyez sur Ctrl+,
) puis à l'intérieur du champ de recherche, entrez:code-runner.executorMap
puis clique Edit in Settings.json
puis modifiez "code-runner.executorMap": and change "Rust":"cd $dir && rustc $fileName && $dir$fileNameWithoutExt"
à "Rust": "cargo run"
.
Ou ajoutez simplement 3 lignes suivantes aux paramètres VSCode JSON (settings.json
fichier):
"code-runner.executorMap": {
"Rust": "cargo run # $fileName"
}
Vous pouvez définir la commande personnalisée pour qu'elle s'exécute: "code-runner.customCommand": "cargo run"
Menu: File>Preferences>Settings
(ou appuyez sur Ctrl+,
) puis dans la zone de recherche, entrez customCommand
et définissez la commande personnalisée pour qu'elle s'exécute: cargo run
. Vous pouvez modifier le raccourci vers cette commande pour en faciliter l'utilisation: Dans le menu, sélectionnez: File>Preferences>Keyboard Shortcuts
, puis à l'intérieur du champ de recherche, entrez: customCommand
, puis ajoutez/modifiez la liaison de touches, par exemple presse: Ctrl+L Ctrl+R
Rust-lang.Rust
extensionVous pouvez installer cette extension à partir de la ligne de commande en utilisant:
code --install-extension Rust-lang.Rust
Le plugin utilise des tâches: vous pouvez appuyer sur Ctrl + Shift + B
puis sélectionnez les options présentées, pour l'instant, il n'y a que deux options:
cargo check
cargo build
Vous devez donc utiliser le cargo run
Tâche présentée ci-dessus.
vscode-Rust
extensionInstaller avec Ctrl+P et tapez "ext install vscode-Rust". Courir avec Ctrl+Shift+P, tapez "cargo" puis sélectionnez "Cargo: Run".
Modifier: vous pouvez ajouter un raccourci à cette commande pour en faciliter l'utilisation:
Dans le menu, sélectionnez: File>Preferences>Keyboard Shortcuts
, puis dans la zone de recherche, entrez: Cargo:Run
, puis ajoutez la liaison de touches, par exemple presse: Ctrl+L Ctrl+R
, et si vous utilisez cette extension en mode non RLS pour exécuter la commande Cargo dans le terminal: vous pouvez définir "Rust.executeCargoCommandInTerminal": true
dans File>Preferences>Settings
menu (ou appuyez sur Ctrl+,
) puis entrez executeCargoCommandInTerminal
dans la zone de recherche.
Malheureusement, il n'y a pas de bonne solution pour le moment. Fondamentalement, vous devez ajouter une tâche à tasks.json
, qui commence comme ceci:
{
// See https://go.Microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "cargo",
"subcommand": "check",
"problemMatcher": [
"$rustc"
]
},
{
"type": "cargo",
"subcommand": "build",
"problemMatcher": [
"$rustc"
]
}
]
}
A.R. a suggéré d'ajouter une autre entrée identique mais avec "subcommand": "run"
mais ça ne marche pas. Vous obtenez cette erreur:
Error: The cargo task detection didn't contribute a task for the following configuration:
{
"type": "cargo",
"subcommand": "run",
"problemMatcher": [
"$rustc"
]
}
The task will be ignored.
Au lieu de cela, vous pouvez ajouter un "type": "Shell"
tâche. Cependant, ce n'est toujours pas parfait, car pour une raison quelconque, l'ajout de cette tâche signifie cargo check
et cargo build
n'apparaît pas du tout lorsque vous appuyez sur Ctrl-Maj-B.
Ma solution consiste simplement à les remplacer par des tâches Shell également, afin que l'ensemble de votre tasks.json
est:
{
// See https://go.Microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "Shell",
"label": "cargo check",
"command": "cargo",
"args": [
"check"
],
"problemMatcher": [
"$rustc"
],
"group": "build"
},
{
"type": "Shell",
"label": "cargo build",
"command": "cargo",
"args": [
"build"
],
"problemMatcher": [
"$rustc"
],
"group": "build"
},
{
"type": "Shell",
"label": "cargo run",
"command": "cargo",
"args": [
"run"
],
"problemMatcher": [
"$rustc"
],
"group": "build"
}
]
}
J'ai pu faire fonctionner cela en utilisant l'extension VSC, Rust (rls) , en utilisant une version modifiée du message de AR:
"tasks": [
{
"type": "Shell",
"label": "cargo run",
"command": "wsl",
"args": [
"--",
"~/.cargo/bin/cargo",
"run"
],
"problemMatcher": [
"$rustc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]