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

时间:2017-08-03 20:25:55

标签: visual-studio-code vscode-settings

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

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

supplier = [(1,3),(2,4),(8,7),(15,14)]
customer = [(0,2),(8,8)]

def CoordinatesDistance(A, B):
    import math
    x1, x2 = A
    y1, y2 = B
    return math.sqrt(math.exp((x2-x1)+(y2-y1)))

def shortest_distance_pair(Cust, Sup):
    pairs = []
    for X in Cust:
        shortest_distance = 999999
        for Y in Sup:
            distance = CoordinatesDistance(X,Y)
            #customer_distance.append(distance)
            if distance < shortest_distance:
                shortest_distance = distance
                sdp = (X,Y)
        pairs.append(sdp)
    return pairs

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

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

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

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

另外,Code Runner扩展也可能在这种情况下起作用。但它不使用Tasks系统。

答案 1 :(得分:0)

更新最新的 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"
    }
}