Select Tools > Board > Arduino AVR Boards > Arduino Uno from the Arduino IDE menus.
Wait for the the "indexing" process to finish, as indicated at the left side of the status bar.
Place the cursor on the baz function call on line 7 of the sketch editor.
Press the keyboard shortcut for the "editor.action.revealDefinition" command (Ctrl+F12 by default).
Select "Go to Declaration" from the context menu.
π The cursor moves to the baz function definition at line 3 as expected.
β This step demonstrates that other language server-dependent features are functional.
Place the cursor on the baz function call on line 7.
Press the keyboard shortcut for the "editor.action.revealDeclaration" command
π Nothing happens (expected result is that the cursor would move to the baz function declaration at line 2)
Place the cursor on the foo_t function return type on line 2.
Press the keyboard shortcut for the "editor.action.goToTypeDefinition" command
π Nothing happens (expected result is that the cursor would move to the foo_t type definition at line 1)
Place the cursor on the baz function declaration on line 2.
Press the keyboard shortcut for the "editor.action.goToReferences" command
π Nothing happens (expected result is that a peek would open with all references to baz)
Expected behavior
Arduino Language Server provides Arduino IDE with whatever it needs to make these features functional.
Arduino Language Server version
0.7.4
Arduino CLI version
0.32.2
Operating system
Windows
Linux
macOS
Operating system version
Windows 11
Ubuntu 22.04
macOS Ventura
Additional context
The demo works as expected when using VS Code.
Logs generated by performing the above procedure with the build from arduino/arduino-ide@36e2092:
My research and experimentation indicates that the two non-functional language server-dependent features mentioned in that report ("Refactor" and "Source Action") are not implemented for C++ even in the C++ VS Code extensions so that is a different situation from the missing functionality tracked in this issue.
Describe the problem
The Eclipse Theia IDE framework (as of 1.37.0) includes the following language server-dependent features:
π None of these are functional in the Arduino IDE sketch editor.
To reproduce
Configure keyboard shortcuts for the following commands:
β Keyboard shortcuts are used in this demo because the editor context menu items for the non-functional language server features were removed from Arduino IDE: https://github.com/arduino/arduino-ide/pull/2027#issuecomment-1538833648
baz
function call on line 7 of the sketch editor.baz
function definition at line 3 as expected. β This step demonstrates that other language server-dependent features are functional.baz
function call on line 7.baz
function declaration at line 2)foo_t
function return type on line 2.foo_t
type definition at line 1)baz
function declaration on line 2.baz
)Expected behavior
Arduino Language Server provides Arduino IDE with whatever it needs to make these features functional.
Arduino Language Server version
0.7.4
Arduino CLI version
0.32.2
Operating system
Operating system version
Additional context
The demo works as expected when using VS Code.
Logs generated by performing the above procedure with the build from arduino/arduino-ide@36e2092:
NonFunctionalLSFeatures.zip
Related
Issue checklist