我想知道是否有办法根据文件扩展名为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脚本,那么它会自动定义上述构建任务吗?
提前感谢您的帮助!
答案 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"
}
}