Project
Ruby
Priority
Normal
Type
Usability Problem
Fix versions
RubyMine 1.0 RC (build 873)
State
Fixed
Assignee
Anna Bulenkova
Subsystem
IDE
Affected versions
No Affected versions
Fixed in build
108.101  
  • Created by   Kevin Menard
    2 years ago (21 Feb 2009 03:21)
  • Updated by   Kevin Menard
    7 months ago (28 Jun 2011 02:20)
  • Jira: RUBY-3007
    (history, comments)
 
RUBY-3007 Go To is too restrictive
1
Issue is visible to: All Users
  The issue is visible to the selected user group only
The search for the "Go To" items look like they were taken from IDEA, which was optimized for Java and camel-casing. It does not work terribly well for Ruby. I have to spend too much time thinking about whether something is a class or a module or a daemon or something else. On top of that, partial searches don't work very well and everything is case-sensitive.

I'd highly suggest modeling this off TextMate's Cmd-T search. It is far more forgiving and far more usable. Additionally, a lot of potential RubyMine users will have used TextMate and will expect something similar.

Issue was resolved
Comments (5)
 
History
 
Linked Issues (?)
 
Christian
  Christian
27 Mar 2009 01:30
2 years ago
I highly agree. This is a part of RubyMine where I feel like loosing a lot of productivity.


I would not use * as a wildcard but a space instead (like in textmate) which allows very natural typing and faster searching.

Moreover I would not only search at the beginning of the filenames. Specially for partials this is quite cumbersome since I always search for the filename but I forget to prepend it with the underscore.

For example typing "me co spe" to find the messages_controller_spec.rb is much easier than me*co*spe*.
Dmitry Jemerov
  Dmitry Jemerov
24 Apr 2009 17:01
2 years ago
We consider TextMate's behavior for this too lenient, and having too many false positives. We may add this as an option in a future version, but we don't want to have it as default behavior.

For now, we've implemented Christian's suggestions. Space can now be used as word separator (for example, "na te" now matches "name_util_test"), and leading underscores in filenames are ignored ("form" now matches "_form.html.erb").

Additional specific examples on what you expect to be matched are welcome.
Kevin Menard
  Kevin Menard
25 Apr 2009 00:39
2 years ago
While an improvement, this is still severely lacking.

Take a class named "UsersControllerTest" in a file named "users_controller_test"

Typing "uct" will not work. Not in the class name search and not in the filename search. "UCT" will work for both searches, even though the filename is lowercase. "u c t" will also work in both. "u c t " will not work in either.

These are all variations of the same three letters. Yet, the simplest of the forms to type is not supported at all.


I can appreciate you find the TextMate approach too lenient, but I would really consider the target market here. I've been using IDEA for years as my Java IDE. I've been using TextMate and RubyMine for some time for Ruby development. My personal opinion is that TextMate really has this one right. I would rather have a false negative than a false positive. At least with the false negative I can ignore it in the list. With a false positive I have to start clicking through the project explorer.

If this one issue were resolved satisfactorily, I probably could sell my whole team on RubyMine. As it stands, most won't even bother to use it because navigating to files is too much effort.
Dmitry Jemerov
  Dmitry Jemerov
27 Apr 2009 20:57
2 years ago
OK, we've made some further tweaks for the final release. Now all-lowercase patterns treat every character as a possible start of a lowercase word - so "uct" will match "users_controller_test" (but not UsersControllerTest). For jumping to the class, you can still use UC.
Kevin Menard
  Kevin Menard
28 Jun 2011 02:20
7 months ago
Please revisit this issue. It's a major usability problem. It's very strange that I have to type CMD + N to open a class, but CMD + Shift + N to open a spec, because a spec isn't technically a class, it's just a describe block. Plus I'm constantly opening the Gemfile class when I want to open the file named "Gemfile." Sometimes it's just that my pinky doesn't push the Shift key all the way in and I end up opening up the wrong thing. In any event, there's not a day that goes by when I use RubyMine or IDEA that I didn't wish these were unified.