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.
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.
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.