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) Intellinonsense (Read 4628 times)
Harrison
Newbies
*
Offline


Posts: 5
Joined: Mar 28th, 2017
Intellinonsense
Mar 28th, 2017 at 8:01am
Print Post  
Not sure if this belongs here. I have been getting nonsense errors and warnings in my error list in visual studio in my arduino project. Depending on the cpp file I have open, it can be anywhere from 3 errors, to 500 errors. They are pretty much always in the standard libraries, like stdlib.h, wstring.h, etc.

I also get silly errors in my own code, like "too many arguments in function call" on strlen for the following line (as an example):
Code (C++)
Select All
size_t len = strlen(_rawInstructions[_cursorY]); 



Everything builds just fine, but visual studio is freaking out, and these issues defeat the purpose of using the ide in the first place. Anyone have any ideas?
« Last Edit: Mar 28th, 2017 at 8:01am by Harrison »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12072
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellinonsense
Reply #1 - Mar 28th, 2017 at 11:38am
Print Post  
Hi,

We can only look at intellisense issues if users report exact hardware and Ide/core versions that have been installed.

Otherwise try setting the intellisense errors list to "open documenta only" or "Build only"

  
Back to top
WWW  
IP Logged
 
Harrison
Newbies
*
Offline


Posts: 5
Joined: Mar 28th, 2017
Re: Intellinonsense
Reply #2 - Mar 28th, 2017 at 4:06pm
Print Post  
Ok, I can try my best..

I am running VS 2015 on Windows 8 with the latest version of visual micro. I installed the Intel Curie 32-bit Arduino/Genuino101 package on the board manager, and I have that selected in visual micro. I believe I have arduino 1.8.1 installed. Is that all the info you need, or is there more that I can gather for you?
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12072
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellinonsense
Reply #3 - Mar 29th, 2017 at 4:46pm
Print Post  
Thanks

Please switch on vmicro>compiler>verbose and also the "show build properties" option. Then build and copy the output into a .txt file, email to info[at]visualmicro.com with a link to this post.
  
Back to top
WWW  
IP Logged
 
Harrison
Newbies
*
Offline


Posts: 5
Joined: Mar 28th, 2017
Re: Intellinonsense
Reply #4 - Mar 30th, 2017 at 7:09am
Print Post  
Hello, I've emailed you with the build output. Thanks for the help!
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12072
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellinonsense
Reply #5 - Mar 30th, 2017 at 7:07pm
Print Post  
Hi, I can't see the email in inbox or junk.
  
Back to top
WWW  
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12072
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellinonsense
Reply #6 - Mar 31st, 2017 at 7:34pm
Print Post  
I found you email, sorry

All the 101 string methods use syntax that visual studio c++ intellisense doesn't like. We will shortly move to using some new visual studio compilers that will cater better for the gcc language.

You will see this if you use the "goto definition" command to drill into the "string.h"

Code
Select All
size_t	 _EXFUN(strlen,(const char *)); 



You will find that atmel studio and visual micro work much better in this area, although still not 100% perfect.

There is a workaround for vs which isn't great but works. VS intellisense has its own #define so you can safely redefine methods and get rid of the error reports. It doesn't affect compile so it's flexible.  More info here  

http://www.visualmicro.com/page/Extending-Visual-Studio-Intellisense.aspx

example: redefine strlen

//my_vsintellisense.h
Code
Select All
#if _MSC_VER
size_t strlen(const char *);
#endif 

« Last Edit: Mar 31st, 2017 at 7:35pm by Tim@Visual Micro »  
Back to top
WWW  
IP Logged
 
Harrison
Newbies
*
Offline


Posts: 5
Joined: Mar 28th, 2017
Re: Intellinonsense
Reply #7 - Apr 4th, 2017 at 2:29am
Print Post  
Hello,

This isn't the greatest workaround in the world, but between those defines and disabling errors from other files, it does make things usable once again so I can continue on programming. Many thanks for the help!
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12072
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Intellinonsense
Reply #8 - Apr 22nd, 2018 at 6:41pm
Print Post  
There are some intellisense improvements in the next release

One question: How was _rawInstructions[_cursorY] defined?
  
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint