Welcome, Guest. Please Login or Register
Arduino IDE for Visual Studio
 
 
When Logging a Support Issue in the Forum, please ensure you have also:-
  • Enabled vMicro > Compiler > Show Build Properties and Verbose
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
Support requests without the output above may be impossible to answer, so please help us to help you
 
  HomeSearch Tutorials & Wiki visualmicro.com LoginHelpRegister  
 
Page Index Toggle Pages: 1
Send Topic Print
Intellisense showing VC++ std files rather than ESP32 std files. (Read 1724 times)
Mark Leaming
Junior Member
**
Offline



Posts: 18
Intellisense showing VC++ std files rather than ESP32 std files.
Oct 7th, 2018 at 12:29am
 
Tim,

Latest release fixes the linker issues I was having, thanks for that. 

I'm now seeing an issue with intellisense picking up Microsoft std:: includes (like memory) from C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include rather than from c:\users\m\Documents\Arduino\hardware\espressif\esp32\tools\xtensa-esp32-elf\xte
nsa-esp32-elf\include\c++\5.2.0

I'm using my laptop while traveling and not sure if this is a new issue or something with my configuration.

Is there a way for me to prevent the VC++ includes from being used by Intellisense?  Sad
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #1 - Oct 7th, 2018 at 12:33pm
 
Thanks for the post.

This is fixed in the latest "work in progress" release here
Back to top
 
WWW  
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #2 - Oct 8th, 2018 at 3:50pm
 
Thanks Tim.  Smiley
Back to top
 
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #3 - Oct 8th, 2018 at 6:29pm
 
Tim,

I upgraded to your work in progress, 1810.7.1 and I still have the issue with intellisense pulling in the Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\… includes and not Arduino\hardware\espressif\esp32\tools\xtensa-esp32-elf includes.

Let me know if you need any more info.

-Mark
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #4 - Oct 9th, 2018 at 2:40pm
 
Did you do a build?
Back to top
 
WWW  
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #5 - Oct 9th, 2018 at 3:18pm
 
Hi Tim,

Yes, I've done a build and there are some odd behaviors that I'm going to look at in that I got some errors related to inline methods that don't seem to be in the ESP32 files..  I'll reduce my program to it's simpliest bits and try again and let you know what I find.

I did find that going into project properties, VC++ Directories and remove "Inherit..." from the Include Directories and add the ESP32 directories I get the right intellisense for some things.

My simple test worked, so I'll chalk up my build issue to my code. 

-Mark
Back to top
« Last Edit: Oct 9th, 2018 at 4:06pm by Mark Leaming »  
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #6 - Oct 12th, 2018 at 12:32am
 
Tim,

How does this get set?  intellisense.include.paths={runtime.tools.xtensa-esp32-elf-gcc.path}\include\c++
\5.2.0;{runtime.tools.xtensa-esp32-elf-gcc.path}\include;{runtime.tools.xtensa-e
sp32-elf-gcc.path}\include\include

It looks like it might be missing the extra folder that is hightligted:  {runtime.tools.xtensa-esp32-elf-gcc.path}xtensa-esp32-elf\include\c++\5.2.0\


Thanks,

Mark
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #7 - Oct 12th, 2018 at 12:41pm
 
Okay I'll add that thanks

It's set in the platform.txt that is shipped with visual micro

If you look at tools>options>visual micro>version>assembly you will see the path to visual micro. Below that is "\Micro Platforms" folder below that is \arduino16x and below that \esp32.

I'm thinking of adding support for platform IO because their database contains these paths where as the arduino system does not.

In platform.txt is the intellisense paths property. Altering the property doesn't affect builds, only intellisense.
Back to top
 
WWW  
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #8 - Oct 12th, 2018 at 7:14pm
 
Nice, it looks like:  intellisense.include.paths={runtime.tools.xtensa-esp32-elf-gcc.path}\include\c++
\5.2.0;{runtime.tools.xtensa-esp32-elf-gcc.path}\include;{runtime.tools.xtensa-e
sp32-elf-gcc.path}\include\include;{runtime.tools.xtensa-esp32-elf-gcc.path}\xtensa-esp32-elf\include;{runtime.too
ls.xtensa-esp32-elf-gcc.path}\xtensa-esp32-elf\include\c++\5.2.0;{runtime.tools.
xtensa-esp32-elf-gcc.path}\xtensa-esp32-elf\include\c++\5.2.0\bits;{runtime.tool
s.xtensa-esp32-elf-gcc.path}\xtensa-esp32-elf\include\c++\5.2.0\xtensa-esp32-elf
\bits


did the trick. Cheesy

-Mark
Back to top
 
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #9 - Oct 12th, 2018 at 8:54pm
 
PlatformIO would be good as there are still some peculiarities with what I did above.
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #10 - Oct 20th, 2018 at 6:17pm
 
Visual studio intellisense might not ever be 100% correct because it uses the VC++ engine and not gcc.

What are the issues you see, it's good for me to investigate if possible.

ps: The next release does now have the paths you discovered.

Back to top
 
WWW  
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #11 - Oct 20th, 2018 at 6:40pm
 
I’ll take a look and document my findings this afternoon.

Great to hear they will be in the next release.  Smiley
Back to top
« Last Edit: Oct 20th, 2018 at 6:41pm by Mark Leaming »  
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline



Posts: 18
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #12 - Oct 20th, 2018 at 7:19pm
 
Tim,

What I see is that I have a lot of "this declaration has no storage class or type specifier", "identifier xxx is undefined", "namespace "std" has no member "shared_ptr"", "exected a '{'" (when using std::function), and more (1120) intellisense errors.  This is after a clean and build of a project.  Everything builds fine so I've just been living with it.


-Mark
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #13 - Oct 21st, 2018 at 1:28pm
 
Thanks, yes intellisense and build are different. You can set the combo above the errors list to "Build Only" or the other combo to "Open documents only". That can help.
Back to top
 
WWW  
IP Logged
 
trevorH
Newbies
*
Offline



Posts: 3
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #14 - Jan 11th, 2019 at 12:30am
 
I am having similar intellisense errors with the 1812.22 release, arduino 1.8.8 and adafruit ESP32 board.  Didn't have these errors previously (not sure which release though).  Identifier undefined (i believe these are due to not declaring functions at the top of the c++ document), incomplete type is not allowed (ESP32 SD card example) and after that function there are a lot of issues.  I think the namespace "fs" is defined in both SD.h and FS.h and intellisense is not looking in the correct location for the object FS.  Is the software not setup to work with these multiple namespace declarations?
Back to top
 
 
IP Logged
 
enrique escyes
Newbies
*
Offline



Posts: 1
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #15 - Jan 12th, 2019 at 10:30am
 
I have suffered this issue (intellisense gives errors but it's compiled correctly) The first time I fixed it by removing a library and the last time issue DISAPPEARED SIMPLY CHANGING THE ORDER OF THE LIBRARIES, I put the conflicting ones (FS.h and SD.h) in last place . I hope someone helps this.  Shocked
Back to top
 
 
IP Logged
 
Visual Micro
Administrator
*****
Offline



Posts: 10310
United Kingdom
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #16 - Feb 8th, 2019 at 11:07pm
 
Sorry for the delay with this. The change to intellisense paths that resulted from this post has been reverted. This should revert the error list back to the september system which should work well for the current project files or open files without needing to limit the intellisense error reporting to "Build Only"

The release to the gallery has not been made yet but the version is available in the Pre-Release 2902.8 forum thread

Back to top
 
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send Topic Print