Skip to content

Commit b9c64be

Browse files
Add Refactor Project Docs (#323)
* Add Refactor Project docs and Toolbar enhancements * Apply suggestions from code review Co-authored-by: Pooja Bhaumik <[email protected]> * Added use cases and examples * Add pricing plan to Refactor Project --------- Co-authored-by: Pooja Bhaumik <[email protected]>
1 parent bac339c commit b9c64be

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

docs/intro/ff-ui/toolbar.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,10 @@ _Connect GitHub Repo_, _Download Code_, and _Download APK_ features requires a [
265265

266266
6. **Open in VSCode**: This option lets you open your entire FlutterFlow project in a VS Code environment, offering a richer development experience. You’ll have real-time autocomplete and error detection, easier access to existing Flutter & Dart tooling, and the ability to leverage the AI ecosystem.
267267

268+
7. **Refactor Project**: This option opens your FlutterFlow project in a YAML-based file editor, allowing you to perform bulk edits more efficiently. You can search, edit, and replace values across multiple files—useful for renaming keys, updating data types, or migrating resources to a Library. Check out the [**Refactor Project**](../../resources/projects/refactor-project.md) documentation for more details.
269+
270+
271+
268272
## Share project
269273

270274
You can make a project public so that others can view and clone your project. Before you share your project, make sure to remove any sensitive information.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
:::tip[PLANS]
13+
Refactor Project feature is available on the **Standard** plan and higher. Check our [**pricing plans**](https://flutterflow.io/pricing).
14+
:::
15+
16+
**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 in a single, consistent operation.
17+
18+
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 this mode enabled, you can update all references at once using a single refactor pass.
19+
20+
It makes managing large projects easier and more reliable. You can make changes across hundreds of references in just seconds, saving time and effort compared to manual edits. It also lets you preview changes and dismiss anything you don’t want to update.
21+
22+
:::tip[possible use cases]
23+
- **Type Refactoring**: Rename a custom data type (e.g., `OrderDetails``OrderInfo`) across all bindings, forms, and logic in a single pass.
24+
- **String Replacement**: Find and replace hardcoded (magic) strings like `"admin"`, `"true"`, or `"completed"` to improve clarity and maintainability.
25+
- **Library Migration**: Replace a project-based custom data type (e.g., `UserProfile`) with its Library counterpart throughout the app without manually editing each reference.
26+
- **Key Updates**: Update outdated keys—for example, replace all instances of `old_api_key` with the new `new_api_key` value.
27+
- **Cleanup Unused Items**: Locate and remove unused fields or stale references (e.g., `oldFieldName`) from your YAML files to keep your project clean.
28+
:::
29+
30+
:::info
31+
32+
You can refactor the project only if you're on a [**paid plan**](https://www.flutterflow.io/pricing).
33+
34+
:::
35+
36+
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.
37+
38+
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 in green, and removed lines appear in red. As you make changes, FlutterFlow provides inline YAML validation to help you catch and fix issues in real time.
39+
40+
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.
41+
42+
:::tip
43+
You can exclude any item from the replacement by right-clicking on it and selecting **Dismiss**.
44+
:::
45+
46+
<div style={{
47+
position: 'relative',
48+
paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding
49+
height: 0,
50+
width: '100%'}}>
51+
<iframe
52+
src="https://demo.arcade.software/Uy4bDoJSGEIJtm4an8G6?embed&show_copy_link=true"
53+
title=""
54+
style={{
55+
position: 'absolute',
56+
top: 0,
57+
left: 0,
58+
width: '100%',
59+
height: '100%',
60+
colorScheme: 'light'
61+
}}
62+
frameborder="0"
63+
loading="lazy"
64+
webkitAllowFullScreen
65+
mozAllowFullScreen
66+
allowFullScreen
67+
allow="clipboard-write">
68+
</iframe>
69+
</div>
70+
<p></p>

0 commit comments

Comments
 (0)