Я хотел бы, чтобы все запускалось при запуске сборки (Command + Shift + B) или при сохранении (Command + S) в VS Code.
Я хочу, чтобы запустился TypeScript, и я хочу, чтобы запустился Bun, и я хочу, чтобы после этого запустился Node.js, а затем я хочу запустить окно браузера.
В VS Code я нашел панель запуска и отладки, и в ней перечислено множество опций. Я не понимаю, где находится опция запуска списка вещей или команд. В моем проекте у меня есть tsconfig.json
, package.json
, tasks.json
, package-lock.json
, bun.build.js
и launch.json
, и некоторые из них имеют значения script
с командами в них. Что мне сделать, чтобы упростить это?
Вот мои задачи.json:
{
"version": "2.0.0",
"tasks": [
{
"type": "typescript",
"tsconfig": "tsconfig.json",
"option": "watch",
"problemMatcher": [
"$tsc-watch"
],
"group": {
"kind": "build",
"isDefault": true
},
"label": "tsc: watch - tsconfig.json"
},
]
}
В последней версии vscode есть опция Действия кода при сохранении. Это звучит как то, что я хочу, но в списке есть только несколько вариантов.
@starball, это немного разные вопросы. один предназначен для булочек, а этот является общим.
Чтобы прикрепить объекты для сохранения или создания действий, вы можете попробовать следующее:
// Inside .vscode/tasks.json, update or add the following
{
"version": "2.0.0",
"tasks": [
{
"label": "compile TypeScript",
"type": "shell",
"command": "tsc",
"problemMatcher": ["$tsc"],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "run Bun",
"type": "shell",
"command": "bun build.js",
"dependsOn": "compile TypeScript"
},
{
"label": "run Node.js",
"type": "shell",
"command": "node your_script.js",
"dependsOn": "run Bun"
}
]
}
// Inside .vscode/launch.json , add or update the following
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Browser",
"type": "pwa-chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}",
"preLaunchTask": "run Node.js"
}
]
}
// Inside settings.json, you can add or update the following code
{
"files.autoSave": "onFocusChange",
"editor.formatOnSave": true
}
После всего этого после сохранения или сборки откроется окно браузера.
У меня такое ощущение, что ваш isDefault выполняет не ту задачу.
@starball Я разместил свой tasks.json
из другого проекта. Там же есть isDefault. Есть ли где-то еще, что оно должно быть расположено?
@starball, что интересно, флаг isDefault
, установленный в значение true, в моем случае был проблематичным. Когда я попытался построить, vscode открыл диалоговое окно с вопросом, какой из них. По какой-то причине он также запустил Java. Я установил для одной задачи значение false, и, похоже, проблема решена, stackoverflow.com/questions/78711660/…
@starball Думаю, ты прав. Необходимо ли устанавливать значение по умолчанию для последней запускаемой задачи, чтобы любая задача, от которой она зависит, запускалась первой? Перемещение раздела группы в Bun приводит к тому, что TSC запускается первым, а Bun — вторым. На данный момент я удалил node.js и установил предварительный запуск в launch.json на run Bun
. Браузер не запускается, но остальные части работают.
Мне пришлось указать путь к браузеру в файле launch.json. Браузер теперь запускается, когда я нажимаю кнопку «Начать отладку» на панели «Отладка». Он также выполняет задачи. Если я использую сочетание клавиш Ctrl + Shift + B, задачи запускаются, и vscode помещает сообщение в нижний колонтитул, Launch Browser (myproject) - Select and start debug configuration
. Если я затем нажму на палитре команд, отобразятся все конфигурации запуска. Если я нажму на один из них, он создаст новый экземпляр браузера.
Краткое описание: есть ли способ запустить это save
? Он работает при сборке, но не при сохранении. Если я использую CMD + SHIFT + B, он будет работать при сборке.
вам действительно нужно было опубликовать и это, и stackoverflow.com/q/78703696/11107541 ?