Right click on header entries

Hi,

I installed Arduino 2.0.0-beta12 some days before. Until now no big issues.

Sorry, I don't know how this functionality is correctly called: I can make a right click on a line like #include <SPI.h> and IDE open this header file in a new tab.

I can see, this header file is stored in the path
\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.7.5\libraries\SPI (yes I'm using a Feather M0 board from Adafruit).

For the line #include <SdFat.h> I get a hint popup "No definition found for 'SdFat.h' ". This is for the SdFat-library, which is installed in \Dokumente\Arduino\libraries\SdFat.

Does IDE knows in this case only path to the place to Arduino installation, but not the path to my sketches? Is this a minor bug in the beta-IDE?

Of course, sketch is compiled without error, uploaded and can access SD card. So compiler and linker seem to know all paths.

Additional information: Win10 64bit. System is on partition C:, but documents, pictures etc. are on partition D:

Bye
Jürgen

Hi @bastler59. Thanks for taking the time to give the beta phase Arduino IDE 2.x a try!

There have been some recent improvements to the Arduino Language Server that provides the "Go To Definition" capability for the IDE. This includes a fix for the bug you are experiencing.

Those improvements are not in the 2.0.0-beta12 release. They are available in the latest 2.0.0-rc1 release. That release is not yet published on the arduino.cc Software page, but you can get it directly from the Arduino IDE 2.x repository on GitHub:

The downloads are in the "Assets" section of that page.
Feedback is welcome.

Thanks for information.

I installed rc-version last weekend. The problem still there.

Another funny mistake is, that IDE uses comment lines for information about a variable:

a more general observation:
First start of IDE takes up to 12 seconds until splash screen comes up. My computer has an AMD Ryzen 7 2700X Eight-Core Processor 3.70 GHz, enough memory and a silent but strong cooler/fan. Arduino IDE is installed on a m.2 PCIe SSD. So I don't believe my computer is too old and too slow.

Also after first start IDE don't find a connected board. Of course Windows device manager shows it with correct COM-port. I have to shut down IDE and restart, now it takes only 2 seconds for splash screen and board is recognized.

Jürgen

I wasn't able to reproduce it. Which board do you have selected in the IDE?

That is not a mistake. That is the intentional design of the clangd language server that produces the editor hover content in the IDE.
It even renders Markdown markup in the documentation comments, so you can enhance the hover text with formatting as needed.

This bug is being tracked by the Arduino IDE developers here:

I'm using an Adafruit Feather M0 Adalogger at the moment. Library is SdFat from Bill Greiman V2.1.2.

Have you used a normal Arduino UNO board? I have one also here.

Jürgen

There is no such board in the official "Adafruit SAMD (32-bits ARM Cortex-M0+ and Cortex-M4) Boards" platform. Please provide detailed instructions I can follow to add that board to the Arduino IDE.

Yes.

Does the "No definition found for 'SdFat.h'" issue also occur for you after selecting Tools > Board > Arduino AVR Boards > Arduino Uno?

To start with your last question: no. I connected an Arduino UNO, start IDE, same "no definiton ..."

About Adafruit Feather M0 Adalogger: the "learn"-link in your post is the way, I installed the board. Inside IDE choose simply "Adafruit Feather M0".

But with error also with UNO-board on my computer, it may be not the problem? May be, you should not spend too much time with this, if I'm the only one with that problem.

Jürgen

OK, I tried it and the "Go to definition" is working for me on that board also.

Are you able to compile the sketch?

Do you see a progress indicator at the bottom right corner of the Arduino IDE window?:

status

This shows the activity of the Arduino Language Server, which is the tool that provides this "Go to Definition" capability. I have found that it sometimes gets stuck in this "indexing" state forever, and that can cause it to stop working, and with it all the "smart" IDE features that rely on it. The progress indicator will appear after every change to make to the code, but it should finish within a matter of seconds, after which there will be no text in that location on the left side of the status bar.

Well, it could just as easily be that I'm the only one without the problem.

As a beta tester, I find myself in the interesting position of actually being disappointed when I'm not affected by a bug. But the IDE is a very complex application and everyone's system is a little different. This is why the testing and feedback from the large Arduino community is so valuable.

Yes, I can compile and upload sketch and it works like expected (more or less ...).

After starting IDE it takes a moment and then I see that rotating circle with "building sketch". But I don't clicked on the button 'verify' or 'upload'.

I think after "Building sketch" I see also "indexing" - but very short. So short I wasn't able to read it.

I add a definition for an integer variable. Again "Building sketch" shortly, may be 1 second later once more "Building sketch" this time a bit longer and then "indexing 0/1".

I though problem depends of storage path of libraries. No that is not the problem. I place a #include <Wire.h> sketch don't need it, also I get a "no definition".

Jürgen

OK, well at least the language server is acting well behaved when it comes to building the sketch, even if it is not being so nice when it comes to the "Go to" functionality.

You are welcome to submit a bug report to the Arduino IDE developers here:

https://github.com/arduino/arduino-ide/issues/new/choose

That will allow them to track the need to investigate and fix the issue. I already searched the issue tracker for previous reports and didn't find any about this.