This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 136985 - Go to Function or Variable cannot find class members?
Summary: Go to Function or Variable cannot find class members?
Status: NEW
Alias: None
Product: cnd
Classification: Unclassified
Component: Navigation (show other bugs)
Version: 6.x
Hardware: PC Linux
: P3 blocker (vote)
Assignee: issues@cnd
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-11 12:22 UTC by eskild
Modified: 2008-06-11 14:54 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eskild 2008-06-11 12:22:26 UTC
My problem: I'm becoming the maintainer on a medium-sized module; around 10,000 lines of code. I know that somewhere in
there, there's a variable called "foo". I don't know if it's a class member, or a global, or whatever. I just know it
exists.

So, how do I find it? I try some things:

1. Use "Find in files", but that's a bit crude; it's just a glorified "grep".

2. Open the "Classes" inspector and start typing "foo", but since the search here only finds *class names*, not
*members* as well, it's useless for my purposes.

3. Use the "Go to Function or Variable" feature.

But what do I enter? I try "foo" -- no luck, so it's probably sitting somewhere in a class. I then try "*::foo" but
still no luck, nor with "*foo" or "*foo*"

That's not very useful. So I have to use option 1, which, IMHO, isn't the way it should be.
Comment 1 Jesse Grodnik 2008-06-11 14:19:13 UTC
I've recategorized the IZ to an enhancement since it is unclear how the workflow needs to be modified to address the 
particular situation described.

It would be helpful to get a sense of how you'd like the product to behave when the symbol type is "unknown".
Comment 2 eskild 2008-06-11 14:54:51 UTC
How about this: Replace the current feature with a "Go to Symbol" box. In it, we have the same elements as we currently
do (but see (*), below), but we add a set of checkboxes:

Search in:
  [x] Class names
  [x] Class member variables    (<-- perhaps also separate entries for static members?)
  [x] Class member functions
  [ ] C-style Variables
  [ ] C-style Functions
  [ ] typedef's
  ...etc... Generally utilize the power of the C/C++ parser
  [ ] All of the above

So now there's no "unknown" symbol types, and the user gets the option of narrowing in on his/her search. Furthermore,
we get rid of the "Go to Type" dialog; its functionality is neatly folded into this one.

Optionally, one could add some presets: "C++ construct", "Types only", "Functions only" and the like. But that's not
essential.

(*): When results are displayed in the "Elements Found" list, there must be a column indicating what the actual type of
symbol is.