Extract to Method

You can easily move a code fragment to a separate new method. This is called extract method refactoring. It helps keeping methods shorter and easier to understand.

Select a block of actions and press Ctrl+1, select Extract to task or Extract to function from the list of quick assist proposals and press Enter.

../../_images/sv_quick_assist_extract_to_method_list.png

A new method is created containing the selected code fragment, and the selection is replaced with a method call.

../../_images/sv_quick_assist_extract_to_method_after.png

Note

Any local variables declared prior to the code fragment you extracted become arguments of the newly created method. Each argument direction is computed accordingly:

  • input for arguments that are only read

  • output for arguments that are only written

  • inout for arguments that are both read and written in the selected block of actions

Note

By default, if and loop conditions are evaluated to the logic data type, according to the IEEE 1800-2023 Standard for SystemVerilog. You can enforce the data type to bit by going to Window ‣ Preferences ‣ DVT ‣ SystemVerilog ‣ Refactoring and enabling Enforce condition data type to bit.

This preference applies only when you select the whole condition.

Tip

You may change the extracted method name in the edit box, right after the extract action is completed.

Tip

You can change the method signature by editing the Method Code Templates

Tip

You can also Right-Click in the editor and go to Refactor > Extract to Task or Extract to Function.

../../_images/sv_quick_assist_extract_to_method_menu.png