You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🐛 None of these are functional in the Arduino IDE sketch editor.
To reproduce
Start Arduino IDE.
Select File > Advanced > Keyboard Shortcuts from the Arduino IDE menus.
Configure keyboard shortcuts for the following commands:
editor.action.revealDeclaration
editor.action.goToTypeDefinition
editor.action.goToReferences
ⓘ 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: chore: Theia 1.37.0 arduino-ide#2027 (comment)
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.
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
Start Arduino IDE.
Select File > Advanced > Keyboard Shortcuts from the Arduino IDE menus.
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: chore: Theia 1.37.0 arduino-ide#2027 (comment)
Create a sketch with the following content:
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
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
Additional reports
Related
Issue checklist
The text was updated successfully, but these errors were encountered: