platformio/platformio-core

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

Open

#4.097 aberto em 3 de nov. de 2021

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)Python (791 forks)batch import
help wantedintegration

Métricas do repositório

Stars
 (7.329 stars)
Métricas de merge de PR
 (Mesclagem média 109d 16h) (5 fundiu PRs em 30d)

Description

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.

Guia do colaborador