How to use a custom command line in place of terminal for VS Code?

0

Issue

I have a custom cmd.exe shortcut that I use with a modified target to a shell.bat that calls vcvarsall.bat so I can run cl from custom build.bat files for my projects.

I attempted to change the setting for the default terminal in settings.json from:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",

To:

"terminal.integrated.shell.windows": "C:\\Development\\CustomCP\\custom_shell_cmd.exe",

The custom_shell_cmd.exe runs and will compile code as it should and I have been using it for about a year with no issues.

Visual Studio Code returns with the following error when trying to open a terminal with the path:

The terminal process failed to launch: Path to shell executable "C:\Development\CustomCP\custom_cmd.exe" does not exist.

The setting for "intgrated" vs "external" under Terminal doesn’t change the outcome. When set to external the error persists.

The custom target is:

%windir%\system32\cmd.exe /k  "c:\Development\vcvarsallCLshell\shell_VS2019_CE.bat"

So the shortcut calls cmd.exe like normal, then runs my shell script. Works like a charm. Just won’t work with VS Code Integrated Terminal.

Just in case, here is the shell script:

@echo off

rem shell.bat for VS2019 Community install

call "\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

Solution

Yes, this is possible, but in a round about way.

Visual Studio Code does not accept my custom cmd.exe from inside the app but since VSCODE is on PATH as code . I can add code . to my batch file and open Visual Stuio Code in the command prompt instance running vcvarsall.bat.

The new file:

@echo off

rem shell.bat for VS2019 Community install

call "\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

code .

This allows me to stay within the visual studio editor and use ctrl + (back-tick) to open and move to a cmd.exe that is now running vcvarsall.bat.

This allows me to compile without leaving VSCODE and that saves alot of time switching to the open cmd.exe

This also opens the possibility of a custom desktop/taskbar shortcut for vscode. One click to open everything.

I have made the batch files available on github here.

There is also instruction on how to get this to work in the readme.md.

Answered By – BornGeek

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More