配置 Visual Studio 代码以具有基于文件扩展名的默认构建任务

Configure Visual Studio Code to have a default Build Task based on file extension

我想知道是否可以根据文件扩展名为 VSCode 定义默认构建任务。

在 Python 代码的某个文件夹中工作时,我定义了以下构建任务:

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

那如果下次我去另一个Python文件夹,我得重新定义一遍。

是否可以配置 VSCode 如果它检测到当前文件是 Python 脚本,那么它会自动定义上面的构建任务?

预先感谢您的帮助!

这是可能的,但需要 writing an extension (unless somebody has already written one with a tasks provider for Python). Since 1.14.0, there's a new API which allows extensions to dynamically provide tasks. Check out the Task Provider Example

或者,Code Runner 扩展在这种情况下可能也能解决问题。不过它不使用任务系统。

最新更新vscode

下面将创建一个默认的“构建”脚本,因此您可以使用键盘快捷键来构建您的项目。 (下面是 javascript 项目,但显示了其他 languages/projects 的大纲。)

(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"
    }
}