Skip to main content

Configuration

Configure FVM and IDEs for better support for different development environments.

Project#

FVM will create a relative symlink in your project from .fvm/flutter_sdk to the cache of the selected version. Add it to your .gitignore

.gitignore
.fvm/flutter_sdk

FVM#

Cache Directory#

You can configure the fvm cache directory by setting FVM_HOME environment variable. If nothing is set the default fvm path will be used. You are also able to change the directory by setting the --cache-path on the config. See below

Config#

There are some configurations which you can change on FVM. All settings set on CLI are compatible with the Sidekick(GUI).

Different Flutter Repo#

You can use a different Flutter repo, a fork or as a local cache, by setting the FVM_GIT_CACHE environment variable.

List config#

> fvm config

Set cache path#

Location where Flutter SDK versions will be stored. If nothing is set, the default will be used.

> fvm config --cache-path <CACHE_PATH>

IDE#

info

You might have to restart your IDE and the Flutter debugger to make sure it uses the latest version of the configurations in some situations.

VS Code#

Option 1 - Automatic Switching (Recommended)#

You can add the version symlink for a dynamic switch. Simply execute fvm use <desired version> in the project root directory and fvm will create the following file:

.vscode/settings.json
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}

VS Code will always use the version selected within the project for all IDE tooling. Also, remove the flutter SDK from search to make things easier.

Option 2 - View all SDKs (Manual switching)#

VSCode has the ability for you to switch between all cached Flutter SDKs using Flutter: Change SDK.

info

Use command fvm list to show you the cache path to the versions.

List all versions installed by FVM#

You can see all the versions installed by FVM in VS Code by just providing path to versions directory. In the following example path for macOS, replace $USER with your username:

{
"dart.flutterSdkPaths": ["/Users/$USER/fvm/versions"]
}

Alternatively, you can specify only selected versions. The following snippet will cause VS Code to show only stable and dev versions of Flutter.

{
"dart.flutterSdkPaths": [
"/Users/$USER/fvm/versions/stable",
"/Users/$USER/fvm/versions/dev"
]
}

To change current Flutter version open a project and select Flutter: Change SDK in the command palette. You should see all the versions as depicted in the following screenshot.

Android Studio#

  1. Go to Languages & Frameworks > Flutter or search for Flutter and change Flutter SDK path.
  2. Copy the absolute path of fvm symbolic link in your root project directory. Example: /absolute-project-path/.fvm/flutter_sdk
  3. Apply the changes.
  4. Restart Android Studio to see the new settings applied.
important

For Android Studio to detect the dynamic change of SDKs, the installed SDK must have finished setup.

Using fvm install <VERSION> will ensure that setup during install.

If you have installed through another command and setup was not completed. You can finish by just running fvm flutter --version

Android Studio might take a few seconds to detect the dynamic SDK change.

If you want to ignore the Flutter SDK root directory within Android Studio you can add the following to .idea/workspace.xml.

<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
...

If that doesn't work, go to Android Studio -> Preferences -> Editor -> File Types -> Ignored Files and Folders and add flutter_sdk: Android Studio Configuration