A prebuilt Dart SDK is available for IDE consumption at: prebuilt/third_party/dart/{linux|mac|windows}-x64/bin/dart.
Download and install Visual Studio Code
(Optional) Setup VS Code to launch from the command line
For macOS: To allow running VS Code from the terminal using the code command, see Launching from the command line.
For Linux and Windows: This should already be done as part of the installation
Install the following extensions:
To improve your productivity for Dart in VS Code, you can set some useful settings.
To add the settings:
Note: This configuration file is a JSON file. Make sure that you properly use curly braces.
"editor.formatOnSave": true,
"dart.checkForSdkUpdates": false,
"dart.sdkPath": "/path/to/fuchsia/prebuilt/third_party/dart/linux-x64/bin/dart",
Note: For macOS, replace linux-x64 with mac-x64 in your supplied value for dart.sdkPath.
"dart.runPubGetOnPubspecChanges": false,
"[dart]": { "editor.rulers": [80], "editor.tabSize": 2 },
Settings > Plugins then searching for Dart language support.Settings > Languages & Frameworks > Dart byIf you find that the IDE is unable to find imports (red squigglies) that are already correctly in your BUILD.gn dependencies, this is usually a sign that Dart analysis is not working properly in your IDE.
When this happens, try the following:
E.g. only open /topaz/shell/ermine instead of /topaz. The analyzer can have issues with really large source trees.
.packages and pubspec.lock files in your project (if present)."dart.runPubGetOnPubspecChanges": false, is present in your VS Code preferences to prevent the files from reappearing whenever a pubspec.yaml file is edited.Delete /out from your Fuchsia directory and rebuild. Dart FIDL bindings are build-generated and may be absent.
Any Dart code from packages not included in your build will not be available to the analyzer, so ensure your build configuration (fx set) includes all the packages you need (the --with flag can be helpful.)
For example, to view the echo_client_async example Dart code in VS Code, add --with examples/fidl/dart/echo_client_async_dart to your fx set command. Then, rebuild with fx build examples/fidl/dart/echo_client_async_dart.
Manually reloading the analyzer is often needed after modifying FIDLs.
This also restarts the Dart analyzer.
See the recommended VS Code options above.