|
| 1 | +--- |
| 2 | +slug: refactor-project |
| 3 | +title: Refactor Project |
| 4 | +tags: [Refactor] |
| 5 | +keywords: [FlutterFlow, Refactor Project, developer tools, large-scale edits, rename , key reference search, developer menu] |
| 6 | +description: Learn how to refactor your project in FlutterFlow. |
| 7 | +sidebar_position: 7 |
| 8 | +--- |
| 9 | + |
| 10 | +# Refactor Project |
| 11 | + |
| 12 | +**Refactor Project** is a developer‑focused mode that opens your FlutterFlow project as a set of YAML files so you can perform large-scale edits, such as renaming data types, pages, enums, or components, in a single, consistent operation. |
| 13 | + |
| 14 | +For example, if you want to use a custom data type from a Library and update all references, you don’t have to manually edit each page or component. With Refactor Project, you can update all references in one go using a single refactor pass. |
| 15 | + |
| 16 | +It makes managing large projects easier and more reliable. You can make changes across hundreds of references in just seconds, which saves time and effort compared to manually editing. It also lets you preview changes and dismiss anything you don't want to update. |
| 17 | + |
| 18 | +:::info |
| 19 | + |
| 20 | +You can refactor the project only if you're on a [**paid plan**](https://www.flutterflow.io/pricing). |
| 21 | + |
| 22 | +::: |
| 23 | + |
| 24 | +To refactor a project, go to **Toolbar > Developer Menu > Refactor Project**. You’ll need to commit any unsaved changes before entering the refactor view. This opens your project in a YAML-based editor, where you can search, edit, and replace values across multiple files. |
| 25 | + |
| 26 | +You can also use **key reference** search by toggling the **key** icon—currently supported for data types, enums, pages, and components. Changes are color-coded: added lines appear green, and removed lines appear red. As you make changes, FlutterFlow provides inline YAML validation to help you catch and fix any issues in real time. |
| 27 | + |
| 28 | +When you're done, click **Commit** to save the changes. After that, test your app to make sure all widgets, actions, and bindings still work as expected. |
| 29 | + |
| 30 | +:::tip |
| 31 | +You can exclude any item from the replacement by right-clicking on it and selecting **Dismiss**. |
| 32 | +::: |
| 33 | + |
| 34 | +<div style={{ |
| 35 | + position: 'relative', |
| 36 | + paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding |
| 37 | + height: 0, |
| 38 | + width: '100%'}}> |
| 39 | + <iframe |
| 40 | + src="https://demo.arcade.software/Uy4bDoJSGEIJtm4an8G6?embed&show_copy_link=true" |
| 41 | + title="" |
| 42 | + style={{ |
| 43 | + position: 'absolute', |
| 44 | + top: 0, |
| 45 | + left: 0, |
| 46 | + width: '100%', |
| 47 | + height: '100%', |
| 48 | + colorScheme: 'light' |
| 49 | + }} |
| 50 | + frameborder="0" |
| 51 | + loading="lazy" |
| 52 | + webkitAllowFullScreen |
| 53 | + mozAllowFullScreen |
| 54 | + allowFullScreen |
| 55 | + allow="clipboard-write"> |
| 56 | + </iframe> |
| 57 | +</div> |
| 58 | +<p></p> |
0 commit comments