Intégrer Cmder à Visual Studio Code

Aujourd’hui, petit mémo rapide. 🙂

J’utilise Visual Studio Code depuis presque un an. Cet IDE est vraiment très agréable à utiliser mais malgré tout, je trouve les terminaux intégrés (powershell ou cmd) très inesthétiques et peu pratiques :

Visual Studio Code terminal intégré (cmd)

En parallèle, j’utilise un émulateur de terminal que j’apprécie beaucoup : Cmder. Alors pourquoi ne pas associer les deux ? ^^

Si vous souhaitez intégrer Cmder.exe à Visual Studio Code :

  1. Créez un fichier vscode.bat à la racine du répertoire cmder. Dans cet exemple : C:/cmder
  2. Ajoutez ces quelques lignes :
    @echo off
    SET CurrentWorkingDirectory=%CD%
    SET CMDER_ROOT=C:\cmder
    CALL "%CMDER_ROOT%\vendor\init.bat"
    CD /D %CurrentWorkingDirectory%
  3. Dans les paramètres de Visual Studio Code, ajoutez ces deux lignes :
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\system32\\cmd.exe",
    "terminal.integrated.shellArgs.windows": ["/K", "C:\\cmder\\vscode.bat"]

Et voilà le résultat :

Visual Studio Code avec cmder intégré

Non seulement l’interface de Cmder est plus esthétique, mais en plus, elle intègre tous les outils qui me sont nécessaires (bash, git, etc.). Bonus : on visualise directement la branche Git sur laquelle on travaille ! Bref, que du bonheur. ^^

Sources :
https://github.com/Microsoft/vscode/issues/12006
https://code.visualstudio.om/docs/editor/integrated-terminal

11 commentaires

Merci pour le tip, cependant je n’ai pas les couleurs sur mon terminal… j’ai essayé sur mes deux ordinateurs, pareil… je dois être maudite lol

Votre tuto fonctionne, merci pour le travail.
Il me semble que que l’environnement créé dans cmder n’est pas pris en compte dans la console intégrée à VSC. Par exemple:
J’ai ajouté dans le path de cmder le chemin de mon php.exe. A partir d’une console lancée avec cmder.exe le php fonctionne, il ne fonctionne plus dans la console cmder créée dans VSC , console qui, du reste, n’offre pas la possibilité de paramétrer les settings de cmder.

Me le confirmez vous ?

Bonjour,

Bonne question. Personnellement, mise à part la création d’alias, je n’ai pas touché aux paramètres de cmder. Les alias enregistrés dans cmder fonctionnent dans VSC mais pour le reste, je ne saurais vous répondre…

merci pour ce tips.
j’ai juste eu un petit soucis avec le copier coller du vscode.bat ou les commandes ne s’exécutaient pas (surement à cause du formatage)
on doit avoir :
@echo off SET CurrentWorkingDirectory=%CD%
SET CMDER_ROOT=XXXACHANGER\cmder
CALL « %CMDER_ROOT%\vendor\init.bat »
CD /D %CurrentWorkingDirectory%

pour debugger, scroller vers le haut dans votre terminal (vscode) vous devriez voir les commandes s’exécuter et ce qui ne va pas.

Certains lecteurs m’ont averti que les sauts de lignes des commandes n’étaient pas au bon endroit. J’en suis vraiment désolé mais bonne nouvelle, c’est désormais corrigé ! Vous devriez donc pouvoir effectuer les copier-coller sans avoir à débugger. ^^

Pour info, au cas l’éditeur me ferait de nouveau une blague, le fichier vscode.bat doit être composé de ces 5 lignes :
@echo off
SET CurrentWorkingDirectory=%CD%
SET CMDER_ROOT=C:\cmder
CALL « %CMDER_ROOT%\vendor\init.bat »
CD /D %CurrentWorkingDirectory%

Pour Cmder Largon :

« terminal.integrated.shell.windows »: « C:\\Windows\\System32\\cmd.exe »,
« terminal.integrated.shellArgs.windows »:[« /K », « C:\\laragon\\bin\\cmder\\vscode.bat »],

@echo off
SET CurrentWorkingDirectory=%CD%
SET CMDER_ROOT=C:\laragon\bin\cmder
CALL « %CMDER_ROOT%\vendor\init.bat »
CD /D %CurrentWorkingDirectory%

Merci pour l’info

Bonjour,

vous pouvez aussi directement éditer les paramètres de vscode dans le settings.json, cela évite de créer un .bat
{

« terminal.integrated.shell.windows »: « C:\\WINDOWS\\System32\\cmd.exe »,
« terminal.integrated.env.windows »: {
« CMDER_ROOT »: « C:\\tools\\scoop\\apps\\cmder\\current »
},
« terminal.integrated.shellArgs.windows »: [
« /K »,
« %CMDER_ROOT%\\vendor\\init.bat »
],

}

Bonjour,
J’ai la dernière version de Visual Studio Code,
quand j’ajoute aux settings.json les lignes
« terminal.integrated.shell.windows »: « C:\\WINDOWS\\system32\\cmd.exe »,
« terminal.integrated.shellArgs.windows »: [« /K », « C:\\cmder\\vscode.bat »
Il me dit que ces lignes sont dépréciées.
Cordialement

Comments are closed.