Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 smarter find symbol
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

invino4
Senior Member

35 Posts

Posted - May 06 2007 :  8:20:09 PM  Show Profile  Reply with Quote
The Find Symbol is very useful but having a little more control over it from the text line would make it really helpful:

1.) If something is selected when I bring it up, pre-populate the text search line.

2.) Some way to indicate a complete match. Perhaps a single preceeding quote or something (e.g. 'MySymbol)

3.) Typographical restriction on class of symbol. E.g. "class 'MySymbol" would only find symbols that are classes, structs or other types which are an exact match MySymbol. E.g. "var localVar" would find only local variables called localVar. E.g. "mem m_memberVar" would find only member variables.

4.) More choices for scoping. Currently there is a check box for "workspace" instead of "everything". How about a drop down here with "function", "class", "file", "project", "workspace", "everything".

5.) Partial tail matches. It is often that I want to find something with a common kind of name but I know the namespace. E.g. Namespace.PartialSymbol. However, Namespace tends to be long, e.g. MyCompany.MyGroup.MyApplication.MyProject.PartialSymbol. It would be nice if I could just type MyProject.Symbol and still see all of the symbols that are in namespaces that are *.*MyProject* and symbols that are *Symbol* - i.e. *.*MyProject*.*Symbol* (with the first dot actually folded in to the * before MyProject but shown here for clarity).

Its important that these features be mostly accessible just from the text search field. I usually pop the Find Symbol window from a shortcut key to quickly jump somewhere else. It would suck if I had to grab the mouse to click a bunch of check boxes or other options instead of just being able to use prefixes in the search box where my cursor ends up.

- Jason.

Edited by - invino4 on May 06 2007 8:22:21 PM

schoenherr
Tomato Guru

Germany
160 Posts

Posted - May 07 2007 :  01:17:39 AM  Show Profile  Reply with Quote
1.) there was already a disscussion, and there might people not wanting such a behaviour, what would mean an extra option (WT tries to keep the number of options as small as possible)

2.) i think there exists a case for this.

3.) not a good idea in my opinion because this woult exclude the keywords as searchable items

4.) already requested: status unknown for me, but i would support this suggestion (maybe just some more check boxes)

5.) not really necessary, you can do a lot of this with already existing feature like
".MyProject Symbol" or "MyCom .MyGr .MyAp . myPr Symb"
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18942 Posts

Posted - May 07 2007 :  08:07:00 AM  Show Profile  Reply with Quote
point 1, we are considering something like this:

case=1316

point 2, I suggested using < and > to indicate the start and end of symbols, since this is what the IDE find dialog uses in regular expression mode. consistency is good, less things to remember

case=5977

point 3, we are considering adding some form of type filtering to FSIW, but I am not sure how this might work until it is done, but it is unlikely to use C++ keywords for the very reason schoenherr gives:

case=5031

point 4, I am not quite sure what you are after here. If you want to search in a file then try alt-o
If you want to search in a class then type the class name followed by a space to filter the search results.
Searching inside a function is not going to work since FSIW does not have this level of knowledge.
This leaves us with project / workspace and the entire solution. I am not aware of any requests about this, and so far I am not finding any feature requests for this, which is a slight surprise.

point 5, schoenherr is quite right. You can also exclude items by putting a minus sign in front of a filter item.

zen is the art of being at one with the two'ness
Go to Top of Page

invino4
Senior Member

35 Posts

Posted - May 07 2007 :  10:33:04 PM  Show Profile  Reply with Quote
Slight rebuttal (fwiw)

2.) Word breakage is a little different than exact match. The latter includes the notion of case matching. This is important so that I don't get all of the fields that match my property or all of the properties that match my field.

3.) Filtering that uses check boxes, drop downs, or obscure non-easily typed characters is basically useless for this. The whole point of it is to quickly filter the result list down to just the class of thing I'm looking for. The most common case is that I'm looking for the definition of either a class or a method with a particular name. The result list has tons of stuff in it and my item is usually several pages down. If I have to go over and check some box that cost me about as much time as scrolling down to find the thing I'm looking for. (As a side note, this could be partial alleviated by changing the sort order for matches to be "Exact Class name matches", "Exact Method name matches", all other stuff...) I just want to get to my class defs without ending up on the properties that bear the same name. :(

4.) I'm not sure what Alt-O does? In my current bindings it opens the matching .h file in C++. Is that supposed to be bound to something else? The "List Methods In Current File" is pretty close to this request for File scope but it is a second interface with almost the same functionality as Find Symbol. Why can't these be the same and reduce the things I have to remember - and the key bindings I have to use up. Project scope is just a thought... might help reduce noise, but I probably wouldn't use this as much as File, Workspace, Everything.

5.) Hmm... didn't realize this worked - I retract my request. :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18942 Posts

Posted - May 08 2007 :  2:05:50 PM  Show Profile  Reply with Quote
point 2, we were talking about completely different things, I see that now. The idea of making lower case letters case insensitive while upper case letter case sensitive while filtering has come up before, which might help:

case=119

point 3, we would need to add something like #class# and I am not sure how many people would use something like this.

point 4, my mistake, that should have been Alt-m for the list of functions in the file

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000