[Feature Request]: Deeper string matching for Resharper's Code Completion / Search Features
Perhaps this has been suggested before, but here goes:
I would absolutely love it if Resharper's navigation and code completion
features used a broader string matching algorithm to find matches for what
you're typing. What I would like them to do is match against results that
have the string within them, not just at the beginning.
For example, when I use Reflector.NET's Search feature and type "Managed"
I get things like:
System.Reflection.Emit.UnmanagedMarshal
System.Security.Cryptography.RijndaelManaged
System.Security.Cryptography.RijndaelManagedTransformMode
System.Security.Cryptography.RijndaelManagedTransform
System.Security.Cryptography.SHA1Managed
System.Security.Cryptography.SHA256Managed
System.Security.Cryptography.SHA384Managed
System.Security.Cryptography.SHA512Managed
System.Runtime.InteropServices.UnmanagedType
System.IO.__UnmanagedMemoryStream
System.Security.SuppressUnmanagedCodeSecurityAttribute
System.Web.Util.IManagedContext
System.Windows.Forms.NativeMethods+IManagedPerPropertyBrowsing
System.Windows.Forms.ComponentModel.Com2Interop.Com2DataTypeToManagedDataTypeConverter
System.Windows.Forms.ComponentModel.Com2Interop.Com2IManagedPerPropertyBrowsingHandler
Those are all relevant results, but if I typed "Managed" into Resharper's
class finder, I wouldn't find any of them because none of them begin with
"Managed".
Oftentimes I don't remember the exact name of a class, method, or file I'm
looking for (especially if I didn't write the code and am dealing with an
unfamiliar naming convention), but I usually remember a single word in a
group of words. For example, a "User" object usually has a "Password" property,
but sometimes it will be called "UserPassword" or "EncryptedPassword", neither
of which would immediately show up using Resharper's current string matching.
Chris
Please sign in to leave a comment.
Hello Chris,
actually all ReSharper's navigation features (like Goto Type) support
wildcards, so typing 'Password' will yield "UserPassword", "EncryptedPassword"
as well as the "SomePasswordEncryptionAlgorithm". This is not so for
code completion that only recognizes indentifiers starting with the prefix
you've
already typed.
Hope this helps.
Regards,
Dmitry Shaporenkov
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"