Vscode "Unable to open [file]: Unable to read file" 单击错误时的消息
Vscode "Unable to open [file]: Unable to read file" message when clicking on an error
我在单击警告时收到此消息。这是案例截图。
错误显示,
Unable to open 'warning.cpp': Unable to read file
'/Users/dimen/code/C++/Users/dimen/code/C++/warning.cpp
'
(Error: Unable to resolve non-existing file
'/Users/dimen/code/C++/Users/dimen/code/C++/warning.cpp
').
我的脚本位于 /Users/dimen/code/C++/warning.cpp
,因此 vscode 出于某种原因重申了路径。
我怀疑 linter 设置一定是写错了,但我不确定应该在哪里编辑。作为一些旁注,
- 使用微软的 C/C++ 扩展。
tasks.json
已被自定义,因此所有构建都进入 build
文件夹
勾选this link。好像需要对目录进行详细的配置。在 task.json
中,problemMatcher
将文件目录作为相对目录,因此您得到了重复路径。将 "fileLocation"
设置为 "absolute"
适用于我的笔记本电脑。
您需要编辑 tasks.json
的 problemMatcher
部分,以便它有一个名为 fileLocation
的变量,该变量设置为 absolute
。这是它应该是什么样子的示例:
"problemMatcher": {
"base" : "$gcc",
"fileLocation" : "absolute"
}
希望对您有所帮助。
我也遇到了这个问题。
为了解决这个问题,我关闭了 VSCode 并再次导入了 文件夹,因为在我的条件下文件夹路径发生了变化。
如果这不起作用,您可以卸载 VSCode 然后重新安装。
对我来说这在 tasks.json:
{
"tasks": [
{
//"type": "cppbuild",
"label": "build my project",
"command": "/home/user/path/build.bash",
"args": [
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"base": "$gcc",
"fileLocation": "absolute",
},
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
出于某种原因,我必须专门删除 "type": "cppbuild" 才能正常工作。
我通过更改 'launch.json' 文件解决了这个问题。我在“配置”字段中更改了“名称”下方“cwd”的值:“(gdb) Launch eds”。我将它设置为包含项目的文件夹的绝对路径。下面是我的 launch.json 文件。我在 Ubuntu.
上使用 VS Code
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch eds",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build_x86_debug/bin/fcc",
"args": ["-a=${workspaceFolder}/build_x86_debug/bin/", "-d=${workspaceFolder}/build_x86_debug/bin/", "-c=${workspaceFolder}/build_x86_debug/bin/"],
"stopAtEntry": false,
"cwd": "/home/aiden/dev2",
"environment": [{"name": "LD_LIBRARY_PATH", "value": "/usr/lib:${workspaceFolder}/build_x86_debug/bin:${workspaceFolder}/pocolib1.7.5"}],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "Launch",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/build_x86/bin/emvadapter",
"cwd" : "/home/vendor",
"env" : { "LD_LIBRARY_PATH":"/home/vendor/lib" }
},
{
"name": "Unit Tests",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/build_x86/bin/",
"linux": { "cwd": "${workspaceFolder}/vendor"}
}
]
}
我也在 ApiLogicServer 上看到了这个,它广泛使用了这个功能。
花了一些时间,但通过单击容器(左下角)然后重建容器解决了这个问题:
我在单击警告时收到此消息。这是案例截图。
错误显示,
Unable to open 'warning.cpp': Unable to read file '
/Users/dimen/code/C++/Users/dimen/code/C++/warning.cpp
' (Error: Unable to resolve non-existing file '/Users/dimen/code/C++/Users/dimen/code/C++/warning.cpp
').
我的脚本位于 /Users/dimen/code/C++/warning.cpp
,因此 vscode 出于某种原因重申了路径。
我怀疑 linter 设置一定是写错了,但我不确定应该在哪里编辑。作为一些旁注,
- 使用微软的 C/C++ 扩展。
tasks.json
已被自定义,因此所有构建都进入build
文件夹
勾选this link。好像需要对目录进行详细的配置。在 task.json
中,problemMatcher
将文件目录作为相对目录,因此您得到了重复路径。将 "fileLocation"
设置为 "absolute"
适用于我的笔记本电脑。
您需要编辑 tasks.json
的 problemMatcher
部分,以便它有一个名为 fileLocation
的变量,该变量设置为 absolute
。这是它应该是什么样子的示例:
"problemMatcher": {
"base" : "$gcc",
"fileLocation" : "absolute"
}
希望对您有所帮助。
我也遇到了这个问题。
为了解决这个问题,我关闭了 VSCode 并再次导入了 文件夹,因为在我的条件下文件夹路径发生了变化。
如果这不起作用,您可以卸载 VSCode 然后重新安装。
对我来说这在 tasks.json:
{
"tasks": [
{
//"type": "cppbuild",
"label": "build my project",
"command": "/home/user/path/build.bash",
"args": [
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"base": "$gcc",
"fileLocation": "absolute",
},
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
出于某种原因,我必须专门删除 "type": "cppbuild" 才能正常工作。
我通过更改 'launch.json' 文件解决了这个问题。我在“配置”字段中更改了“名称”下方“cwd”的值:“(gdb) Launch eds”。我将它设置为包含项目的文件夹的绝对路径。下面是我的 launch.json 文件。我在 Ubuntu.
上使用 VS Code{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch eds",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build_x86_debug/bin/fcc",
"args": ["-a=${workspaceFolder}/build_x86_debug/bin/", "-d=${workspaceFolder}/build_x86_debug/bin/", "-c=${workspaceFolder}/build_x86_debug/bin/"],
"stopAtEntry": false,
"cwd": "/home/aiden/dev2",
"environment": [{"name": "LD_LIBRARY_PATH", "value": "/usr/lib:${workspaceFolder}/build_x86_debug/bin:${workspaceFolder}/pocolib1.7.5"}],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "Launch",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/build_x86/bin/emvadapter",
"cwd" : "/home/vendor",
"env" : { "LD_LIBRARY_PATH":"/home/vendor/lib" }
},
{
"name": "Unit Tests",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/build_x86/bin/",
"linux": { "cwd": "${workspaceFolder}/vendor"}
}
]
}
我也在 ApiLogicServer 上看到了这个,它广泛使用了这个功能。
花了一些时间,但通过单击容器(左下角)然后重建容器解决了这个问题: