Настройте код Visual Studio, чтобы иметь задачу сборки по умолчанию на основе расширения файла

Я хотел бы знать, есть ли способ определить задачу сборки по умолчанию для VSCode в зависимости от расширения файла.

Работая в какой-то папке кода Python, я определяю следующую задачу сборки:

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "showOutput": "always",
    "args": ["${file}"]
}

Затем, если в следующий раз я перейду в другую папку Python, мне придется заново ее определить.

Можно ли настроить VSCode таким образом, чтобы при обнаружении текущего файла как сценария Python он автоматически определял вышеуказанную задачу сборки?

Заранее спасибо за вашу помощь!


person Khue    schedule 03.08.2017    source источник


Ответы (2)


Это возможно, но требует написания расширения (если кто-то еще не написал расширение с поставщик задач для Python). Начиная с версии 1.14.0 появился новый API, который позволяет расширениям динамически предоставлять задачи. Ознакомьтесь с примером поставщика задач.

В качестве альтернативы, в этом случае, вероятно, поможет расширение Code Runner, поскольку хорошо. Однако он не использует систему задач.

person Gama11    schedule 04.08.2017

Обновление последней версии vscode

Далее будет создан сценарий сборки по умолчанию, поэтому вы можете использовать сочетание клавиш для сборки проекта. (Ниже для проекта javascript, но показан общий план для других языков / проектов.)

(1) Предположим, у вас есть скрипт с именем build.js в корне вашего проекта.

(2) Создайте файл с именем tasks.json в корне проекта (рабочей области) со следующим содержимым:

// tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "npm",
            "script": "mybuildscript", // use same name as in package.json
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
     ]
}

(3) В свой package.json добавьте скрипты как:

// package.json
{
    "name": "my",
    "version": "1.0.0",
    "description": "",
    "scripts": {
        "mybuildscript": "node ./build.js"
    },
    "dependencies": {
        "myfs": "^1.0.22"
    }
}
person bob    schedule 18.06.2021