如何使用自定义命令行代替VS代码的终端



我有一个自定义cmd.exe快捷方式,用于调用vcvarsall.batshell.bat的修改目标,这样我就可以从自定义build.bat文件为我的项目运行cl

我试图将settings.json中默认终端的设置从:更改为

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

收件人:

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

custom_shell_cmd.exe运行并将编译它应该编译的代码,我已经使用它大约一年了,没有任何问题。

Visual Studio代码在尝试打开路径为的终端时返回以下错误:

The terminal process failed to launch: Path to shell executable "C:DevelopmentCustomCPcustom_cmd.exe" does not exist.

";集成的";vs";外部";在终端下不会改变结果。当设置为外部时,错误仍然存在。

自定义目标是:

%windir%system32cmd.exe /k  "c:DevelopmentvcvarsallCLshellshell_VS2019_CE.bat"

所以快捷方式像往常一样调用cmd.exe,然后运行我的shell脚本。工作起来很有魅力。只是不能与VS代码集成终端一起工作。

以防万一,这里是shell脚本:

@echo off
rem shell.bat for VS2019 Community install
call "Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryBuildvcvarsall.bat" x64

是的,这是可能的,但要全面考虑。

Visual Studio Code不接受应用程序内部的自定义cmd.exe,但由于VSCODE在PATH上作为code .,我可以将code .添加到批处理文件中,并在运行vcvarsall.bat的命令提示符实例中打开Visual Stuio Code。

新文件:

@echo off
rem shell.bat for VS2019 Community install
call "Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryBuildvcvarsall.bat" x64
code .

这使我可以留在visual studio编辑器中,并使用ctrl+(反勾(打开并移动到现在正在运行vcvarsall.batcmd.exe

这使我可以在不离开VSCODE的情况下进行编译,并节省了大量切换到打开的cmd.exe的时间

这也为vscode打开了自定义桌面/任务栏快捷方式的可能性。单击即可打开所有内容。

我已经在github上提供了批处理文件。

还有关于如何使其在readme.md中工作的说明。

最新更新