2017-08-14 122 views
1

我有一个工作区,我用它来编写实践概念的小型测试程序。因此,在VS Code中,我为文件夹中的每个文件都有一个构建任务。在Visual Studio代码中构建当前打开的文件

默认情况下,VS代码使用"isDefault": true,标志构建任务。理想情况下,我想找出一种方法让我构建当前打开的文件,这样当我切换正在编辑的文件时,我不需要手动将标志重置为要使用的构建任务。

据我所知,VS Code Tasks Documentation没有提供解决方案。必须有一种方法可以在不手动调整标志的情况下完成此操作。任何帮助表示赞赏。

回答

1

要在罗伯的答案构建,你还可以设置一个快捷键组合通过增加keybindings.json,如触发各个任务

{ 
    "key": "ctrl+h", 
    "command": "workbench.action.tasks.runTask", 
    "args": "Run tests" 
} 

其中将args组件替换为任务名称。

您可以结合使用${file}tasks.json来区分不同的构建类型。

例如命中蟒蛇按Ctrl + H^按Ctrl ++ H^ TSC

4

您可以使用${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" 
      ] 
     } 
    ] 
} 
+0

感谢你为这个,@RobLourens。我感谢您花时间帮助。但是,只有在给定工作区中要使用的所有文件都能够以相同方式编译时(例如,Python脚本),此方法才有效。有没有办法让它为那些工作? – ifconfig

+1

顺便说一句,现在你提到它了,'$ {relativeFile}'更相关,因为编译器是从工作空间目录运行的。 – ifconfig

+0

在这种情况下,您应该编写自己的脚本,该脚本能够检查文件的类型,然后调用正确的编译器。你的任务可以调用脚本并简单地传递文件路径。但是任务本身不具备条件逻辑的能力。 –

相关问题