• RSS Feed

Move Implementation to Source File

Refactoring with Move Implementation to Source File provides C/C++ users with an efficient mechanism for moving the implementation of a function or method from a header to a source file. This refactoring is often invoked after refactorings that place implementations in the header for inline execution, e.g. Encapsulate Field.

Move Implementations to Source File—the plural version of the command—moves all methods of a class in a single operation.

You can modify the format of implementations by editing the VA Snippet for Create Implementation.


Place the caret on a function or method in a header, and select Move Implementation to Source File from a refactoring menu (Shift+Alt+Q).

Visual Assist moves the body to the appropriate source file. For methods, the implementation is placed within other implementations of the same class. Implementations of overloaded methods are moved near other overloads.

If necessary, a declaration is created in the header.

Move All Methods

Move all implementations from a header to a source file by invoking the refactoring from the name of a class, not from the name of a method.

Select the implementations to move in the dialog that opens. Implementations from nested classes can be moved in the same operation.


Use the Navigate commands of Visual Assist to jump between the header and source after Move Implementation to Source File. Immediately after the refactoring, Alt+Left returns you to the header. Alt+Right returns you to the implementation.


Move Implementation to Source File is not available for inline methods outside of a class definition.