Sur WSL 2, la solution suggérée ne fonctionne pas. Voici une solution pour exécuter sur une cible WSL 2 un script édité dans Sublime Text sous Windows. Créer un bash-wsl.sublime-build
fichier :
{
"shell_cmd": "bash -c \"wslpath '${file}'\" | bash -s",
"shell": true,
}
Dans WSL2, la meilleure façon selon moi est d'utiliser le fichier sublime-build ci-dessous.
- Vous devez créer un nouveau système de construction dans Sublime Text avec le code suivant.
(Tools -> Build System -> New Build System...
)
{
"shell_cmd": "ubuntu run \"g++ `wslpath '${file}'` && ./a.out<inp.in>out.in \" ",
"shell":true,
"working_dir":"$file_path",
"selector":"$file_name"
}
-
Ce code compilera le code .cpp et utilisera respectivement inp.in et out.in comme fichiers d'entrée et de sortie (
Optional, if you don't want that, then replace ./a.out<inp.in>out.in with ./a.out
). La sortie sera affichée dans le panneau des résultats de construction de Sublime. -
Lorsque vous souhaitez utiliser ce système de construction, sélectionnez-le dans le
Tools -> Build System
liste, puis appuyez surCtrl + B
.
-
Vous devez copier le
C:\Windows\System32\bash.exe
fichier auC:\Windows\SysWOW64\
répertoire.Requis en raison de la redirection du système de fichiers WoW64 (Merci Martin !) -
Ensuite, vous devez créer un nouveau système de construction dans le Sublime Text avec le code suivant. (
Tools -> Build System -> New Build System...
){ "cmd" : ["bash", "-c", "gcc ${file_name} -o ${file_base_name} && ./${file_base_name}"], "shell": true, "working_dir": "${file_path}", }
Ce code compilera le code .c puis l'exécutera. La sortie sera affichée dans le panneau des résultats de construction de Sublime.
-
Lorsque vous souhaitez utiliser ce système de construction, sélectionnez-le dans le
Tools -> Build System
liste, puis appuyez surCtrl + B
.
Vous pouvez personnaliser la commande que j'y ai mise, l'essentiel est que vous puissiez exécuter des commandes Linux en utilisant bash -c "CommandsYouWantToRun"