Запустить приложение при открытии проекта в VS Code? - PullRequest
0 голосов
/ 26 июня 2018

Возможно ли, чтобы код VS запускал несколько команд и запускал приложение (или несколько) при открытии проекта?

Идеальный случай для того, что я делаю, будет:

  1. Открыть проект в vscode
  2. Запускает определенную команду ngrok
  3. Старт Монго
  4. Запускает сценарий NPM

Цель состоит в том, чтобы открыть проект в коде VS и просто приступить к работе вместо того, чтобы выполнить несколько шагов настройки.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Завершено с использованием решения @ 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 для быстрого обновления, подробнее здесь ).

Это решение делает все вышеперечисленное легким и избавляет меня от необходимости запоминать магическое заклинание, чтобы каждый проект запускался каждый раз.

0 голосов
/ 27 июня 2018

Да, расширения имеют доступ к узлу, поэтому могут запускать практически любые сценарии. Вы также можете запускать сценарии оболочки в терминале VS Code с помощью API расширения VS Code.

Используйте события активации , чтобы запустить добавочный номер, когда пользователь загружает рабочее пространство. workspaceContains, вероятно, лучше всего подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...