Традиционно мы помещаем launch.json
и tasks.json
в папку .vscode
, чтобы обеспечить работу отладчика. Между тем, VS Code также поддерживает разработчика, чтобы поместить эти 2 конфигурации в рабочее пространство, установив их в *.vscode-workspace
. Вот шаги для воспроизведения:
- Создание нового js проекта
npm init
со всеми параметрами по умолчанию. - Создание нового
index.js
с 1 строкой кода: console.log('done');
- Создайте новый файл
ts-sample.code-workspace
в той же папке root, содержимое должно выглядеть следующим образом:
{
"launch": {
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/index.js",
"preLaunchTask": "nodeversion"
}
]
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "nodeversion",
"type": "npm",
"script": "nodeversion",
}
]
},
"folders": [
{
"path": "."
}
]
}
Откройте рабочее пространство Откройте
index.js
и нажмите F5 В диалоговом окне с сообщением об ошибке появится следующее сообщение об ошибке:
Could not find the task 'nodeversion'
Открыть панель OUTPUT и сообщение об ошибке отображается следующим образом:
Error: The npm task detection didn't contribute a task for the following configuration:
{
"label": "nodeversion",
"type": "npm",
"script": "nodeversion"
}
The task will be ignored.
Для упрощения демонстрации, пожалуйста, клонируйте пример проекта из https://github.com/mannok/WorkspaceLaunchTaskDemo
Это ошибка кода VS или что-то я пропустил?