platformio/platformio-core

Visual Studio IntelliSense does not recognize basic using std::xyz statements

Open

#4.097 geöffnet am 3. Nov. 2021

Auf GitHub ansehen
 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (791 Forks)batch import
help wantedintegration

Repository-Metriken

Stars
 (7.329 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 109T 16h) (5 gemergte PRs in 30 T)

Beschreibung

What kind of issue is this?

  • PlatformIO Core. If you’ve found a bug, please provide an information below.

Configuration

Operating system: Windows 10 x64

PlatformIO Version (platformio --version):

Description of problem

When telling PlatformIO to generate project files for Visual Studio and one opens the project file in Visual Studio, it fails to recognize basic C++ namespaces. To my knowledge this is not the same issue as observed in https://github.com/platformio/platformio-core/issues/662#issuecomment-220092057 and https://docs.platformio.org/en/latest//integration/ide/visualstudio.html#intellisense-errors because

IntelliSense does not understand GCC-specific definitions.

Does not apply to the code

using std::min;
using std::max;
using std::round;
using std::isinf;
using std::isnan;

that is causing IntelliSense errors.

grafik

Error message reads: "Namespace std has no member isnan".

So it seems to me that the Visual Studio project template is not correct and misses some setting (e.g., C++ version).

Steps to Reproduce

  1. Download project https://github.com/maxgerhardt/pio-visualstudio-cpp17
  2. Re-initialize VisualStudio project files with pio init --ide=visualstudio
  3. Open generated solution file in Visual Studio
  4. Follow Arduino.h (Ctrl+Click)
  5. Observe errrors

Actual Results

Visual Studio does not recognize C++ (17) standard namespaces within

Expected Results

Intellisense regarding basic C++ features works.

If problems with PlatformIO Build System:

Refer example project.

Additional info

Compilation of the project which uses C++17 features works as normal with pio run.

Contributor Guide