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

Khu*_*hue 6 visual-studio-code

我想知道是否有一种方法可以根据文件扩展名定义 VSCode 的默认构建任务。

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

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "showOutput": "always",
    "args": ["${file}"]
}
Run Code Online (Sandbox Code Playgroud)

那么如果下次我去另一个Python文件夹,我必须再次重新定义它。

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

预先感谢您的帮助!

bob*_*bob 9

更新最新vscode

下面将创建一个默认的“构建”脚本,以便您可以使用键盘快捷键来构建您的项目。(下面是一个 javascript 项目,但显示了其他语言/项目的概要。)

( 1 ) 假设您的项目根目录中有一个名为“build.js”的脚本。

( 2 ) 检查项目根目录下是否有“.vscode”隐藏文件夹。如果没有,请创建它。

( 3 ) 在项目(工作区)根目录的“.vscode”文件夹中创建一个名为“tasks.json”的文件,其中包含以下内容:

// .vscode/tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "npm",
            "script": "mybuildscript", // use same name as in package.json
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
     ]
}
Run Code Online (Sandbox Code Playgroud)

( 4 ) 在 package.json 中,添加“scripts”:

// package.json
{
    "name": "my",
    "version": "1.0.0",
    "description": "",
    "scripts": {
        "mybuildscript": "node ./build.js"
    },
    "dependencies": {
        "myfs": "^1.0.22"
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个基本的 vscode 扩展,可以为您完成所有这一切: https://marketplace.visualstudio.com/items ?itemName=gieson.make-build-task

该扩展并不完美(没有涵盖配置项目/工作区的所有可能方式),但它是一个很好的起点。

这是仓库: https: //github.com/bobtherobot/make-build-task


Gam*_*a11 1

这是可能的,但它需要编写一个扩展(除非有人已经用 Python 的任务提供程序编写了一个扩展)。从 1.14.0 开始,有一个新的 API 允许扩展动态提供任务。查看任务提供程序示例

或者,Code Runner扩展也可能在这种情况下发挥作用。但它不使用任务系统。