Code Providers

  • 3 minutes to read

CodeRush ships with over 40 Code Providers that can generate a lot of code for you: declare class, declare property, declare method; add a getter/setter accessor to a property, add missing constructors; add the implementation of IDisposable, ISerializable, IComparable or IEquatable interfaces, and more. This simplifies and speeds up the code creation process.

The topics in the Code Providers section describe each code provider in detail. The description includes the purpose of the code provider, its availability and the “how to use” example.

How to Use

  1. Invoke the Code Actions menu. Place the caret in the part of the code you want to change, and press Ctrl + . or Ctrl + ~.

    ActionsMenu

    CodeRush adds the following items to Visual Studio’s light bulb menu (Code Actions Menu):

    • Code Formatters — improve code readability and layout to match a certain style without code behavior change. For example, Sort Namespace References.
    • Refactorings — simplify code, improve readability, make code more flexible (for future changes), or bring the code to meet certain standard without code behavior change. For example, Inline Method.
    • Code Providers — can change code behavior or declare undeclared types and members. Use them to supplement your code with blocks which you might want to type manually. For example, Create Event Trigger.
  2. Choose the action from the invoked menu. For example, Declare Field with Initializer.

    You can see a preview of the changes CodeRush can apply to your code. Code_Generation_Main

  3. Press Enter to perform the action.

    The red target picker appears in Declaration Providers. This picker allows you to choose the place where the generated code can be inserted.

    TargetPicker

    You can configure which Declaration Provider should invoke the target picker in the Editor | All Languages | Code Actions | Target Picker options page.

    TargetPickerOptions

  4. Use the Up Arrow and Down Arrow keys to move the target picker.

  5. Press Enter to generate code in the selected position. For example, the Declare Field with Initializer code provider adds the initialized field declaration to the current class and assigns the parameter value to it.

int iD;
bool DeleteRecord(int ID) {
    iD = ID;
    // ...
    return true;
}

You can run most code providers in C# and Visual Basic. CodeRush also includes code providers that you can run in Blazor, TypeScript, JavaScript, and XAML.

Blazor Support

The following code providers are available in .razor files:

You can run Declare providers from the following places in .razor files:

  • From @code sections.

    DeclarePropertyField

  • From Razor markup.

    DeclarePropertyField

    If a Razor code-behind file (.razor.cs) exists, these code providers add the declaration to it instead of the @code section.

    DeclarePropertyField

NOTE

Code providers for Blazor cannot update references in closed .razor files. Ensure all files that may be impacted by a particular code provider are open in Visual Studio before you apply the code provider.