Yeah, my first thought is the plugins are going away sooner or later.
I hope they use Jetbrains as a base instead of VS Code (or roll their own). I strongly prefer IdeaVim or over the one in VS Code. It's the main reason why I don't use Cursor.
> I suggest trying RubyMine to set expectations on what is possible first.
In my professional experience with large, very long-running Ruby projects, RubyMine will at least once per session (and usually much more than once) give you search results that are no better (and sometimes worse) than if you'd just run `grep` on the codebase. (e.g. "I'm pretty sure ONE of these five hundred 'run' functions is the one you want! Oh, by the way, I also am showing you results from every .gem file I know about!")
It also has a bias for presenting results quickly and allowing you to make queries quickly... so quickly that it often returns partial results to queries with absolutely no outward indication that the results are incomplete.
Given what it seems that the other Ruby "Intellisense" plugins are having to do to well-understand real-world Ruby projects (especially those who use Rails and friends), I'm sure that a godawful lot of manual work and special-case knowledge has gone into RubyMine's Intellisense. But, it's still not nearly enough to be reliable on large projects.
I thought they have a little indicator that says it's a partial result set?
> I'm pretty sure ONE of these five hundred 'run' functions
Yes. Same thing with all unannotated dynamic languages. Like Smalltalk has a bazillion `#value` and `#value:`s, but there were options to scope it down. You can do that in RubyMine, but I forgot if you can do it by class/gems without manually creating a scope.
Just saying that such navigation isn't impossible with Ruby.
> I thought they have a little indicator that says it's a partial result set?
There might be one (one would think there WOULD be one), but if it does exist, it's so small and unobtrusive that I've never noticed it. My coworkers who use RubyMine every damn day don't seem to notice it either. If it exists, it needs to get much more obvious, IMO.
> ...but I forgot if you can do it by class/gems without manually creating a scope.
I know that my RubyMine-loving coworkers definitely don't do whatever this is and just power through the worse-than-grep results.
> Just saying that such navigation isn't impossible with Ruby.
Fully-automatic trouble-free navigation of sufficiently-large/complex projects is pretty much impossible with Ruby. (At least in a Ruby project that lacks comprehensive, correct type annotations.) I'm just saying that folks who might take RubyMine for a test drive on a small or toy project will be unlikely to get an accurate demonstration of its limitations.
(In my professional experience, RubyMine is not THAT much better than the 'solargraph' VSCode plugin.)
Yes, that was my first thought too. The concept is similar.
Get rid if the source-files and put every function/method in its own "editor". However, as far as I remember navigation to/from callers was not possible in Smalltalk.
You don't have to get rid of files; while the Smalltalk image was great and offer some advantages, there has been Smalltalks that worked on files and Lisp showed that you can have still have a working image with files.
> navigation to/from callers was not possible in Smalltalk
You can navigate implementations and references to symbols, which mostly work like how unannotated dynamic languages (like Ruby, Python) would work.
There would be false positives; but it isn't as bad as it sounds unless you look up common symbols like `#value` and `#value:`.
In some Smalltalk environments and some extensions, you could narrow them by scope, like look up references to this symbol within that package. I think Dolphin did that.
As far as I can tell, the Vim mode in Fleet isn't even able to save files yet, which I feel like is literally the first thing I learned to do in Vim. I'm not really sure what it's even supposed to be able to do yet because it's missing so much that it's not worth the time for me to invest in playing around with it.
Sorry, I didn't read carefully, not realizing you were referring to Fleet. I have not used it before.
IdeaVim in the pre-fleet Jetbrains IDE work well (enough) for me. Tried with WebStorm, RubyMine, AppCode. I think I wouldn't use them as much if IdeaVim didn't exist.
Yep, I like the Vim plugin in their IDEs, and I'd be thrilled if Fleet provided that level of functionality for its plugin, but unfortunately it's not clear when that's going to happen, if ever.
https://hboon.com/about/
hboon@motionobj.com
More than 20 years experience in software development.
Looking for part-time work as I build my own products.
reply