Settings
There are a number of settings for the Dart and Flutter extensions that can be modified in VS Code’s User Settings or Workspace Settings.
The settings described here are documented by their JSON keys, though most of them can also be edited in the settings UI in VS Code by clicking the Dart & Flutter section under Extensions.
- Window Scoped Settings
- dart.additionalAnalyzerFileExtensions
- dart.allowAnalytics
- dart.allowTestsOutsideTestFolder
- dart.analysisServerFolding
- dart.analyzeAngularTemplates
- dart.analyzerAdditionalArgs
- dart.analyzerSshHost
- dart.analyzerVmServicePort
- dart.autoImportCompletions
- dart.buildRunnerAdditionalArgs
- dart.checkForSdkUpdates
- dart.closingLabels
- dart.debugExtensionBackendProtocol
- dart.debugExternalLibraries
- dart.debugSdkLibraries
- dart.devToolsBrowser
- dart.devToolsPort
- dart.devToolsReuseWindows
- dart.devToolsTheme
- dart.embedDevTools
- dart.enableSdkFormatter
- dart.enableSnippets
- dart.env
- dart.evaluateToStringInDebugViews
- dart.flutterAdbConnectOnChromeOs
- dart.flutterCreateAndroidLanguage
- dart.flutterCreateIOSLanguage
- dart.flutterCreateOffline
- dart.flutterCreateOrganization
- dart.flutterCustomEmulators
- dart.flutterGutterIcons
- dart.flutterHotReloadOnSave
- dart.flutterHotRestartOnSave
- dart.flutterOutline
- dart.flutterSelectDeviceWhenConnected
- dart.flutterWebRenderer
- dart.hotReloadProgress
- dart.maxLogLineLength
- dart.notifyAnalyzerErrors
- dart.openDevTools
- dart.openTestView
- dart.previewBazelWorkspaceCustomScripts
- dart.previewCommitCharacters
- dart.previewFlutterUiGuides
- dart.previewFlutterUiGuidesCustomTracking
- dart.previewHotReloadOnSaveWatcher
- dart.previewLsp
- dart.promptToRunIfErrors
- dart.showDartPadSampleCodeLens
- dart.showDevToolsDebugToolBarButtons
- dart.showIgnoreQuickFixes
- dart.showMainCodeLens
- dart.showTestCodeLens
- dart.showTodos
- dart.triggerSignatureHelpAutomatically
- dart.updateImportsOnRename
- dart.useKnownChromeOSPorts
- dart.warnWhenEditingFilesInPubCache
- dart.warnWhenEditingFilesOutsideWorkspace
- Resource Scoped Settings
- dart.analysisExcludedFolders
- dart.analyzerPath
- dart.completeFunctionCalls
- dart.doNotFormat
- dart.enableCompletionCommitCharacters
- dart.evaluateGettersInDebugViews
- dart.flutterAdditionalArgs
- dart.flutterAttachAdditionalArgs
- dart.flutterRunAdditionalArgs
- dart.flutterScreenshotPath
- dart.flutterSdkPath
- dart.flutterSdkPaths
- dart.flutterStructuredErrors
- dart.flutterTestAdditionalArgs
- dart.flutterTrackWidgetCreation
- dart.insertArgumentPlaceholders
- dart.lineLength
- dart.promptToGetPackages
- dart.pubAdditionalArgs
- dart.runPubGetOnPubspecChanges
- dart.sdkPath
- dart.sdkPaths
- dart.showDartDeveloperLogs
- dart.vmAdditionalArgs
- Custom Color Settings
- Diagnostic Settings
Window Scoped Settings
Window scoped settings must be applied in your User Settings or at the workspace level and will apply for all projects open in a window (for example, dart.sdkPath
is used to launch an analyzer that is used for the whole window).
dart.additionalAnalyzerFileExtensions
Additional file extensions that should be analyzed (usually used in combination with analyzer plugins).
dart.allowAnalytics
Default: true
.
Whether to send analytics such as startup timings, frequency of use of features and analysis server crashes.
dart.allowTestsOutsideTestFolder
Default: false
.
Whether to consider files ending _test.dart
that are outside of the test directory as tests. This should be enabled if you put tests inside the lib
directory of your Flutter app so they will be run with flutter test
and not flutter run
.
dart.analysisServerFolding
Default: true
.
Whether to use folding data from the Dart analysis server instead of the built-in VS Code indent-based folding.
dart.analyzeAngularTemplates
Default: true
.
Whether to enable analysis for AngularDart templates (requires the Angular analyzer plugin to be enabled in analysis_options.yaml
).
dart.analyzerAdditionalArgs
Additional arguments to pass to the Dart analysis server.
dart.analyzerSshHost
An SSH host to run the analysis server. This can be useful when modifying code on a remote machine using SSHFS.
dart.analyzerVmServicePort
The port number to be used for the Dart analysis server VM service.
dart.autoImportCompletions
Default: true
.
Whether to include symbols that have not been imported in the code completion list and automatically insert the required import when selecting them.
dart.buildRunnerAdditionalArgs
Additional args to pass to the build_runner
when building/watching/serving.
dart.checkForSdkUpdates
Default: true
.
Whether to check you are using the latest version of the Dart SDK at startup.
dart.closingLabels
Default: true
.
Whether to show annotations against constructor, method invocations and lists that span multiple lines.
dart.debugExtensionBackendProtocol
Options: "sse"
or "ws"
.
Default: "ws"
.
The protocol to use for the Dart Debug Extension backend service. Using WebSockets can improve performance but may fail when connecting through some proxy servers.
dart.debugExternalLibraries
Default: false
.
Whether to mark external pub package libraries (including package:flutter
) as debuggable, enabling stepping into them while debugging.
dart.debugSdkLibraries
Default: false
.
Whether to mark Dart SDK libraries (dart:*
) as debuggable, enabling stepping into them while debugging.
dart.devToolsBrowser
Options: "chrome"
or "default"
.
Default: "chrome"
.
Whether to launch external DevTools windows using Chrome or the system default browser.
dart.devToolsPort
The port number to be used for the Dart DevTools.
dart.devToolsReuseWindows
Default: true
.
Whether to try to reuse existing DevTools windows instead of launching new ones. Only works for instances of DevTools launched by the DevTools server on the local machine.
dart.devToolsTheme
Options: "dark"
or "light"
.
Default: "dark"
.
The theme to use for Dart DevTools.
dart.embedDevTools
Default: true
.
Whether to load Dart DevTools embedded inside VS Code.
dart.enableSdkFormatter
Default: true
.
Whether to enable the automatic dart_style formatter for Dart code.
dart.enableSnippets
Default: true
.
Whether to include Dart and Flutter snippets in code completion.
dart.env
Default: {}
.
Additional environment variables to be added to all Dart/Flutter processes spawned by the Dart and Flutter extensions.
dart.evaluateToStringInDebugViews
Default: true
.
Whether to call toString() on objects when rendering them in debug views (such as the Variables, Watch and Hovers views). Only applies to views of 100 or fewer values for performance reasons.
dart.flutterAdbConnectOnChromeOs
Default: false
.
Whether to automatically run adb connect 100.115.92.2:5555
when spawning the Flutter daemon when running on Chrome OS.
dart.flutterCreateAndroidLanguage
Options: "java"
or "kotlin"
.
Default: "kotlin"
.
The programming language to use for Android apps when creating new projects using the Flutter: New Project command.
dart.flutterCreateIOSLanguage
Options: "objc"
or "swift"
.
Default: "swift"
.
The programming language to use for iOS apps when creating new projects using the Flutter: New Project command.
dart.flutterCreateOffline
Default: false
.
Whether to use offline mode when creating new projects with the Flutter: New Project command.
dart.flutterCreateOrganization
The organization responsible for your new Flutter project, in reverse domain name notation (e.g. com.google
). This string is used in Java package names and as prefix in the iOS bundle identifier when creating new projects using the Flutter: New Project command.
dart.flutterCustomEmulators
Custom emulators to show in the emulator list for easier launching. If IDs match existing emulators returned by Flutter, the custom emulators will override them.
dart.flutterGutterIcons
Default: true
.
Whether to show Flutter icons and colors in the editor gutter.
dart.flutterHotReloadOnSave
Default: true
.
Whether to automatically send a Hot Reload request during a debug session when saving files.
dart.flutterHotRestartOnSave
Default: true
.
Whether to automatically send a Hot Restart request during a debug session when saving files if Hot Reload is not available but Hot Restart is.
dart.flutterOutline
Default: true
.
Whether to show the Flutter Outline tree in the sidebar.
dart.flutterSelectDeviceWhenConnected
Default: true
.
Whether to set newly connected devices as the current device in Flutter projects.
dart.flutterWebRenderer
Options: "auto"
, "html"
or "canvaskit"
.
Default: "auto"
.
Sets the Web renderer used for Flutter web apps.
auto
- allow Flutter to pick the best renderer based on the users device.html
- always use the HTML renderer.canvaskit
- always use the CanvasKit renderer.
dart.hotReloadProgress
Options: "notification"
or "statusBar"
.
Default: "notification"
.
Determines how to display Hot Restart and Hot Reload progress.
dart.maxLogLineLength
Default: 2000
.
The maximum length of a line in the log file. Lines longer than this will be truncated and suffixed with an ellipsis.
dart.notifyAnalyzerErrors
Default: true
.
Whether to show a notification the first few times an analysis server exception occurs.
dart.openDevTools
Options: "never"
, "flutter"
or "always"
.
Default: "never"
.
Whether to automatically open DevTools at the start of a debug session.
dart.openTestView
Default: [testRunStart]
.
When to automatically switch focus to the test list (array to support multiple values).
dart.previewBazelWorkspaceCustomScripts
Default: false
.
EXPERIMENTAL: Whether to look for custom script definitions at dart/config/intellij-plugins/flutter.json
in Bazel workspaces. Currently supported for macOS and Linux only.
dart.previewCommitCharacters
Default: false
.
EXPERIMENTAL: Whether to enable commit characters for the LSP server. In a future release, the dart.enableCompletionCommitCharacters
setting will also apply to LSP.
dart.previewFlutterUiGuides
Default: false
.
Whether to enable the Flutter UI Guides preview.
dart.previewFlutterUiGuidesCustomTracking
Default: false
.
Whether to enable custom tracking of Flutter UI guidelines (to hide some latency of waiting for the next Flutter Outline).
dart.previewHotReloadOnSaveWatcher
Default: false
.
Whether to perform hot reload on save based on a filesystem watcher for Dart files rather than using VS Code’s onDidSave
event. This allows reloads to trigger when external tools modify Dart source files.
dart.previewLsp
Default: false
.
Whether to run the analyzer in LSP mode (requires restart).
dart.promptToRunIfErrors
Default: true
.
Whether to prompt before running if there are errors in your project. Test scripts will be excluded from the check unless they’re the script being run.
dart.showDartPadSampleCodeLens
Default: true
.
Whether to show CodeLens actions in the editor for opening online DartPad samples.
dart.showDevToolsDebugToolBarButtons
Default: true
.
Whether to show DevTools buttons in the Debug toolbar.
dart.showIgnoreQuickFixes
Default: true
.
Whether to show quick fixes for ignoring hints and lints.
dart.showMainCodeLens
Default: true
.
Whether to show CodeLens actions in the editor for quick running / debugging scripts with main functions.
dart.showTestCodeLens
Default: true
.
Whether to show CodeLens actions in the editor for quick running / debugging tests.
dart.showTodos
Default: true
.
Whether to show TODOs in the Problems list.
dart.triggerSignatureHelpAutomatically
Default: false
.
Whether to automatically trigger signature help when pressing keys such as , and (.
dart.updateImportsOnRename
Default: true
.
Whether to automatically update imports when moving or renaming files. Currently only supports single file moves / renames.
dart.useKnownChromeOSPorts
Default: true
.
Whether to use specific ports for the VM service and DevTools when running in Chrome OS. This is required to connect from the native Chrome OS browser but will prevent apps from launching if the ports are already in-use (for example if trying to run a second app).
dart.warnWhenEditingFilesInPubCache
Default: true
.
Whether to show a warning when modifying files in the system package cache directory.
dart.warnWhenEditingFilesOutsideWorkspace
Default: true
.
Whether to show a warning when modifying files outside of the workspace.
Resource Scoped Settings
Resource scoped settings can be set in individual workspace folder settings and apply to resources within that workspace folder (for example each workspace folder could have its own dart.lineLength
).
dart.analysisExcludedFolders
An array of paths to be excluded from Dart analysis. This option should usually be set at the Workspace level. Excluded folders will also be ignored when detecting project types.
dart.analyzerPath
The path to a custom Dart analysis server.
dart.completeFunctionCalls
Default: true
.
Whether to insert parentheses and parameter placeholders during code completions when using LSP. This feature is automatically disabled if commit characters are enabled.
dart.doNotFormat
An array of glob patterns that should be excluded for formatting. The pattern is matched against the absolute path of the file. Use **/test/**
to skip formatting for all test directories.
dart.enableCompletionCommitCharacters
Default: false
.
Whether to automatically commit the selected completion item when pressing certain keys such as . , ( and [. This setting does not currently apply to LSP, see dart.previewCommitCharacters
.
dart.evaluateGettersInDebugViews
Default: true
.
Whether to evaluate getters in order to display them in debug views (such as the Variables, Watch and Hovers views).
dart.flutterAdditionalArgs
Additional args to pass to all flutter
commands.
dart.flutterAttachAdditionalArgs
Additional args to pass to the flutter attach
command.
dart.flutterRunAdditionalArgs
Additional args to pass to the flutter run
command.
dart.flutterScreenshotPath
The path to a directory to save Flutter screenshots.
dart.flutterSdkPath
The location of the Flutter SDK to use. If blank, Dart Code will attempt to find it from the project directory, FLUTTER_ROOT
environment variable and the PATH
environment variable.
dart.flutterSdkPaths
An array of paths that either directly point to a Flutter SDK or the parent directory of multiple Flutter SDKs. When set, the version number in the status bar can be used to quickly switch between SDKs.
dart.flutterStructuredErrors
Default: true
.
Whether to use Flutter’s structured error support for improved error display.
dart.flutterTestAdditionalArgs
Additional args to pass to the flutter test
command.
dart.flutterTrackWidgetCreation
Default: true
.
Whether to pass --track-widget-creation
to Flutter apps (required to support ‘Inspect Widget’). This setting is always ignored when running in Profile or Release mode.
dart.insertArgumentPlaceholders
Default: true
.
Whether to insert argument placeholders during code completions. This feature is automatically disabled when enableCompletionCommitCharacters
is enabled. This setting does not apply to LSP, instead see the dart.completeFunctionCalls
setting.
dart.lineLength
Default: 80
.
The maximum length of a line of code. This is used by the document formatter.
dart.promptToGetPackages
Default: true
.
Whether to prompt to get packages when opening a project with out of date packages.
dart.pubAdditionalArgs
Additional args to pass to all pub commands.
dart.runPubGetOnPubspecChanges
Default: true
.
Whether to automatically run pub get
whenever pubspec.yaml
is saved.
dart.sdkPath
The location of the Dart SDK to use for analyzing and executing code. If blank, Dart Code will attempt to find it from the PATH
environment variable. When editing a Flutter project, the version of Dart included in the Flutter SDK is used in preference.
dart.sdkPaths
An array of paths that either directly point to a Dart SDK or the parent directory of multiple Dart SDKs. When set, the version number in the status bar can be used to quickly switch between SDKs.
dart.showDartDeveloperLogs
Default: true
.
Whether to show logs from the dart:developer
log()
function in the debug console.
dart.vmAdditionalArgs
Additional args to pass to the Dart VM when running/debugging command line apps.
Custom Color Settings
Some colors in Dart Code can be customized using the workbench.colorCustomizations
section in settings. Supported colors are:
dart.closingLabels
The color of the ‘closing label’ annotations shown against constructor, method invocations and lists that span multiple lines. If not supplied, the color for tab.inactiveForeground
will be used.
Diagnostic Settings
There are several settings for enabling logging of various services used by Dart Code. For more information about setting these up and troubleshooting please see Enabling Logging.
dart.analyzerDiagnosticsPort
The port number to be used for the Dart analyzer diagnostic server.
dart.analyzerInstrumentationLogFile
The path to a log file for very detailed logging in the Dart analysis server that may be useful when trying to diagnose analysis server issues. For more information on capturing these logs, see Analyzer Instrumentation Logging.
dart.analyzerLogFile
The path to a log file for communication between Dart Code and the analysis server. For more information on capturing these logs, see Analyzer Logging.
dart.devToolsLogFile
The path to a low-traffic log file for the Dart DevTools service.
dart.extensionLogFile
The path to a low-traffic log file for basic extension and editor issues. For more information on capturing these logs, see Extension Logging.
dart.flutterDaemonLogFile
The path to a log file for the flutter daemon
service, which provides information about connected devices to show in the status bar. For more information on capturing these logs, see Flutter Daemon Logging.
dart.flutterRunLogFile
The path to a log file for flutter run
, which is used to launch Flutter apps from VS Code. This is useful when trying to diagnose issues with apps launching (or failing to) on simulators and devices. Use ${name}
in the log file name to prevent concurrent debug sessions overwriting each others logs. For more information on capturing these logs, see Flutter Run Logging.
dart.flutterTestLogFile
The path to a log file for flutter test
, which is used to run unit tests from VS Code. This is useful when trying to diagnose issues with unit test executions. Use ${name}
in the log file name to prevent concurrent debug sessions overwriting each others logs. For more information on capturing these logs, see Flutter Test Logging.
dart.pubTestLogFile
The path to a log file for Dart test runs. This is useful when trying to diagnose issues with unit test executions. Use ${name}
in the log file name to prevent concurrent debug sessions overwriting each others logs. For more information on capturing these logs, see Pub Test Logging.
dart.vmServiceLogFile
The path to a log file for communication between Dart Code and the VM service. This is useful when trying to diagnose issues with debugging such as missed breakpoints. Use ${name}
in the log file name to prevent concurrent debug sessions overwriting each others logs.
dart.webDaemonLogFile
The path to a log file for communication between Dart Code and the webdev daemon. This is useful when trying to diagnose issues with launching web apps. Use ${name
} in the log file name to prevent concurrent debug sessions overwriting each others logs.