# Toggle Function Definition

Use the Refactor > Toggle Function Definition command to toggle the location where a function is defined.

In an Editor window, place the cursor inside a function declaration or definition, then run Refactor > Toggle Function Definition from the context menu. Any cursor position between the first and the last characters of the function definition (but not including comments preceding the function) will cause that function to be selected for the refactoring.

This refactoring switches a function definition from a header file to a correspondingly-named implementation file. If the necessary file does not exist, it will be created (after a confirmation dialog).

For methods, it can also switch the method from being defined within its parent class declaration to being defined using an inline definition in the same header file.