我正在尝试创建一个.bat来启动一个节点应用程序--我想从vscode的终端运行这个.bat,我想让它在那个上下文中执行……
我一直面临的真正挑战是如何在vs代码环境中打开另一个终端,而不是喜欢弹出的cmd。
我过去用来启动开发服务器的方法是:
ctrl+shift+5
cd server
npm run dev
click over to the other window
cd client
npm run dev我的最终目标是
start run.bat我的run.bat
@ECHO OFF
:_start
ECHO select an environment:
ECHO 1. dev
ECHO 2. Production
ECHO choose by number :
set choice=
set /p choice=">> "
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto _development
if '%choice%'=='2' goto _production
ECHO BAD CHOICE TRY AGAIN
ECHO.
goto _start
:_development
CALL dev.bat /b @dev.bat /k
goto _end
:_production
CALL prod.bat /b @prod.bat /k
goto _end
:_end
pausedev.bat
@ECHO OFF
ECHO starting development
CD startup scripts
START startDevClient.bat @startDevClient.bat /k /b
CALL startDevServer.bat @startDevServer.bat /kstartDevClient
@ECHO OFF
ECHO opening client
CD ..
CD client
NPM run dev
PAUSEstartDevServer
@ECHO OFF
ECHO opening server
CD ..
CD server
NPM run dev
PAUSE问题是:
start run.bat会打开一个新的cmd窗口,并且不会在vscode环境中执行。
dev.bat中的start调用一个命令窗口,但我不知道如何指定,我想让它像在vscode中点击ctrl+shift+5一样打开。
我想做的事情是可能的吗?
发布于 2021-03-12 03:16:16
我找到了一种方法来做我想做的,或者足够接近。
通过使用vscode的任务,我可以创建一个运行两个子任务的主任务,并指定它们将如何在终端中打开。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "spin up dev server",
"type": "shell",
"command": "npm run dev",
"options":{
"cwd":"${workspaceFolder}/server"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group":"DEVELOPMENT"
}
},
{
"label": "spin up dev client",
"type": "shell",
"command": "npm run dev",
"options":{
"cwd":"${workspaceFolder}/client"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group":"DEVELOPMENT"
}
},
{
"label": "spin up prod server",
"type": "shell",
"command": "npm run prod",
"options":{
"cwd":"${workspaceFolder}/server"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group":"PRODUCTION"
}
},
{
"label": "spin up prod client",
"type": "shell",
"command": "npm run prod",
"options":{
"cwd":"${workspaceFolder}/client"
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"group":"PRODUCTION"
}
},
{
"label": "DEVELOPMENT ENVIRONMENT",
"dependsOn": ["spin up dev client", "spin up dev server"]
},
{
"label": "PRODUCTION ENVIRONMENT",
"dependsOn": ["spin up prod client", "spin up prod server"]
}
]
}https://stackoverflow.com/questions/66587644
复制相似问题