繁体   English   中英

有没有办法从 NPM 脚本打开 Visual Studio 代码内部 powershell window?

[英]Is there a way to open a Visual Studio Code internal powershell window from NPM Script?

我目前正在使用 npm 脚本进行一些工作,但无法在线找到我的问题的答案!

我想通过键入一个命令来运行 3 个 NPM 脚本。 这里的脚本:

"start-jsonserver:platform": "ng serve --configuration jsonserver"

"start:corePlugins": "ng serve corePlugins",

"start:jsonserver": "cd../json-server & npm run start",

"start:allJsonEnvironment": "npm run start-jsonserver:platform && npm run start:corePlugins && npm run start:jsonserver",

请注意,最后一个命令无法正常工作,因为它在第一个ng serve “完成”后停止。 我也只用一个&尝试过相同的命令,但这具有相同的效果

我找到了一个打开 3 个独立的解决方案 Powershell windows:

"start:allJsonEnvironment": "start powershell npm run start-jsonserver:platform && start powershell npm run start:corePlugins && start powershell npm run start:jsonserver"

问题是这会打开正常的“独立”Powershell windows,老实说,这真的很难看,我习惯于看到 VS Code 内部Powershell windows(同时 3 个),因为如果出现问题很容易发现。 像那样:

在此处输入图像描述

因此,如果有办法从 npm 脚本中打开这些“内部”Powershell windows,我将非常感谢帮助。

(我知道有一种方法可以在一个内部 window 中运行所有三个脚本,但这不是我要找的!)

好的,经过一些研究,我找到了另一种解决方案。

它不涉及 NPM 个脚本,但它实际上是更好的解决方案。

我对这个问题的个人解决方案是使用 VS Code Tasks 和dependsOn来连接所有三个命令:

{
    "version": "2.0.0",
    "tasks": 
        [
        {
            "label": "corePlugins",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/frontend"
            },
            "command": "ng serve corePlugins"
        },
        {
            "label": "serve_conf_json",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/frontend"
            },
            "command": "ng serve --configuration jsonserver"
        },
        {
            "label": "json-server",
            "group": "test",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/json-server"
            },
            "command": "npm run start"
        },
        {
            "label": "startAllJson",
            "dependsOn": [
                "json-server",
                "corePlugins",
                "serve_conf_json",
            ]
        }
    ]
}

所以现在我可以运行任务startAllJson ,它会打开 3 个 VSCode 终端并运行这些命令。

我知道这可能不是我问题的完美答案,但它是我在短时间内找到的最佳解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM