Fuchsia 中的 Dart IDE
Dart SDK
一个预构建的可供 IDE 使用的 Dart SDK 位于:prebuilt/third_party/dart/{linux|mac|windows}-x64/bin/dart
。
Visual Studio Code
- 下载并安装 Visual Studio Code
(可选)配置 VS Code 从命令行启动
对于 macOS:为了允许从命令行运行 VS Code,可以查看 从命令行启动。
对于 Linux 和 Windows:这是安装程序已经做好的一部分了。
安装以下扩展插件:
- Dart Code: 提供 Dart 编程支持。它会在 Fuchsia 树中自动找到 dart-sdk。
- FIDL language support: 提供 Fuchsia 的 FIDL 文件语法高亮支持
- GN: GN 构建文件的语法高亮支持
- 可选但有用的 git 拓展插件:
- Git Blame: 在状态栏查看 git 逐行追溯信息
- Git History: 查看 git 日志、文件历史等
为了提高在 VS Code 中使用 Dart 的效率,您可以设置一些有用的设置。
要增加设置:
- 打开您的用户设置 (Ctrl+,)
- 点击左上角的导航页图标 (macOS 是右上角)
- 添加:
注意:该配置文件是一个 JSON 文件。请确保您正确的使用了花括号。
- 在您保存时自动格式化您的文件:
"editor.formatOnSave": true,
- 检查新的 Fuchsia SDK 更新:
"dart.checkForSdkUpdates": false,
- 配置 VS Code 使用 Dart SDK 套装:
"dart.sdkPath": "/path/to/fuchsia/prebuilt/third_party/dart/linux-x64/bin/dart",
注意:对于 macOS,请在您的 dart.sdkPath
提供值中使用 mac-x64
替换 linux-x64
。
- 不要在 fuchsia 上运行 pub。
"dart.runPubGetOnPubspecChanges": false,
- 配置单行宽度上限为 80 个字符,tab 宽度为 2 个空格
"[dart]": {
"editor.rulers": [80],
"editor.tabSize": 2
},
CLion/IntelliJ
- 通过转到
Settings(设置)> Plugins(插件)
然后搜索 Dart language support(Dart 语言支持)来添加 Dart 插件。 - 在
Settings(设置)> Languages & Frameworks(语言和框架) > Dart
中通过以下步骤设置 Dart 路径:- 检查 Enable Dart support for the project
。 - 输入 Dart SDK 路径“${FUCHSIA_SRC}/third_party/dart/tools/sdks/dart-sdk”
- 检查 Enable Dart support for the project
疑难解答
如果您发现 IDE 无法在您的 BUILD.gn 依赖项中找到已经正确的导入(红色波浪线),这通常表明 Dart 分析未在您的 IDE 中正常工作。
发生这种情况时,请尝试以下操作:
仅打开您正在处理的项目目录
例如:只打开 /topaz/shell/ermine
而不是 /topaz
。分析器在处理非常大的源码树时可能会出问题。
删除 pub 输出
- 在您的项目中删除
.packages
和pubspec.lock
文件(如果存在的话); - 确保在你的 VS Code 首选项中存在
"dart.runPubGetOnPubspecChanges": false,
以防止pubspec.yaml
文件改动后前述文件再次出现; - 重载 VS Code 使 Dart 分析器重启;
- 按 Ctrl+Shift+P 打开 VS Code 的命令面板
- 选择“Reload Window(重新加载窗口)”
重构
在你的 Fuchsia 目录下删除 /out
并重构。
Dart FIDL 绑定是构建生成的,可能不存在。
确保您的构建包含了所有的包
分析器将无法使用任何未包含在您的构建中的包中的 Dart 代码,所以请确保您的构建配置 (fx set
) 包含您需要的所有包(--with
标志可能会有所帮助。)
举个例子:要在 VS Code 中查看 echo_client_async
示例的 Dart 代码,请将 --with examples/fidl/dart/echo_client_async_dart
添加到您的 fx set
命令之后。然后,使用 fx build examples/fidl/dart/echo_client_async_dart
重构建。
重载 Dart 分析器
修改 FIDL 后通常需要手动重新加载分析器。
VS Code
- 打开命令面板 (Ctrl+Shift+P)
- 输入并选择“Reload Window(重新加载窗口)”
这将会重启 Dart 分析器
IntelliJ
- 打开查找操作 (Find Action) (Ctrl+Shift+A)
- 输入并选择“Restart Dart Analysis Server”
检查是否已为当前文件类型检测到正确的语言
- 在 VS Code 上使用 Ctrl+Shift+P 然后输入“Change Language Mode(更改语言模式)”并确保它设置为“Auto Detect”。
- 如果这不能解决问题,您可以尝试通过 Ctrl+Shift+P 并选择 “为 .dart 配置文件关联” (”Configure file association for .dart”)手动修复。
手动指定 Dart sdk 路径
VS Code
请参阅上面推荐的 VS Code 选项。
IntelliJ
- Open Settings
Under Languages & Frameworks > Dart, enter “[YOUR FUCHSIA DIR LOCATION]/prebuilt/third_party/dart/{mac,linux}-x64”
打开设置
- 在 Languages & Frameworks(语言和框架)> Dart 下面,输入 “[YOUR FUCHSIA DIR LOCATION]/prebuilt/third_party/dart/{mac,linux}-x64”