好吧,我在不同的线程上看到了与我在 stackoverflow 上提出的问题类似的内容,但它们都没有真正起作用,只是没有任何反应。我使用的命令在一行中的新命令提示符下工作。
我想做什么:能够运行构建任务(CTRL SHIFT B)来执行一个批处理文件,其中包含构建脚本。我现在在 Windows 上工作。
默认情况下,VSCODE 终端被 CD 到“C:/Users/Username”。 我的批处理文件在 E: 驱动器上,名称包含空格。
这是我设置的构建任务:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build the game",
"type": "shell",
"command": "cmd",
"args": [
"/e",
"E:\\School and Work\\University (real)\\Semester 7\\C++ Project\\build.bat"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
]
}
我做了测试,它所做的一切都创建了一个无限循环。它永远不会运行。 build.bat的内容简直就是
echo This has runned.
所以这不是错误。
无限循环。任务一直在运行。什么都没发生,脚本的第一行永远不会执行。
我尝试了一个不同的批处理文件来创建一个目录,看看它是否只是死了的输出,但也没有运行。
我通常有一个带有 g++ 命令的批处理文件来构建我的程序。它在终端和 Windows GUI 上工作,同样,在 vscode 上不起作用。
它永远不会激活第一行并且不知何故陷入无限循环。
我尝试了许多不同的语法来运行它,但它没有用。
但是,如果在 task.json 中,我使用了一个简单的 Echo 命令,它就可以工作。 如果我尝试在默认目录 C:/User/Username/
中简单地运行一个 bat 文件有效。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Why is this working?????",
"type": "shell",
"command": "something.bat",
"group": {
"kind": "none",
"isDefault": true
},
"problemMatcher": []
}
]
}
无论如何,我希望有人能帮助我。