Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify that this extension is not intended for general Ruby development #562

Closed
avdi opened this issue Nov 27, 2023 · 6 comments
Closed

Comments

@avdi
Copy link

avdi commented Nov 27, 2023

Through the magic of ✨algorithms✨, naming, and (presumably) being a verified org, this extension is currently the top non-deprecated result for "ruby" in the VSCode extensions shop. However, per Kevin Newton it is meant specifically for Shopify Rails development, not for general Ruby dev. There's probably nothing you can do to sink the extension below Ruby-LSP in the search results, but a clear notice in the description and README that this is intended for Shopify development would be a service to newcomers and eliminate some confusion.

image

@vinistock
Copy link
Member

This extension is not intended for Shopify use only. Both the extension's description and the README accurately state what it is: an opinionated set of extensions with automatic configuration.

Regarding the search results, I do not know how VS Code ranks extensions, but those assumptions don't seem to be accurate. The Ruby LSP also has Ruby in the name, also comes from the same verified organization, is configured to be the default extension for Ruby files in VS Code and yet is ranked below Solargraph and ruby-rubocop.

We could consider switching the name to something like Ruby extension pack, although it's unclear if that would have any effect on ranking.

@avdi
Copy link
Author

avdi commented Nov 28, 2023

Thanks for the reply @vinistock!

those assumptions don't seem to be accurate.

I said "naming", and the fact that a the single word "Ruby" extension is prioritized is consistent with other VSCode search results, which (I'd guess) prioritize exact matches.

We could consider switching the name to something like Ruby extension pack, although it's unclear if that would have any effect on ranking.

I can't know, but I suspect it would.

This extension is not intended for Shopify use only.

I was directed to post this here by Shopify staff engineer Kevin Newton, who repeatedly asked me to check that the issues I was seeing weren't with this extension which is "meant for Shopify developers". The experience for newcomers at present is that the topmost un-deprecated extension for Ruby is either a) for general use; or b) NOT for general use, you silly person, why are you using that one? This seems unnecessarily confusing, and a name change would probably help.

@vinistock
Copy link
Member

who repeatedly asked me to check that the issues I was seeing weren't with this extension which is "meant for Shopify developers"

Sorry, that information was not correct. This is a generic extension pack that anyone can use, which comes with the set of extensions we usually work with at the company.

Even if you don't use all extensions in the pack, you can still use it since they won't activate automatically. For example, the Sorbet extension will do absolutely nothing unless your project is fully onboarded to Sorbet. And RDBG is a debugger client, so it also does nothing unless you explicitly start debugging with it.

The experience for newcomers at present is that the topmost un-deprecated extension for Ruby is either a) for general use; or b) NOT for general use, you silly person, why are you using that one? This seems unnecessarily confusing, and a name change would probably help.

The naming and how VS Code ranks extensions is indeed unfortunate. We'll look into how we can change the display names.

It might also be worth asking the VS Code team if they'd be open to make the default recommendation for a language always show up at the top if the user is querying for an exact language identifier.

The Rust community has a similar issue, where rust-analyzer is the default recommendation, but does not show up at the top when searching for Rust because the display name is rust-analyzer.

@alexrecuenco
Copy link

I mean, respectfully, thanks for all the hard work and making it open source. But, I would love if you could state the conditions for which this extension is meant to work as the header of the description at the very least. Not just to say it is very, VERY opinionated.

I see a few other extensions as well marked themselves as deprecated in favor of using this extension, but they seem at odds with their intention, they were more general purpose and I fear that a lot of useful tools disappeared that way.

  1. At least mention that if you are using Ruby 2.7* it just fails, and what is the last version that was working for that
  2. Mention that you must have all your tools installed in your bundle, since many workflows fail

black is opinionated, but opinionated in that context has a different meaning of "yeah it will ALWAYS work, but maybe you don't like the result". This tool is opinionated in the sense that you must be working on a very specific codebase for it to like you back, a very specific workflow...

@vinistock
Copy link
Member

I think there are a few misunderstandings here. Mainly, I believe you're confusing this extension pack with the Ruby LSP, which are not the same thing.

I see a few other extensions as well marked themselves as deprecated in favor of using this extension

If you're talking about Rebornix.Ruby, it was marked as deprecated in favour of the Ruby LSP, which is not this extension. This extension is a pack containing an opinionated set of extensions for working with Ruby. The general purpose Ruby extension is the Ruby LSP, which should not require anything from your project other than not using a Ruby that's already past its end of life.

If other extensions (other than Rebornix.Ruby) are marking themselves as deprecated in favour of this one, that's a mistake. But we have no control over that, it's the extension authors that need to file a deprecation request pointing to the right extension.

At least mention that if you are using Ruby 2.7* it just fails, and what is the last version that was working for that

We do mention it. There's an explanation of the rationale and possible workarounds in the extension's documentation.

Mention that you #443 (comment), since rubygems/rubygems#4048

We also mention this in a few places in our documentation. The extension troubleshooting guide has a section on Bundler related issues. And the server's design and roadmap document elaborates on the integration with Bundler.

This tool is opinionated in the sense that you must be working on a very specific codebase for it to like you back, a very specific workflow...

This is definitely not the goal we're looking for. Can you please open a bug report with the workflow where it does not work?

@vinistock
Copy link
Member

This issue is causing misunderstandings in the community and deviating from its original purpose. I created a separated issue for renaming the extension to clarify it's an extension pack #585, which we actually attempted but the marketplace doesn't accept it. We need to look into filing a request so that it can be renamed and prevent further confusion.

I'm also adding a note to clarify that this extension doesn't implement any Ruby features #586. It's the extensions included in the pack that do.

@vinistock vinistock closed this as not planned Won't fix, can't repro, duplicate, stale Feb 15, 2024
@Shopify Shopify locked and limited conversation to collaborators Feb 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants