VSCode C / C ++ Intellisense проблема: неопределенные идентификаторы (Linux, Манджаро) - PullRequest
0 голосов
/ 29 января 2020
  • ОС: Manjaro 18.1.5
  • Код VS (OSS): 1.41.1
  • C / C ++ Расширение: 0.26.3

Привет,

У меня проблема с использованием VS Code с расширением C / C ++. Некоторые идентификаторы не распознаются Intellisense, хотя мой includePath в c_cpp_properties.json выглядит нормально.

Например, здесь я пытаюсь отобразить текущее время с помощью time() из библиотеки ctime. VS Code сообщает мне, что идентификатор time не определен:

#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    cout << time(nullptr) << endl; //--> "time" identifier is undefined
}

Вот мой c_cpp_properties.json файл:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/linux",
                "/usr/include/c++/9.2.0/tr1"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

В /usr/include/c++/9.2.0/tr1/ есть файл ctime как и в /usr/include/c++/9.2.0/, но изменение includePath на последнее ничего не меняет.

Я знаю, что у многих есть похожие проблемы, но я не смог найти решение, которое работает для меня, я не знать, указано ли оно c для моего linux дистрибутива или что-либо еще (см. выше для информации об ОС / приложениях).

Спасибо за вашу помощь,

FB.

1 Ответ

0 голосов
/ 24 марта 2020

Пожалуйста, проверьте ваши настройки. json файл. Вам необходимо добавить библиотеки вручную в разделе files.associations. Вы можете просто обновить список как внизу:

{
"files.associations": {
        "cctype": "cpp",
        "cmath": "cpp",
        "cstddef": "cpp",
        "cstdlib": "cpp",
        "ctime": "cpp",
        "cwchar": "cpp",
        "random": "cpp",
        "ratio": "cpp",
        "iostream": "cpp"
    }
}
...