适用于 Fuchsia 的其他 VS Code 扩展程序

以下 VS Code 扩展程序可以为 Fuchsia 提供高效的开发环境:

Fuchsia 专属官方扩展程序

特定于 Fuchsia 的扩展程序支持使用 Fuchsia 软件和系统。Fuchsia 项目目前支持这些扩展程序。

VS Code 版 Fuchsia 扩展程序

VS Code 的 Fuchsia 扩展程序支持调试 Fuchsia 设备、日志记录和语法突出显示。此扩展程序是 Fuchsia 的官方扩展程序,可与源代码树和 SDK 搭配使用。如需了解详情,请参阅 Fuchsia 开发者扩展程序页面

此图显示了 Visual Studio Code 市场中 fuchsia 开发者扩展程序的图片

社区提供的扩展程序

这些扩展程序由 Fuchsia 贡献者开发。列出的扩展程序不受支持,且可能与官方 Fuchsia 开发者扩展程序冲突。建议使用 Fuchsia 开发者扩展程序

Fuchsia.git 帮助程序

Fuchsia.git Helper 添加了一个“Open in...”(打开方式),使您能够在 OSS 代码搜索中打开文件。

若要使用此扩展程序,请按以下步骤操作:

  1. 在文件编辑器中右键点击某个文件。
  2. 选择 Open in OSS Code Search(在 OSS 代码搜索中打开)。

此图显示了用于在 OSS 代码搜索中打开文件的 VS Code 菜单。

FuchsiAware

FuchsiAware 协助浏览 Fuchsia 工件,例如通过从组件网址链接到组件清单。

此图显示了 VS Code 中指向 fuchsia-pkg 网址的超链接。

构建系统扩展

GN

GN 为 GN 文件添加了语法突出显示功能。

此图显示了 VS Code 中 GN 文件的语法突出显示。

GNFormat

GNFormat 提供 GN 文件格式。

您可能需要使用 GN 二进制文件和 Buildtools 的文件路径来配置 GNFormat。请执行以下操作:

  1. 在 VS Code 中,运行 CMD/CTRL + P 以启动 Quick Open
  2. 在搜索字段中输入 settings
  3. 点击偏好设置:打开设置 (JSON)
  4. 添加以下配置并重启 VS Code:
"gnformat.path.gn": "FILE_PATH",
"gnformat.path.buildtools": "BUILD_TOOLS_PATH"

常规工作流扩展程序

使用 Fuchsia 时,常规工作流扩展程序可提供整个高效的工作流。

GitLens

GitLens 提供高度可定制的 Git 历史记录数据洞见,让您能够了解代码演变情况。

此图显示了 VS Code 中的 Git 提交历史记录的叠加层。

特定语言的扩展程序

FIDL 语言支持

FIDL 语言支持FIDL 格式提供了语法支持和基于 LSP 的语言功能。

此图显示了 VS Code 中 FIDL 文件的语法突出显示。

JSON5

在某些情况下,您可以使用以 JSON5 编写的结构化配置来处理 Fuchsia 组件。JSON5 为 JSON5 文件添加了语法突出显示功能。

此图显示了 VS Code 中 JSON5 文件的语法突出显示。

Rust 分析器

Rust-analyzer 是 Rust 语言的一种语言服务器协议 (LSP) 实现。

如需将 rust-analyzer 与 VS Code 搭配使用,Fucsia 建议:

配置工作流

使用 fuchsia.code-workspace 配置文件将为在 Fuchsia 上使用 rust-analyzer 设置建议的默认值。如果您未使用工作区文件,可能需要将以下设置添加到 settings.json


  // disable cargo check on save
  "rust-analyzer.checkOnSave.enable": false,
  "rust-analyzer.checkOnSave.allTargets": false,

  // workaround for https://fxbug.dev/42053708
  // needed if you see errors about extension host crashing
  "rust-analyzer.files.watcher": "server",

此外,您可能需要配置较小的提示并隐藏参数提示,以优化工作区:


  // optional: only show summary docs for functions (keeps tooltips small)
  "rust-analyzer.callInfo.full": false,
  // optional: don't activate parameterHints automatically
  "editor.parameterHints.enabled": false,

启用 rustfmt

rust-analyzer 扩展依赖于 rustup 安装程序来调用 rustfmt,这是一个用于根据样式准则设置 Rust 代码格式的工具。

如需使用 Fuchsia 源代码配置 rustup,请运行以下命令:

rustup toolchain link fuchsia FUCHSIA_DIR/prebuilt/third_party/rust/HOST_OS

配置 rustup 后,rust-analyzer 扩展支持通过 Fuchsia 的 Rust 样式指南 rustfmt.toml 进行其他配置。

按照配置工作流中的相同步骤,将以下代码段添加到 settings.json


    // use fuchsia toolchain and fuchsia's rules for rustfmt:
    "rust-analyzer.rustfmt.extraArgs": [
        "+fuchsia",
        "--config-path=FUCHSIA_DIR/rustfmt.toml"
    ],

Fuchsia SDK 扩展

Bazel

Fuchsia SDK 使用 Bazel 构建系统。Bazel 扩展程序可以直接在 VS Code 中构建和运行组件。

此图显示了 VS Code 中成功执行的 Bazel 构建。