microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.89k stars 29.52k forks source link

"Goto Implementation" did not show in right-click menu when "implementationProvider" is true. #63471

Closed sumneko closed 6 years ago

sumneko commented 6 years ago

Issue Type: Bug

  1. Create a LSP extension.
  2. Set "capabilities.implementationProvider = true" in the response of "initialize" event.
  3. Right click a symbol, there is no "Goto Implementation" in menu.
  4. By comparison, "capabilities.definitionProvider = true" add the "Goto Definition" and "capabilities.referencesProvider = true" add the "Find References" in right-click menu.

VS Code version: Code 1.29.1 (bc24f98b5f70467bc689abf41cc5550ca637088e, 2018-11-15T19:13:36.375Z) OS version: Windows_NT x64 10.0.17134

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (8 x 3410)| |GPU Status|2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: disabled_software
rasterization: enabled
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled| |Memory (System)|15.95GB (8.67GB free)| |Process Argv|--folder-uri file:///d%3A/Github/vscode-lua-lsp| |Screen Reader|no| |VM|0%|
Extensions (10) Extension|Author (truncated)|Version ---|---|--- lua-debug|act|0.4.4 tasks|act|0.1.5 gitlens|eam|8.5.6 awesome-vjass-support|Fak|0.0.92 restructuredtext|lex|82.0.0 vscode-language-pack-zh-hans|MS-|1.29.2 cpptools|ms-|0.20.1 fast-jass-lib|ryn|3.27.0 lua-lsp|sum|0.0.1 tmlanguage|Tog|0.9.0
dbaeumer commented 6 years ago

In VS Code GoTo Implementation is not in the context menu of the editor to keep it small and simple. The action is only available as a command.

capture
sumneko commented 6 years ago

As it is an optional capability, if it can be shown only when LSP support it? In default, GoTo Implementation is hidden, the same with GoTo Definition.

dbaeumer commented 6 years ago

@sumneko the idea is to keep the context menu as small as possible with only the most important actions in it.

@mjbvz anythging to add. Do we have an item to promote Goto Implementation into the context menu.

sumneko commented 6 years ago

Thank you for your answer. I think that in a dynamic language like Lua, GoTo Implementation maybe more important than GoTo Definition.