Skip to main content

How to: Wrap Multiple Sections into Regions

  • 3 minutes to read

CodeRush can wrap each member section into a region and surround these member sections with the parent region.

namespace MyApp
{
    public class Example
    {
        #region Private fields, private events, and private methods 
        #region Private fields
        object field1;
        object field2;
        #endregion
        #region Private events
        event EventHandler EventName1;
        event EventHandler EventName2;
        #endregion
        #region Private methods
        void MethodName1() { }
        void MethodName2() { }
        #endregion
        #endregion
    }
}

Follow the steps below to achieve the result shown in the code snippet above:

  1. Open the Editor | All Languages | Organize Members options page to configure the Organize Members feature.

    organize-members-page

  2. In the “Rule set” section, click New to open the “New Set” dialog.

    empty-rule-set

  3. Rename the suggested rule set name, for example, to “My Rule Set”. Click OK to save the rule set name and close the “New Set” dialog.

    rename-to-my-rule-set

    CodeRush creates an empty rule set that you can populate with member rules.

    my-rule-set

  4. Click Add Rule to create a new rule.

    add-new-rule

    CodeRush adds the new rule to the rule set.

    default-rule-options

  5. Change the suggested rule name to “Private fields” and press Enter to save this change.

    change-rule-to-private-fields

  6. In the “Group by” section, specify the following condition for the “Private fields” rule:

    grouping-for-private-fields-rule

    For more information on how to configure grouping, see the following example: How to: Create a Rule

  7. Add a rule (see the step 4), name it “Private events”, and specify the following grouping condition:

    private-events-rule

  8. Add a rule for private methods with the following grouping condition:

    private-methods-rule

  9. Select the “Private fields” rule and click Region to wrap this rule into a region.

    wrap-private-fields-rule

  10. Press Enter to apply the suggested region name for private fields.

    region-text-field

    CodeRush shows the “Member section name” field set to “Fields” in the right part of the options page.

    Note

    CodeRush can wrap fields, methods, or properties into a region when you expand a template. For more information, see the following topic: Member Sections.

  11. Repeat steps 9-10 to wrap “Private events” and “Private methods” rules into a region.

    wrap-private-fields-events-methods

  12. Select the “Region: Private methods” item and click Region.

    region-for-region-private-methods

  13. Change the suggested region name to: “Private fields, private events, and private methods”.

    private-fields-events-methods-region

  14. Use drag & drop to position “Region: Private events” and “Region: private fields” items inside “Region: Private fields, private events, and private methods”, as shown in the screencast below:

  15. Click Apply and OK to save the changes, and close the Organize Members options page.

  16. Place the caret in a class member in the code snippet below:

    using System;
    
    namespace MyApp
    {
        public class Example
        {       
            object field1;
            event EventHandler EventName1;
            void MethodName1() { }
            object field2;        
            event EventHandler EventName2;      
            void MethodName2() { }        
        }
    }
    
  17. Press Ctrl+. or Ctrl+~ to invoke the Code Actions menu.

  18. Choose Organize Members from the menu and press Enter.

CodeRush groups private fields, private events, and private methods according to the specified rule order and wraps these members into regions.