AppCode 2020.3 Help

Code refactoring

Refactoring is a process of improving your source code without creating a new functionality. Refactoring helps you keep your code solid, dry, and easy to maintain.

Invoke refactoring

  1. Select an item to refactor. You can select a file/folder in the Project tool window or expression/symbol in the editor.

  2. Press ⌃⌥⇧T to open a list of refactorings that can be selected.

    Alternatively, you can use a keyboard shortcut for a specific refactoring.

If you need to undo your refactoring, press ⌃Z.

Preview refactoring changes

For some refactorings, AppCode lets you preview changes before applying them.

  1. Invoke refactoring by pressing ⌃⌥⇧T and select a desired refactoring from the list.

  2. To see potential changes (the list of usages where the refactoring will be performed), click Preview in the dialog.

    Refactoring dialog
  3. Check the changes that are going to be made in the Find tool window tool window. You can exclude or remove ⌃X changes that you consider unnecessary.

    Refactoring Preview window

  4. Click Do Refactor to proceed with the changes.

Resolve conflicts

When AppCode encounters problems with your refactoring, it opens a dialog with the list of conflicts and their brief descriptions.

Refactoring conflicts dialog
  • Click Continue to ignore the problem and proceed to open the preview in the Find tool window.

  • Click Show Conflicts in View to open the conflict entries in the Find tool window and deal with them further.

    For example, you can try to exclude an entry from refactoring by pressing or click Cancel and return to the editor.

    Configure refactoring settings

    1. In the Preferences dialog ⌃⌥S, select Editor | Code Editing.

    2. On the Code Editing page, in the Refactorings section, adjust the refactoring options and click OK.

    Rename refactorings⇧F6Renames an element and its usages.
    Change signature⌃F6Changes the signature of a method.
    Move and copyF6/ F5Moves/copies an element.
    Safe delete⌥⌦Makes sure that you do not delete files referenced in your source code.
    Extract method⌃⌥MExtracts code fragments into methods and helps you reduce code duplication.
    Extract constant⌃⌥CDeclares a new constant and initializes it with the selected expression.
    Extract parameter⌃⌥PAdds a new parameter to a method declaration and updates the method calls accordingly.
    Extract variable⌃⌥VDeclares a new variable and initializes it with the selected expression.
    Inline⌃⌥NInlines an element. Acts as opposite of extracting.
    Last modified: 08 March 2021