Visual Studio Code Task将工作目录添加到命令之前

时间:2019-05-16 00:57:58

标签: visual-studio-code rust

我正在尝试设置Visual Studio代码以防锈进行调试。在我的launch.json文件中,

id

在我的task.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"
        }
    ]
}

在我的任务中,“ echo hi”是我最终想要的东西,例如“货物建造”或“货物测试”等。但这只是一个开始。

但是当我按F5时,我得到的输出是

{
    // 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”(首先在工作目录中,然后像您期望的那样检查全局路径变量),实际上是在我的工作区的根文件夹中寻找一个名为“ echo”的程序。

如何告诉Visual Studio代码“不,我不希望您运行工作空间/回声,我希望您在工作空间中运行回声”?还是有另一种更直接的方式告诉Visual Studio代码“在调试之前对其进行编译”?

1 个答案:

答案 0 :(得分:0)

这个问题的答案How to debug Rust unit tests on Windows? 建议改变

"command": "cargo build",

进入

"command": "cargo",
    "args": [
        "build"
    ],
task.json文件中的

可以正常工作并且可以正常工作。也许编辑器已配置为在%path%中搜索单个单词命令,或者也许我安装的某些插件覆盖了“ cargo”命令。可能未找到echo的原因是因为它是终端命令,而不是程序。也许错误消息是一个谎言,它只是报告尽管检查%path%也找不到工作区文件夹\命令?也许这些都不是。我不知道。这是一些很特殊的行为。