Prefixed method names does not show up in intellisense

Answered

Version: ReSharper 10.0.20151114.194955

private class Foo
{
private void zfooBarOne() { }
private void zFooBarOne() { }
private void fooBarOne() { }
private void FooBarOne() { }

private void Foo()
{
foob<cursor>
}
}

 

Above "foob" lists all but zfooBarOne, bug? (I try to use z as static prefix, and private methods as camelCase but not getting these in intellisense makes it kindof useless).

 

Thanks.

 

2 comments
Comment actions Permalink
Official comment

Hello 

It is the way how Identifier Matching works. It does not match a variable name by substring. It will match in case of CamelCase or separator e.g. "z_foo" or "zFoo" will be matched to "foo", but "zfoo" won't.  

Why don't you type "zfoob" straight away to match needed variable? 

Thanks! 

Comment actions Permalink

>Why don't you type "zfoob" straight away to match needed variable? 

The point is I want "z" to indicate static stuff, but when I need a logic e.g. "GetUser*" I start typing getuser (since I don't know if member is static or not) and then from intellisense see if there are static alternatives or not.

What complicates is I have public methods PascalCase and private methods lowerCase. Thus I get issues since if I use zLowerCase it indiates it is a public method and not a private one, so only solution then seem to use the (ugly) separator style as in z_lowerCase/z_PascalCase

Thanks.

0

Please sign in to leave a comment.