Sunday, July 22, 2007

Status: Improving Eclipse Search


Last week, I decided to implement "Highlight All" feature mentioned in Bug 29692, since it's a common enhancement request. I believe I've produced a patch that solves it. However I'm planning to implement "soft matches", that is if the user requests it, highlighting case-insensitive matches with a different color, case-sensitive whole word matches with a stronger color etc. like Ctrl+H Search does.


About the "lightweight find" ( Bug 99294 ), you should read Comment #24 about my current thoughts. The only problem with having "Find" and "Replace" fields on the bar simultaneously is visibility of all labels,buttons,fields on the bar at the same time on a vanilla install. Iconizing "Find", "Replace", "Replace/Find", "Replace All" buttons would save some space (these button labels can be written as tooltips). About "Options" group presentation problem, I thought of a bar-switch behaviour or a second bar appearing on the Find/Replace bar.

Another solution would be adding a second bar to appear for Replace and Options (shared use). The scenario would be like this:

1. Press Ctrl+F. You'll see a bar under the editor.
Only the Find bar:
[x] Find: [_____] [Next] [Previous] [Options...] [Replace...]
2. Press Ctrl+F again. Another bar will appear under the Find bar. This should be Replace bar. Find bar will "reform" itself.
[x] Find: [_____] [Options...]
[x] Replace with: [_____] [Next] [Previous] [Replace] [Replace All]
3. Pressing button will switch the second bar (Replace bar) with an "Options" bar.

It's still very open to discussion so I'm planning to implement it after we settle on an idea.

I hope to tackle other usability issues next week together with lightweight Find/Replace design.

That's all. Thank you for your feedback.

1 comment:

Eugene Kuleshov said...

"Highlight All" feature look really nice, but I think it should be a checkbox, perhaps next to the "regexp" one.

For a "lightweight replace" you should also take into the account "Replace/Find" option that should work backward and forward, as well as allow to skip matches, so it doesn't seem like you'll need to reform the Find bar.

By the way, one of the struggles with existing search is that its edit/replace fields are too small, especially when working with regular expressions. I wonder if they should be shown on a search dialog as a wrapped multiline text area.

Another limitation of the current search is that it doesn't allow to do multiline search/replace. Even leaving alone the structural search like in IDEA.