ReSharper 2017.1 Help

CamelHumps

CamelHumps is a feature that identifies parts of compound names composed according to CamelCase, where each part starts with a capital letter, or when parts of a compound name are separated by underscores. You can type only initial letters of these parts; ReSharper will find items with matching names automatically.

In this topic:

CamelHumps in search commands

CamelHumps always works in all Navigation by Name commands, namely Go to Everything/Type , Go To File, Go to File Member, and Go to Symbol. It is very convenient to type initial letters of name parts and get the list of matching items:

ReSharper speeds up the search with CamelHumps
You can type either uppercase or lowercase letters:
ReSharper speeds up the search with CamelHumps

CamelHumps in editor assistance actions

CamelHumps can also work for Extend/Shrink Selection and typing assistance commands that ReSharper overrides in Visual Studio:

    To enable CamelHumps in typing assistance actions

    1. Choose ReSharper | Options in the main menu.
    2. Go to the Environment | Editor | Editor Behavior page of ReSharper options.
    3. Use the Use CamelHumps check box to toggle CamelHumps support in typing assistance features.
    4. Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down list. For more information, see Managing and Sharing ReSharper Settings.

    If the CamelHumps is enabled, the Extend/Shrink Selection commands take into account parts of compound names. Suppose you have placed the caret in the middle of a compound name with several parts that begin with uppercase letters:

    /help/img/dotnet/2017.1/ExtendSelection_CamelHumps_1.png
    With CamelHumps, pressing Ctrl+W for the first time selects the current part of the word:
    /help/img/dotnet/2017.1/ExtendSelection_CamelHumps_2.png
    Only after pressing this keystroke for the second time ReSharper selects the whole word:
    /help/img/dotnet/2017.1/ExtendSelection_CamelHumps_3.png
    All subsequent presses are processed as usual.

    With the Use CamelHumps option enabled, Visual Studio's 'Next/Previous Word' (Edit.WordNext/Edit.WordPrevious) and 'Extend selection to Next/Previous Word' (Edit.WordNextExtend/Edit.WordPreviousExtend) commands also work in a different way. When you press Ctrl+Right/Left,Arrow or Ctrl+Shift+Right/Left,Arrow the caret moves with/without selection to the next/previous character that separates parts of a compound name in the current word, and only after the last part in word, it moves on to the next/previous word.

    There is also a way to have both behaviors (respecting and ignoring Camel Case) for 'Next/Previous Word' and 'Extend selection to Next/Previous Word', i.e. the default Visual Studio shortcuts (Ctrl+Right/Left,Arrow and Ctrl+Shift+Right/Left,Arrow) will work ignoring Camel Case and some custom shortcuts will work respecting Camel Case.
    To configure it, turn off the Use CamelHumps option in ReSharper settings, and then assign custom shortcuts in Visual Studio options (Tools | Options | Environment | Keyboard) to the following commands:

    • ReSharper_HumpNext – move caret to next hump
    • ReSharper_HumpPrev – move caret to previous hump
    • ReSharper_HumpNextExtend – extend selection to next hump
    • ReSharper_HumpPrevExtend – extend selection to previous hump

    Note that with this setup (with the Use CamelHumps option disabled), the Extend/Shrink Selection command will ignore CamelHumps.

    CamelHumps in code completion

    By default, CamelHumps support is also enabled in Code Completion features. I.e., you can start typing a CamelCase abbreviation of a symbol and the completion pop-up will display matched items. If necessary, you can disable this behavior.

    To change the way code completion filtering works with CamelHumps

    1. In the main menu, choose ReSharper | Options.
    2. Go to the Environment | IntelliSense | Completion Behavior page of ReSharper options.
    3. Use the Match middle of the identifiers check box to toggle CamelHumps support for completion features.
    4. Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down list. For more information, see Managing and Sharing ReSharper Settings.

    This feature is supported in the following languages/technologies:

    C# VB.NET C++ HTML ASPX Razor JavaScript TypeScript CSS XML XAML RESX Build Scripts Protobuf JSON
    Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available Feature is available

    The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.

    See Also

    Last modified: 31 May 2017