В рабочей среде я вынужден использовать compile_commands.json, который генерируется clang для предоставления Intellisense необходимой информации. У меня есть проект, который на самом деле успешно компилируется из командной строки.
Тем не менее intellisense не работает, поскольку файлы заголовков помечены: «Файл FILE_PATH.h не найден».
Однако щелкните правой кнопкой мыши и «goк определению "открывает заголовочный файл без каких-либо проблем. Поэтому Studio Code, очевидно, знает, где находится файл.
Мой файл c_cpp_properties.json выглядит следующим образом (и пути указаны правильно):
{
"configurations": [
{
"name": "MyConfig",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/lib/ccache/clang++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"compileCommands": "/CORRECT_PATH_TO/compile_commands.json"
}
],
"version": 4
}
Какие могут быть возможные проблемы?
Я попробовал подсказки, такие как переделка базы данных intellisense, но безуспешно: https://code.visualstudio.com/docs/cpp/faq-cpp#_how-do-i-recreate-the-intellisense-database
Это нормально, что compile_commands.json упоминает только файлы .cpp, а не файлы .h? Может ли это быть как-то связано с «Невозможно наблюдать за изменениями файлов в этом большом рабочем пространстве». уведомление, которое я получаю (и которое я должен был игнорировать до сих пор)?
Огромное спасибо заранее!