User Libraries and Intellisense

If you install a library manually, ie into the libraries subfolder of the user directory, the language server does not seem to parse this library,

  • all datatypes and classes are tagged with the clang(unknown_typename) error
  • all namespaces are tagged with the clang(expected_namespace_name) error
  • all variables are tagged with the clang(undeclared_var_use) error

how can I convince the language server to parse these libraries ?

Additionally, many of the “obscure” dataypes of the c/c++ and arduino libraries are also ignored, like the types from inttypes.h as UINT8_T etc, Serial, Serial1, boolean etc…

Just from my simplified view of the world, if it compiles fine, then it should also have the intellisense working.

Just a quick question.

Did you observe the problem in the .ino tab?

If you have multiple tabs with .h and .cpp files you need to include arduino.h in them else the intellisense will not know about the datatypes. It will however compile fine.

Willem.

The problem appears in the .ino tab, and all the others too…

this is the code that intellisense is not willing or able to support.
all the elements that are not understood are tagged with * *

//NMIDI "Test" Example, by Mink.

//Simple test to make sure your MIDI OUT port is wired correctly.

#include <HardwareSerial.h> //<-- Not Necessary, But Recomended for Stability Across Arduino IDE Versions.


#include <NMIDI.h>

using namespace *nmidi*;

//Create new instance of NMIDI library:
*MidiPort* portA = MidiPort(*Serial1*);
*MidiPort* portB = MidiPort(*Serial2*);

void setup() {

  //Initialize MIDI Libary:
  *Serial1*.begin(31250);
  *Serial2*.begin(31250);
  *Serial*.begin(9600);
  portA.begin();                                // no definition found for begin
  portA.enableRunningStatus();   // no definition found for enableRunningStatus
  portB.begin();
  portB.enableRunningStatus();
}

i would not call this a working feature, because all the interesting stuff happens in the lib, and the advantage of the 2.0 would be just this.

I added these findings to the bug report you mentioned. It seems to be a conceptual flaw…

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.

For the benefit of others who might be interested in this subject, I'll share a link to the bug report that was mentioned: