将文件夹名称传递给任务

Passing folder name to task

我是 Visual Studio 代码的初学者,我有一个问题,是否可以从 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"
 }

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

下传递

您可以使用扩展程序 Command Variable

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