platformio-core icon indicating copy to clipboard operation
platformio-core copied to clipboard

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

Open maxgerhardt opened this issue 4 years ago • 0 comments
trafficstars

What kind of issue is this?

  • [X] 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.

maxgerhardt avatar Nov 03 '21 15:11 maxgerhardt