platformio/platformio-core

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

Open

#4,097 创建于 2021年11月3日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Python (791 fork)batch import
help wantedintegration

仓库指标

Star
 (7,329 star)
PR 合并指标
 (平均合并 109天 16小时) (30 天内合并 5 个 PR)

描述

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.

贡献者指南