在Visual Studio代码中构建当前打开的文件
问题描述:
我有一个工作区,我用它来编写实践概念的小型测试程序。因此,在VS Code中,我为文件夹中的每个文件都有一个构建任务。在Visual Studio代码中构建当前打开的文件
默认情况下,VS代码使用"isDefault": true,
标志构建任务。理想情况下,我想找出一种方法让我构建当前打开的文件,这样当我切换正在编辑的文件时,我不需要手动将标志重置为要使用的构建任务。
据我所知,VS Code Tasks Documentation没有提供解决方案。必须有一种方法可以在不手动调整标志的情况下完成此操作。任何帮助表示赞赏。
答
要在罗伯的答案构建,你还可以设置一个快捷键组合通过增加keybindings.json
,如触发各个任务
{
"key": "ctrl+h",
"command": "workbench.action.tasks.runTask",
"args": "Run tests"
}
其中将args
组件替换为任务名称。
您可以结合使用${file}
和tasks.json
来区分不同的构建类型。
例如命中蟒蛇按Ctrl + H^和按Ctrl +移+ H^为 TSC
答
您可以使用${file}
通配符将当前文件传递到您的构建程序/脚本。
有在文档中给出了TS的例子:https://code.visualstudio.com/Docs/editor/tasks#_operating-system-specific-properties
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"presentation": {
"panel": "new"
},
"tasks": [
{
"taskName": "TS - Compile current file",
"type": "shell",
"command": "tsc ${file}",
"problemMatcher": [
"$tsc"
]
}
]
}
感谢你为这个,@RobLourens。我感谢您花时间帮助。但是,只有在给定工作区中要使用的所有文件都能够以相同方式编译时(例如,Python脚本),此方法才有效。有没有办法让它为那些工作? – ifconfig
顺便说一句,现在你提到它了,'$ {relativeFile}'更相关,因为编译器是从工作空间目录运行的。 – ifconfig
在这种情况下,您应该编写自己的脚本,该脚本能够检查文件的类型,然后调用正确的编译器。你的任务可以调用脚本并简单地传递文件路径。但是任务本身不具备条件逻辑的能力。 –