我想知道是否有办法根据文件扩展名定义 VS Code 的默认构建任务。
在 Python 代码的某个文件夹中工作时,我定义了以下构建任务:
{
"version": "0.1.0",
"command": "python",
"isShellCommand": true,
"showOutput": "always",
"args": ["${file}"]
}
那么如果下次我去另一个Python文件夹,我必须再次重新定义它。
是否可以配置 VS Code,如果它检测到当前文件为 Python 脚本,那么它会自动定义上述构建任务?
更新最新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
}
}
]
}
(4) 在 package.json 中,添加“脚本”:
// package.json
{
"name": "my",
"version": "1.0.0",
"description": "",
"scripts": {
"mybuildscript": "node ./build.js"
},
"dependencies": {
"myfs": "^1.0.22"
}
}
我创建了一个基本的 vscode 扩展,可以为您完成所有这些工作: https://marketplace.visualstudio.com/items?itemName=gieson.make-build-task
该扩展并不完美(没有涵盖配置项目/工作区的所有可能方式),但它是一个很好的起点。
这是可能的,但它需要编写一个扩展(除非有人已经用 Python 的任务提供程序编写了一个扩展)。从 1.14.0 开始,有一个新的 API 允许扩展动态提供任务。查看任务提供程序示例。
另外,Code Runner 扩展也可能在这种情况下发挥作用。但它不使用任务系统。
例如,在任务定义中,
"group": {
"kind": "build",
"isDefault": "**/*.txt",
},
另请参阅全局模式文档。前任。你可以做类似
**/*.{txt,md}
的事情。
如果您希望该任务成为工作区任务,请将其放入
${workspaceFolder}/.vscode/tasks.json
。如果您希望它成为全局/用户任务,请将其放入全局任务文件中(在命令面板中运行
Tasks: Open User Tasks
)。