Flutter Local Build for VS Code

Flutter Local Build for VS Code adds editor support for .local-build.yaml and runs
the installed local_build CLI without
duplicating its build logic.
Features
- Inline YAML diagnostics for unknown fields, missing required fields, invalid
types, invalid enum values, empty applications, and incomplete publishers.
- Context-aware completion for every Flutter Local Build field and accepted enum value.
- Hover documentation with defaults and field behavior.
- Validation for
.local-build.yaml, .local-build.yml, and the workspace path
configured through localBuild.config.
- Commands to run or preview Flutter Local Build in a VS Code terminal.
- A Flutter Local Build icon in the Activity Bar with profile, action, platform,
publication, Run, Preview, and Open Config controls.
- Profile and multi-app choices loaded directly from the configured Flutter Local Build
YAML file.
Linting, completion, and hover support are powered by the bundled Flutter Local Build
JSON Schema and YAML by Red Hat,
which is installed as an extension dependency.
Requirements
Install the CLI and confirm it is available:
dart pub global activate local_build
local_build --help
The extension does not install Flutter, Shorebird, provider credentials, or the
CLI itself.
Commands
Flutter Local Build: Run prompts for a profile, Flutter build/Shorebird release/
Shorebird patch action, platform, and Android artifact format, then starts the
CLI in a terminal.
Flutter Local Build: Preview runs the same flow with --dry-run.
Flutter Local Build: Open Config opens the configured YAML file.
Activity Bar
Select the Flutter Local Build icon in VS Code's Activity Bar to open the Build Runner
sidebar. Choose a profile, one or more applications, an action, a platform, and
an Android AAB/APK artifact format before running or previewing the CLI. All
configured applications are selected by default; clear
the applications you do not want to build.
Flutter builds and Shorebird releases automatically add --publish, so every
enabled publisher that supports the generated artifact runs. The Android artifact selector adds
--android-artifact aab or --android-artifact apk. Google Drive accepts AAB,
APK, and IPA; Firebase App Distribution accepts Android AAB/APK and iOS IPA
when the matching Firebase App ID is configured; Play Console accepts Android
AAB/APK; and TestFlight accepts iOS IPA.
Shorebird patches do not add --publish because Shorebird delivers them
directly. Shorebird Android release and patch workflows require AAB, so the
artifact selector is fixed to AAB for those actions.
The action mapping is:
| Sidebar action |
CLI command |
| Flutter build |
local_build build |
| Shorebird release |
local_build build --enable-shorebird |
| Shorebird patch |
local_build patch |
The sidebar is a UI for the same terminal command; it does not contain separate
build logic.
Settings
| Setting |
Default |
Description |
localBuild.executable |
local_build |
Executable or command used to launch the CLI. |
localBuild.config |
.local-build.yaml |
Workspace-relative configuration path. The YAML schema also follows this filename. |
localBuild.yamlValidation |
true |
Enables schema validation, completion, and hover support. |
YAML support
The bundled schema mirrors configuration version 1 of the Dart package. It
covers apps, profiles, Dart defines, versioning, Google Drive, Play Console,
TestFlight, Firebase App Distribution (including group aliases and automated
testing), arbitrary shared/Android/iOS build arguments, and the separate
root-level notifiers section for Slack and SMTP.
The Dart CLI remains authoritative at runtime. Update the extension alongside
the CLI when a future configuration version adds or changes fields.
Development and extension coverage
npm install
npm test
npm run test:coverage
npm run package
Extension coverage is independent of the Dart package coverage. The coverage
command tests the command wrapper, YAML registration, filename matching, and
the actual schema against valid and invalid YAML fixtures, with 100% line,
function, and branch thresholds for src/**/*.js.
Flutter Local Build is an open-source project by Pycify.
See pycify/local_build for releases,
contribution guidelines, security reporting, and the MIT license.