Integrar CMDER dentro de VSCode fácil y rápido

Última revisión: 17 noviembre 2023

Para nadie es un secreto que, de las ventajas más grandes que tienen los sistemas operativos basados en el kernel de Linux (unix), incluyendo el mismo MacOS sobre Windows, la primera que salta es la potencia de su terminal o consola. Esto hasta la salida de WSL (Windows Subsystem for Linux) que salió con la versión Pro de Windows 10. 

Sin embargo, su instalación y uso sigue teniendo una curva de aprendizaje notable como para compararlo, pero no todo está perdido, tenemos una solución instalable al mejor estilo de Windows, next, next, next.

Hablo de Cmder, una terminal con muy buenas características que si bien sigue sin ser Linux, no lo extrañarás para nada.

Pero un problema con el que me encontré usándolo, es que si otro programa en Windows tiene la capacidad de levantar una terminal dentro de la misma aplicación, esta usará el símbolo de sistema en vez de Cmder, como por ejemplo nuestro mejor amigo Visual Studio Code. 

Y de eso voy a hablar en este post, ¿Cómo hacer que VScode abra Cmder en el terminal integrado? En vez de usar él por defecto de Windows y lo podemos hacer bastante fácil.

Lo primero que vamos a hacer es asegurarnos que en la carpeta donde tenemos instalado nuestro Cmder tengamos el archivo vscode_init.cmd, si no lo tienes no te preocupes, usando el bloc de notas crea un archivo, guárdalo con el nombre vscode_init.cmd y adentro vas a colocar el siguiente código:

@echo off

rem Find root dir

if not defined CMDER_ROOT (
    for /f "delims=" %%i in ("%~dp0\..\..") do (
        set "cmder_root=%%~fi"
    )
)

if defined cmder_user_bin (
    set CMDER_VSCODE_INIT_ARGS=%cmder_user_bin%\vscode_init_args.cmd
) else (
    set CMDER_VSCODE_INIT_ARGS=%CMDER_ROOT%\bin\vscode_init_args.cmd
)

if not exist "%CMDER_VSCODE_INIT_ARGS%" (
    echo Creating initial "%CMDER_VSCODE_INIT_ARGS%"...
    copy "%CMDER_ROOT%\vendor\bin\vscode_init_args.cmd.default" "%CMDER_VSCODE_INIT_ARGS%"
) else (
    call "%CMDER_VSCODE_INIT_ARGS%"
)

IF [%1] == [] (
    REM -- manually opened console (Ctrl + Shift + `) --
    CALL "%~dp0..\init.bat"
) ELSE (
    REM -- task --
    CALL cmd %*
    exit
)

Luego, nos vamos a nuestro VScode, presionamos las teclas CTRL + Shift + P y escribimos JSON para que nos abra la configuración pero en formato código para poder añadirle este fragmento:

"terminal.integrated.profiles.windows": {
        "Cmder": {
          "path": "${env:windir}\\System32\\cmd.exe",
          "args": ["/k", "C:\\WebServer\\bin\\cmder\\vendor\\bin\\vscode_init.cmd"]
        }
      },
    "terminal.integrated.defaultProfile.windows": "Cmder",

Recuerda que si tienes algo escrito en ella, debes asegurar, escribir una coma al final y en la línea de abajo pegar el código para que pueda convivir con el resto de nuestras configuraciones de esta manera:

Cambia la dirección de la carpeta de instalación de Cmder en donde creaste el archivo vscode_init.cmd y apunta hacia allá y ¡listo!

Ya tienes Cmder en VScode cada vez que abras el terminal dentro de la propia aplicación.

Espero que te haya servido y cualquier duda puedes contactarme.

Comparte este artículo
Facebook
Twitter
LinkedIn
WhatsApp
Email
Sobre el autor

Ernesto Flames

Diseñador y desarrollador web nacido en Caracas, amante de las nuevas tecnologías y comedor compulsivo de las galletas que hace mi esposa.
Ernesto Flames Diseñador Programador Web
Scroll to Top