Задача кода Visual Studio - добавление рабочего каталога к команде - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь настроить Visual Studio код для ржавчины, чтобы сделать отладку. В моем файле launch.json у меня есть

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceRoot}/target/debug/vscode-rust-debug-example.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "preLaunchTask": "localcargobuildtask"
        }
    ]
}

и в моих задачах. У меня есть

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "localcargobuildtask",
            "command": "echo hi",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }        
    ]
}

Там, где "echo hi" в моих задачах, я, в конце концов, хочу что-то вроде "сборка груза" или "проверка груза" или что-то еще. Но это только начальный шаг.

Но когда я нажимаю F5, я получаю вывод

> Executing task: C:\programs\VSCodeWorkspaces\RustProjects\vscode-rust-debug-example-debug-config-included\echo hi  <

The terminal process terminated with exit code: 2

Terminal will be reused by tasks, press any key to close it.

Вместо того, чтобы запускать «echo» из того места, где терминал его находит (сначала рабочий каталог, а затем проверить глобальную переменную пути, как вы ожидаете), он фактически ищет программу с именем «echo» в моей корневой папке рабочего пространства.

Как мне сказать Visual Studio Code "Нет, я не хочу, чтобы вы запускали рабочую область / эхо, я хочу, чтобы вы запускали эхо в рабочей области"? Или есть другой, более прямой способ сказать коду Visual Studio «скомпилировать его перед отладкой»?

1 Ответ

0 голосов
/ 17 мая 2019

Ответ на этот вопрос Как отлаживать модульные тесты Rust на Windows? предполагает, что изменение

"command": "cargo build",

в

"command": "cargo",
    "args": [
        "build"
    ],

в файле tasks.json работает и как-то работает. Возможно, редактор настроен на поиск в% path% команд с одним словом, или, возможно, какой-то плагин, который я установил, перезаписал команду «cargo». Возможно, причина, по которой эхо не было найдено, заключается в том, что это терминальная команда, а не программа. Возможно, сообщение об ошибке было ложью, и сообщалось только о том, что ему не удалось найти папку рабочей области \ command, несмотря на проверку% path%? Или, может быть, ничего из этого. Я понятия не имею. Это довольно своеобразное поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...