Раздел конфигурации запуска VS Code Workspace не работает - PullRequest
1 голос
/ 09 января 2020

Файл My VS Code Workspace содержит раздел конфигурации запуска и задач, поэтому разработчик может запускать локальные функции Azure.

Но кажется, что конфигурация запуска из файла рабочей области будет игнорироваться.

Если я добавлю launch.json и tasks.json с одинаковым содержимым, это будет работать без проблем.

.code-workspace:

{
    "folders": [
        {
            "path": "."
        }
    ],
    "launch": {
        "configurations": [
            {
                "name": "Attach to .NET Functions",
                "type": "coreclr",
                "request": "attach",
                "processId": "${command:azureFunctions.pickProcess}"
            }
        ]
    },
    "tasks": {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "clean",
                "command": "dotnet",
                "args": [
                    "clean",
                    "/property:GenerateFullPaths=true",
                    "/consoleloggerparameters:NoSummary"
                ],
                "type": "process",
                "problemMatcher": "$msCompile"
            },
            {
                "label": "build",
                "command": "dotnet",
                "args": [
                    "build",
                    "/property:GenerateFullPaths=true",
                    "/consoleloggerparameters:NoSummary"
                ],
                "type": "process",
                "dependsOn": "clean",
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "problemMatcher": "$msCompile"
            },
            {
                "label": "clean release",
                "command": "dotnet",
                "args": [
                    "clean",
                    "--configuration",
                    "Release",
                    "/property:GenerateFullPaths=true",
                    "/consoleloggerparameters:NoSummary"
                ],
                "type": "process",
                "problemMatcher": "$msCompile"
            },
            {
                "label": "publish",
                "command": "dotnet",
                "args": [
                    "publish",
                    "--configuration",
                    "Release",
                    "/property:GenerateFullPaths=true",
                    "/consoleloggerparameters:NoSummary"
                ],
                "type": "process",
                "dependsOn": "clean release",
                "problemMatcher": "$msCompile"
            },
            {
                "type": "func",
                "dependsOn": "build",
                "options": {
                    "cwd": "${workspaceFolder}/src/ProjectAbc/bin/Debug/netcoreapp2.2"
                },
                "command": "host start",
                "isBackground": true,
                "problemMatcher": "$func-watch"
            }
        ]
    }
}

Ожидаемое поведение: Если я нажимаю F5, конфигурация lauch из настроек рабочего пространства должна использоваться для построения и запуска функций Azure.

Фактическое поведение: Если я нажимаю F5 VS Код хочет создать файл launch.json на основе среды.

enter image description here

1 Ответ

0 голосов
/ 10 января 2020

Я воспроизвожу вашу ошибку,

Это решение:

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

Взгляните на этот .

Ваши настройки. Файл json должен быть таким:

{
    "azureFunctions.deploySubpath": ".",
    "azureFunctions.projectLanguage": "JavaScript",
    "azureFunctions.projectRuntime": "~2",
    "debug.internalConsoleOptions": "neverOpen",
    "azureFunctions.preDeployTask": "npm prune",

    "launch": {
        "version": "0.2.0",
        "configurations": [
        {
            "name": "Attach to Node Functions",
            "type": "node",
            "request": "launch",
            "port": 9229,
            "preLaunchTask": "func: host start",
            "outFiles": [
                "${workspaceRoot}/TimerTrigger/index.js"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}\\index.js"
        }
    ]
    }
        //---------------------------
"tasks":{
    "version": "2.0.0",
"tasks": {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "clean",
            "command": "dotnet",
            "args": [
                "clean",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "type": "process",
            "problemMatcher": "$msCompile"
        },
        {
            "label": "build",
            "command": "dotnet",
            "args": [
                "build",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "type": "process",
            "dependsOn": "clean",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$msCompile"
        },
        {
            "label": "clean release",
            "command": "dotnet",
            "args": [
                "clean",
                "--configuration",
                "Release",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "type": "process",
            "problemMatcher": "$msCompile"
        },
        {
            "label": "publish",
            "command": "dotnet",
            "args": [
                "publish",
                "--configuration",
                "Release",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "type": "process",
            "dependsOn": "clean release",
            "problemMatcher": "$msCompile"
        },
        {
            "type": "func",
            "dependsOn": "build",
            "options": {
                "cwd": "${workspaceFolder}/src/ProjectAbc/bin/Debug/netcoreapp2.2"
            },
            "command": "host start",
            "isBackground": true,
            "problemMatcher": "$func-watch"
        }
    ]
    }
}
    }

Тогда вы никогда не столкнетесь с этим ошибка. Код VS никогда не будет пытаться снова создать файл запуска. json.

Тогда Это должно сработать, обратите внимание, что ваши задачи настроены неправильно! Ваша текущая проблема исходит от конфигурации задач, не прочитанной VSCode. Измените его, и оно должно работать нормально.

enter image description here

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