scalameta / metals-vscode

Visual Studio Code extension for Metals
https://marketplace.visualstudio.com/items?itemName=scalameta.metals#overview
Apache License 2.0
299 stars 75 forks source link

Metals annoyances #1392

Closed gfries closed 1 year ago

gfries commented 1 year ago

Describe the bug

  1. Unsolicited activation Metals notification popup "New maven workspace detected ..." in a Java project after working for some hours with the project ! You should urgently rework the activation trigger rules for the metals extension !!! Metals has nothing to do in a pure java project or in other language projects except Scala projects !!!! It seems you advanced some steps compared to 2021/2022 ... I remember that I had to delete the .metals folder in every project in every language (C#, F# etc.) some years ago. I don't know what the rules are that trigger the activation but it is still bad !!!!!

  2. It closes the panel with the active terminal tab, output tab etc.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

Screenshots

Installation:

Additional context

Search terms

tgodzik commented 1 year ago

Thanks for reporting. Please remember to keep the comments and issues constructive and positive. I realize that some things might be annoying or problematic for you, but it doesn't help your case if you put sentences like:

You should urgently rework the activation trigger rules for the metals extension !!!

This an open source project and it's best not to demand or write loaded message as it doesn't make the contributors look into it sooner. Most likely it will achieve the opposite.

The problem with activation is that VS Code will activate the extension after a timeout, so when we try to discover scala folder for maven projects and the search times out VS Code will just activate the metals extension. The current workaround is to disable metals within problematic workspaces. We could remove the glob search, but that would make people need to go into a scala file explicitly always to activate the extension.

I don't believe this is a problem currently since if you work on Scala most likely you will not have large Java codebase that might trigger the activation issue. If you work primarily on Java then you can disable the Metals extension by default and enable it in specific workspaces. I have the same issue with Java extension and this approach works ok.

We could go back to the issue if this is problematic for a larger amount of people, but ideally this would be fixed within VS Code

gfries commented 1 year ago

It doesn't matter if it is open source or whatever. As part of a larger ecosystem you should be trying to be a good citizen and not a bad one !

To close the lower panel after you open a popup is a bad practice !

And I never realized a similar bad behaviour concerning activation and unconditionally creating an extension folder in a project with any other language extension.

Extension activation does not mean to unconditionally trigger bad behaviour !

I still have all extensions in one profile and language servers / extensions for

So what can all the other extensions do what you cannot do ?? How do all the other extensions trigger the creation of project folders ? They all share the same problem/task: How to detect if the active project / workspace works with the language of the extension.

I never had to delete other extension's folders only .metals ! It has nothing to do with VSCode that you unconditionally create a .metals folder !

So please try to be a good citizen !

-----Original-Nachricht----- Betreff: Re: [scalameta/metals-vscode] Metals annoyances (Issue #1392) Datum: 2023-05-06T23:59:44+0200 Von: "Tomasz Godzik" @.> An: "scalameta/metals-vscode" @.>

Thanks for reporting. Please remember to keep the comments and issues constructive and positive. I realize that some things might be annoying or problematic for you, but it doesn't help your case if you put sentences like: You should urgently rework the activation trigger rules for the metals extension !!! This an open source project and it's best not to demand or write loaded message as it doesn't make the contributors look into it sooner. Most likely it will achieve the opposite. The problem with activation is that VS Code will activate the extension after a timeout, so when we try to discover scala folder for maven projects and the search times out VS Code will just activate the metals extension. The current workaround is to disable metals within problematic workspaces. We could remove the glob search, but that would make people need to go into a scala file explicitly always to activate the extension. I don't believe this is a problem currently since if you work on Scala most likely you will not have large Java codebase that might trigger the activation issue. If you work primarily on Java then you can disable the Metals extension by default and enable it in specific workspaces. I have the same issue with Java extension and this approach works ok. We could go back to the issue if this is problematic for a larger amount of people, but ideally this would be fixed within VS Code — Reply to this email directly, view it on GitHub https://github.com/scalameta/metals-vscode/issues/1392#issuecomment-1537230633 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AB24M73PLZOFPZXLAHOT6ULXE3CURANCNFSM6AAAAAAXYME4HE . You are receiving this because you authored the thread.Message ID: @.> [ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/scalameta/metals-vscode/issues/1392#issuecomment-1537230633", "url": "https://github.com/scalameta/metals-vscode/issues/1392#issuecomment-1537230633", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ] 

tgodzik commented 1 year ago

The issues you are talking about are probably legitimate ones, but you keep on using a very loaded language. There are reasons why things are happening as they are, but it's hard to discuss it when you demand fixes and imply bad behaviour on our part.

And because it's an open source project we keep the language positive without using any kinds of demands to reduce the burden on other maintainers as they do things here in their own unpaid time very often.

If you want you can open new issues, it's better to not put multiple problems into a single issue.

For the new issues you can write something like:

Title: Output panel closing automatically

Description: The output panel keeps closing unexpectedly and this disturbs my development workflow. Is there any way to avoid it?

And fill in the additional fields that are in the template.

This way we can discuss the issue at hand without adding any additional emotions.

Please, do adhere to those rules otherwise you will be banned from opening any new issues.

I locked this issue for the time being.