Завершено с использованием решения @ 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"
}
}
]
}
Я также сохранил свой проект как именованное рабочее пространство, чтобы я мог быстро определить, какой проект я рассматриваю, когда я чередую открытые проекты.
Добавлен похожий tasks.json
файл в .vscode
для каждого проекта, а затем просто используйте командную палитру, чтобы запускать каждую задачу каждый раз, когда я хочу поработать над чем-либо.
Каждое приложение предъявляет различные требования к зависимостям, которые должны работать одновременно, некоторые запускаются через узел локально, некоторые запускаются на удаленном сервере, некоторые мне нужно, чтобы TypeScript всегда работал, а затем Rsync для удаленного сервера разработки ( и привязал задачу Rsync к cmd + option + s для быстрого обновления, подробнее здесь ).
Это решение делает все вышеперечисленное легким и избавляет меня от необходимости запоминать магическое заклинание, чтобы каждый проект запускался каждый раз.