VSCode'无法打开file.cs:找不到文件'

时间:2018-04-14 00:45:06

标签: c# visual-studio-code

我通过重命名文件夹或其他东西打破了我的vscode项目。不完全确定发生了什么。问题是虽然我仍然可以构建并运行没有问题,但是当我收到编译错误时,例如当我双击消息时,它会显示

无法打开'XXXController.cs':找不到文件 (文件://Controllers/XXXController.cs)

沿着这条线的某个地方似乎已经丢失了源文件夹中3个项目中的1个项目的cs文件的完整路径。我的印象是vscode没有维护项目中的文件列表,所以我不知道除了重新创建项目之外我还能如何恢复?

还有其他问题 - 智能感知似乎也不适合这个项目。

有没有人有任何想法我如何尝试解决这个问题?

编辑:它提供了创建“缺失”文件的选项。当我这样做时,它在C:\ Controllers \中而不是在* .csproj位置下的\ Controllers文件夹中创建一个新文件?

此致 戴夫

1 个答案:

答案 0 :(得分:9)

The problem appears to be that msbuild by default doesn't output full paths when it reports errors, omnisharp-vscode requires full paths to resolve files so adding GenerateFullPaths=true to the .vscode\tasks.json seems to resolve the issue.

i.e.

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/Test.Api/Test.Api.csproj",
                // Ask msbuild to generate full paths for file names.
                "/property:GenerateFullPaths=true"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}