Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 8 Replies) Intellisense showing VC++ std files rather than ESP32 std files. (Read 7055 times)
Mark Leaming
Junior Member
**
Offline


Posts: 18
Joined: Aug 31st, 2018
Intellisense showing VC++ std files rather than ESP32 std files.
Oct 6th, 2018 at 11:29pm
Print Post  
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 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
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12071
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #1 - Oct 7th, 2018 at 11:33am
Print Post  
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
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #2 - Oct 8th, 2018 at 2:50pm
Print Post  
Thanks Tim.  Smiley
  
Back to top
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline


Posts: 18
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #3 - Oct 8th, 2018 at 5:29pm
Print Post  
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
 
Tim@Visual Micro
Administrator
*****
Offline


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


Posts: 18
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #5 - Oct 9th, 2018 at 2:18pm
Print Post  
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
« Last Edit: Oct 9th, 2018 at 3:06pm by Mark Leaming »  
Back to top
 
IP Logged
 
Mark Leaming
Junior Member
**
Offline


Posts: 18
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #6 - Oct 11th, 2018 at 11:32pm
Print Post  
Tim,

How does this get set?  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
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12071
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #7 - Oct 12th, 2018 at 11:41am
Print Post  
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
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #8 - Oct 12th, 2018 at 6:14pm
Print Post  
Nice, it looks like:  sp32-elf-gcc.path}\include\include\bits

did the trick. Cheesy

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


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


Posts: 12071
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #10 - Oct 20th, 2018 at 5:17pm
Print Post  
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
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #11 - Oct 20th, 2018 at 5:40pm
Print Post  
I’ll take a look and document my findings this afternoon. 

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


Posts: 18
Joined: Aug 31st, 2018
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #12 - Oct 20th, 2018 at 6:19pm
Print Post  
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
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12071
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #13 - Oct 21st, 2018 at 12:28pm
Print Post  
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: 7
Joined: Oct 11th, 2017
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #14 - Jan 11th, 2019 at 12:30am
Print Post  
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
Joined: Jan 12th, 2019
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #15 - Jan 12th, 2019 at 10:30am
Print Post  
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
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12071
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellisense showing VC++ std files rather than ESP32 std files.
Reply #16 - Feb 8th, 2019 at 11:07pm
Print Post  
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 TopicPrint