打开项目后,是否可以让VS代码运行多个命令并启动一个(或多个)应用程序?
我正在做的理想情况是:
目标是使用VS代码打开项目,然后开始工作,而不是执行几个设置步骤。
答案 0 :(得分:2)
将其添加到项目文件夹中的.vscode / tasks.json中,以在VS代码中打开文件夹时运行脚本或执行命令:
spec.image
为使其正常运行,您需要手动运行一次任务并允许自动运行任务。通过单击终端>运行任务>启动应用程序(或任何您命名的任务)来运行它。
答案 1 :(得分:1)
是的,扩展可以访问节点,因此它们几乎可以运行任何脚本。您还可以使用VS Code扩展API在VS Code终端中启动Shell脚本。
当用户加载工作区时,使用activation events启动扩展程序。 workspaceContains
可能是最合适的。
答案 2 :(得分:0)
最后使用@HansPassant的解决方案:https://code.visualstudio.com/docs/editor/tasks#_custom-tasks
我的.vscode/tasks.json
文件中与此类似:
{
"version": "2.0.0",
"tasks": [
{
"label": "Launch Ngrok",
"type": "shell",
"command": "ngrok http -subdomain=<SUBDOMAIN> <PORT>",
"windows": {
"command": "ngrok http -subdomain=<SUBDOMAIN> <PORT>"
},
"group": "none",
"presentation": {
"reveal": "always",
"panel": "new"
}
},
{
"label": "Launch App",
"type": "shell",
"command": "npm start",
"windows": {
"command": "npm start"
},
"group": "none",
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}
我还将项目另存为一个命名为Workspace的位置,以便在循环浏览打开的项目时可以快速确定正在查看的项目。
在tasks.json
中为每个项目添加了一个类似的.vscode
文件,然后每次我想处理某项任务时,都使用命令面板启动每个任务。
每个应用程序对依赖项都有不同的要求,这些依赖项需要同时运行,有的需要通过本地节点启动,有的我是在远程服务器上启动,有的我需要TypeScript始终运行,然后Rsync到远程开发服务器(并将Rsync任务绑定到cmd + option + s以进行快速更新more here)。
此解决方案使上述所有内容变得轻而易举,使我不必记住神奇的咒语以使每个项目每次都运行。