Как я могу передать аргументы из кода Visual Studio task.json команде g ++, если в команде есть пробел - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть файл Visual Studio Code tasks.json для запуска файла C++ через g++:

{
"version": "2.0.0",
"tasks": [
    {
        "label": "echo",
        "type": "shell",
        "command": "g++",
        "args": [
            "-I ~/vcpkg/installed/x64-osx/include/",
            "test.cpp"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]
}

Проблема в том, что полученная команда > Executing task: g++ '-I ~/vcpkg/installed/x64-osx/include/' test.cpp < содержит одинарные кавычки, поэтому она не будет работать.

Я посмотрел здесь и попробовал это:

{
"version": "2.0.0",
"tasks": [
    {
        "label": "echo",
        "type": "shell",
        "command": "g++",
        "args": [
            {
              "value": "-I ~/vcpkg/installed/x64-osx/include/",
              "quoting": "escape"
            },
            "test.cpp"
          ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]

}

Проблема в том, что полученная команда > Executing task: g++ -I\ ~/vcpkg/installed/x64-osx/include/ test.cpp < использует escape, поэтому имеет \.

Как мне сгенерировать нужную команду:

g++ -I ~/vcpkg/installed/x64-osx/include/ test.cpp

...