metals-vscode
metals-vscode copied to clipboard
Surprise dependencies when installing Metals
Describe the bug
When installing this extension, it did not make it clear that it would install another extension as a dependency, scala-lang.scala.
Given that it is not from the verified owners of scala-lang, I wish this was declared as a dependency. I'd also like to see scala-lang take ownership of the language plugin in VS Code.
To Reproduce Steps to reproduce the behavior:
- Install Scala (Metals) scalameta.metals
- Observe Scala Syntax (official) scala-lang.scala is also installed.
- Find no dependency reference on https://marketplace.visualstudio.com/items?itemName=scalameta.metals
Expected behavior
Explanation that this will install a second plugin, or be vended as a pack of plugins for Scala over a single plugin with a second required one.
Screenshots Installation:
- Operating system: Windows/Linux
- VSCode version: 1.67.2
- VSCode extension version: 1.16.0
- Metals version: 0.11.5
Additional context Search terms
@ADataGMan It might be a bit confusing why there are several extensions and why are published from different organizations but I wouldn't say that it's an issue. Let me clarify the state of it.
-
What about extension and owners:
-
Scala Syntax (official)
is maintained by the main scala org and provides only syntax highlighting - https://github.com/scala/vscode-scala-syntax -
Scala (Metals)
is a language server extension for Scala which is maintained by scalameta organization and it just automatically installs syntax highlighting.
-
-
What about unexpected dependency:
Scala Syntax (official)
is declared inextension pack
section that is a kind of dependency. If you open Metals extension page, it shows that inExtension Pack
tabIt seems that marketplace.visualstudio.com provides less information in compare to exntesion view in VSCode. For example, haskell extension has a dependency but I don't see any notice about that at its web page.
This was helpful, and I was using the web interface to check for dependencies since I could do a ctrl find easier and it seemed to be in sync with the extension in VSCode directly.
Could I suggest that it just be mentioned that this will install a second extension in the description as well? I try to make sure that the plugin is actively supported by a vendor when installing in a work scenario so that I don't introduce any additional risks into my environment, and the surprise second plugin definitely caused doubt until I dug deeper to make sure both are supported by the community.
If this isn't something supported, then this can be closed immediately.
Thank you for the clarification!
@ADataGMan We can add that information to readme above Requirements
section (the rest is automatically generated from the docs). Would you be interested in adding a paragraph that you would be satisfied with?