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.