将文件夹名称传递给任务

时间:2020-12-25 13:27:18

标签: visual-studio-code vscode-tasks

我是 Visual Studio Code 的初学者,我有一个问题,是否可以从 tasks.json 搜索文件夹名称?例如,我有一个名为 unit_tests 的目录,在这个目录中我有一些包含单元测试(unit_tests/tests_1、unit_tests/tests_2 ...)的子目录,在 tasks.json 我想调用 python 程序,它作为参数文件夹名称unit_tests 子目录(tests_1 或 tests_2 或 ...)。例如,我的 tasks.json 如下所示:

{
  "label": "run selected test",
  "type": "shell",
  "command": "python",
  "args": [
    "make_test.py", "${input:test_to_run}"],
  "problemMatcher": []
}

和“输入”部分:

{
  "type": "pickString",
  "id": "test_to_run",
  "description": "Which test to run",
  "options": ["tests_1"],
  "default": "tests_1"
 }

对于“options”,我不想写我所有的子目录,如tests_1、tests_2等等,因为当我添加新测试时,我必须记得将它也添加到“options”中,但我只想列出我所有的子目录都以某种方式写在“选项”中而不更新它们每次我添加新内容并从那里选择将传递给“args”部分的文件夹名称。是否有可能做到,或者我可以用不同的方式做到这一点?例如,在 Eclipse 中,可以只指向目录,它将在 ${selected_resource_loc} 下传递。

1 个答案:

答案 0 :(得分:0)

您可以使用扩展名Command Variable

查看使用 extension.commandvariable.file.pickFile 的示例